spark sql 多列合并

Spark SQL支持将多个列合并为一个列。可以使用concat_ws函数实现该功能。该函数的第一个参数是分隔符,其余参数是要合并的列。下面是一个示例:

val df = Seq(("A", "B", "C"),("D", "E", "F")).toDF("col1", "col2", "col3")
df.show()
//+----+----+----+
//|col1|col2|col3|
//+----+----+----+
//|   A|   B|   C|
//|   D|   E|   F|
//+----+----+----+
val result = df.select(concat_ws("-", $"col1", $"col2", $"col3").as("new_col"))
result.show()
//+-------+
//| new_col|
//+-------+
//|A-B-C   |
//|D-E-F   |
//+-------+

在这个示例中,我们使用了concat_ws函数将三个列合并为一个新列,并使用as方法将其命名为“new_col”。

  •