繁体   English   中英

如何使用 Scala 在一个列表中合并多个火花 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.

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