我需要在其他列的基础上创建一个列。我有这个数据帧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|
+------+------+------+--------------------+