在spark scala中有一种方法可以创建执行器中的本地数据帧,例如 pyspark 中的 pandas。在mappartitions方法中,我想将迭代器转换为本地数据帧(如python中的pandas数据帧),以便可以使用数据帧功能,而不是在迭代器上手动编码它们。
这是不可能的。
数据框 https://spark.apache.org/docs/latest/sql-programming-guide.html#datasets-and-dataframes是 Spark 中的分布式集合。并且数据帧只能在驱动程序节点上创建(即在转换/操作之外)。
此外,在 Spark 中,您无法在其他操作中对 RDD/Dataframes/Dataset 执行操作:
例如以下代码将产生错误。
rdd.map(v => rdd1.filter(e => e == v))
DF 和 DS 下面也有 RDD,因此行为相同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)