【发布时间】:2021-09-02 15:28:59
【问题描述】:
下面的代码如何连接列表中的多个值?
concat(myList.map(fld => col(fld)): _*)
【问题讨论】:
-
什么问题? ":_*" - 将数组转换为可变参数:stackoverflow.com/questions/6051302/… ?
标签: scala apache-spark apache-spark-sql scala-collections
下面的代码如何连接列表中的多个值?
concat(myList.map(fld => col(fld)): _*)
【问题讨论】:
标签: scala apache-spark apache-spark-sql scala-collections
根据 Spark documentation,concat 函数的签名是 concat(col1, col2, ..., colN)。鉴于您的列表包含列名,即:c1, c2 ... cN、map 会将其中的每一个转换为 Column 类对象。使用col 函数完成转换。最后,_* 将解包(转换为 Column)列表项,类似于 python 的 * operator 的工作方式,分配 concat 参数。
【讨论】: