【发布时间】:2017-10-20 22:28:35
【问题描述】:
我是 Scala Spark 的程序员,但我需要在 Python 中使用 PySpark 在项目中做一些事情。 我想知道如何在 PySpark 中使用自定义行 => 行映射转换。
例如:我有一个数据框 mydf:
id x1, x2
1 5 3
2 4 6
3 9 10
我想将此数据帧转换为另一个数据帧,并在每一行上进行映射操作。
所以我设计了一个 map 函数,它将一行作为输入,并生成一个新行作为输出。所以它是一个 Row => Row map:
def mySum (row):
id = row.id
result = row.x1 + row.x2
return Row(id, result)
然后我想在 python 中使用某种方式,这类似于我在 Scala 中所做的
mynewdf = mydf.map( x=> mySum(x))
所以预期的结果是这样的:
id result
1 8
2 10
3 19
实际上,自定义函数很复杂,所以我需要一个单独的函数来描述它。
如何在 Python 中使用 PySpark 执行此操作。谢谢,
【问题讨论】:
标签: python apache-spark pyspark