Spark: adicione coluna ao dataframe condicionalmente

Estou tentando pegar meus dados de entrada:

A    B       C
--------------
4    blah    2
2            3
56   foo     3

E adicione uma coluna ao final com base em se B está vazio ou não:

A    B       C     D
--------------------
4    blah    2     1
2            3     0
56   foo     3     1

Eu posso fazer isso facilmente registrando o quadro de dados de entrada como uma tabela temporária e digitando uma consulta SQL.

Mas eu realmente gostaria de saber como fazer isso apenas com métodos Scala e sem precisar digitar uma consulta SQL no Scala.

eu tentei.withColumn, mas não consigo fazer o que eu quero.

questionAnswers(3)

yourAnswerToTheQuestion