首页 > 解决方案 > 将 Scala RDD 映射函数转换为 Pyspark

问题描述

我正在尝试将以下函数从 Scala 转换为 Pyspark::

DF.rdd.map(args => (args(0).toString, args.mkString("|"))).take(5)

为此,我正在制作以下地图功能:

DF.rdd.map(lambda line: ",".join([str(x) for x in line])).take(5)

但是 Scala 代码给了我数组结构,而在 Python 中我得到了一个分隔的结果。

如何将上述scala代码转换为python?

标签: pythonscalaapache-sparkpyspark

解决方案


您的 scala 代码从 args 返回一个 2 元素列表。

您的 python 代码返回一个逗号连接的字符串

这将返回相同的东西

lambda args: [str(args[0]), "|".join(map(str, args))]

推荐阅读