我正在尝试获取输入数据:
A B C
--------------
4 blah 2
2 3
56 foo 3
并根据b是否为空在末尾加一列:
A B C D
--------------------
4 blah 2 1
2 3 0
56 foo 3 1
我可以通过将输入dataframe注册为temp表,然后键入sql查询来轻松地完成这项工作。
但我很想知道如何只使用scala方法而不必在scala中键入sql查询。
我试过了 .withColumn
但我不能让它做我想做的事。
3条答案
按热度按时间im9ewurl1#
像这样的怎么样?
使用
take(1)
应该有一个最小的打击093gszye2#
我的错是,我漏掉了问题的一部分。
最好,最干净的方法是使用
UDF
. 代码内的解释。rmbxnbpk3#
尝试
withColumn
使用函数when
具体如下:+---+----+---+---+
| A| B| C| D|
+---+----+---+---+
| 4|blah| 2| 1|
| 2| | 3| 0|
| 56| foo| 3| 1|
|100|null| 5| 0|
+---+----+---+---+