[英]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.