我有size
并在其上运行DataFrame
。
在map函数中,我试图将一个新字段附加到给定的行。
我该怎么做?
flatMap
答案 0 :(得分:0)
想出来,但我不确定这是不是正确的方法。
def mapper(row):
from pyspark.sql import Row
value = 0 #some computation here
data = row.asDict()
data["newvalue"] = value
return Row(**data)
答案 1 :(得分:0)
在你的带领下,我创造了更灵活的东西,我希望它有所帮助:
from pyspark.sql import Row
def addRowColumn(row, **kwargs):
rowData = row.asDict()
for column in kwargs:
rowData[column] = kwargs[column]
return Row(**rowData)
要在一行中使用它,只需像这样调用:
modifiedRow = addRowColumn(originalRow, test="Hello Column!")
要在整个数据集上运行,只需创建一个udf来更改每一行。