![](/img/trans.png)
[英]scala spark, how do I merge a set of columns to a single one on a dataframe?
[英]How to merge multiple spark dataframe columns in one list useing Scala?
我在 Scala 中有以下 Spark dataframe:
+---------+--------------------+--------------------+--------------------+
| id| col_str_1| col_str_2| col_list|
+---------+--------------------+--------------------+--------------------+
| 1| A| C| [E, F]|
| 2| B| D| [G, H]|
+---------+--------------------+--------------------+--------------------+
其中 col_str_1 和 col_str_2 属于 Stirng 类型,而 col_list 属于 List[String] 类型。
我想要一种方法将此 dataframe 转换为以下内容:
+---------+--------------------+
| id| col_list|
+---------+--------------------+
| 1| [E, F, A, C]|
| 2| [G, H, B, D]|
+---------+--------------------+
任何想法? 谢谢你。
您可以使用concat
将 append 元素连接到数组列:
val df2 = df.select(
col("id"),
concat(
col("col_list"),
array(col("col_str_1"), col("col_str_2"))
).as("col_list")
)
df2.show
+---+------------+
| id| col_list|
+---+------------+
| 1|[E, F, A, C]|
| 2|[G, H, B, D]|
+---+------------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.