繁体   English   中英

如何将字符串列表或数组作为列添加到 Spark Dataframe

[英]How to add a list or array of strings as a column to a Spark Dataframe

所以,我有n个字符串,可以保存在数组或列表中,如下所示:

val checks = Array("check1", "check2", "check3", "check4", "check5")
val checks: List[String] = List("check1", "check2", "check3", "check4", "check5")

现在,我有一个火花 dataframe df ,我想添加一个包含此列表/数组中存在的值的列。 (保证我的 List/Array 中的项目数将完全等于 dataframe 中的行数,即n

我试过这样做: df.withColumn("Value", checks)但这没有用。 实现这一目标的最佳方法是什么?

您需要将其添加为数组列,如下所示:

val df2 = df.withColumn("Value", array(checks.map(lit):_*))

如果你想要每一行都有一个值,你可以得到数组元素:

val df2 = df.withColumn("Value", array(checks.map(lit):_*))
            .withColumn("rn", row_number().over(Window.orderBy(lit(1))) - 1)
            .withColumn("Value", expr("Value[rn]"))
            .drop("rn")

暂无
暂无

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

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