简体   繁体   English

如何在 Spark Java 中使用数据框构建基于其他列的列?

[英]How to construct a column based on other columns using dataframe in Spark Java?

I need to make a column based on other columns.我需要根据其他列创建一个列。 I have this dataframe DF1:我有这个数据框 DF1:

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

The expected result is that I add a column d with the values of the columns a, b and c separated with "|":预期的结果是我添加了一个列 d,其中列 a、b 和 c 的值以“|”分隔:

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

How can I do this in Spark Java using dataframe?如何使用数据帧在 Spark Java 中执行此操作?

Use expr("concat('|',*)") , Check below code.使用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|
+------+------+------+--------------------+

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM