如何在Spark Java中使用数据帧在其他列的基础上构建列



我需要在其他列的基础上创建一个列。我有这个数据帧DF1:

---------------------
a   | b    | c    |
------|------|------|
value1|value2|value3|
------|------|------|

预期的结果是我加上一列d,其中列a、b和c的值用"0"分隔|":

------------------------------------------
a   | b    | c    | d
------|------|------|---------------------
value1|value2|value3|value1|value2|value3
------|------|------|---------------------

如何使用数据帧在Spark Java中实现这一点?

使用expr("concat('|',*)"),检查以下代码。

import org.apache.spark.sql.functions.expr
df.withColumn("d",expr("concat_ws('|',*)")).show(false)
+------+------+------+--------------------+
|a     |b     |c     |d                   |
+------+------+------+--------------------+
|value1|value2|value3|value1|value2|value3|
+------+------+------+--------------------+

最新更新