如何在Spark Java中使用dataframe基于其他列构造列?
我需要根据其他列制作一个列。我有一个数据帧DF1:如何在Spark Java中使用dataframe基于其他列构造列?,java,dataframe,apache-spark,apache-spark-sql,Java,Dataframe,Apache Spark,Apache Spark Sql,我需要根据其他列制作一个列。我有一个数据帧DF1: --------------------- a | b | c | ------|------|------| value1|value2|value3| ------|------|------| 预期的结果是,我添加了一个d列,其中a、b和c列的值以“|”分隔: 如何使用dataframe在Spark Java中实现这一点?使用expr(“concat(“|,*”)”),检查下面的代码 import org.apach
---------------------
a | b | c |
------|------|------|
value1|value2|value3|
------|------|------|
预期的结果是,我添加了一个d列,其中a、b和c列的值以“|”分隔:
如何使用dataframe在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|
+------+------+------+--------------------+
expr
在org.apache.spark.sql.functions包中可用,请尝试导入到代码中。
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|
+------+------+------+--------------------+