Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Spark Java中使用dataframe基于其他列构造列?_Java_Dataframe_Apache Spark_Apache Spark Sql - Fatal编程技术网

如何在Spark Java中使用dataframe基于其他列构造列?

如何在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

我需要根据其他列制作一个列。我有一个数据帧DF1:

---------------------
  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|
+------+------+------+--------------------+