传递列表项作为 withColumn (Pyspark) 的输入

Posted

技术标签:

【中文标题】传递列表项作为 withColumn (Pyspark) 的输入【英文标题】:Pass list item as input for withColumn (Pyspark) 【发布时间】:2020-01-13 16:02:30 【问题描述】:

在我想要调整字段内容的 Spark Dataframe 上工作。调整的输入来自一个列表,但是,当我将列表中的信息作为参数传递时,我得到一个错误:

AssertionError: col 应该是 Column

fld = ["As_Of_Date","date_format('As_Of_Date,'yyyyMMdd')"]

df.withColumn(fld[0],fld[1])

如果我在没有列表的情况下直接传递它,它确实有效。我做错了什么,我应该改变什么才能让它工作?

【问题讨论】:

【参考方案1】:

这里不需要引用函数date_format

fld = ['As_Of_Date',date_format('As_Of_Date','yyyyMMdd')]
df = df.withColumn(fld[0],fld[1])

【讨论】:

检查编辑..分配给数据框的转换列丢失,已添加。

以上是关于传递列表项作为 withColumn (Pyspark) 的输入的主要内容,如果未能解决你的问题,请参考以下文章

如何将列表传递给pyspark中的selectExpr方法?

如何将列表框选定项作为按钮中的命令参数传递?

Spark是否会通过数据传递多个withColumn?

“withColumn”的 Spark Date 列初始值设定项?

使用 PySpark 中的列表中的 withColumn 函数动态创建新列

获取当前滚动位置并将其作为带有链接的变量传递?