【发布时间】:2018-02-14 21:42:23
【问题描述】:
我需要从一个大的 pyspark 数据帧中收集分区/批次,以便我可以将它们迭代地输入神经网络
我的想法是 1) 对数据进行分区,2) 迭代收集每个分区,3) 使用 toPandas() 转换收集到的分区
我对@987654322@ 和mapPartitions 之类的方法有点困惑,因为我无法对它们进行迭代。有什么想法吗?
【问题讨论】:
标签: apache-spark dataframe pyspark
我需要从一个大的 pyspark 数据帧中收集分区/批次,以便我可以将它们迭代地输入神经网络
我的想法是 1) 对数据进行分区,2) 迭代收集每个分区,3) 使用 toPandas() 转换收集到的分区
我对@987654322@ 和mapPartitions 之类的方法有点困惑,因为我无法对它们进行迭代。有什么想法吗?
【问题讨论】:
标签: apache-spark dataframe pyspark
您可以使用mapPartitions 将每个分区映射到元素列表中,并使用toLocalIterator 以迭代方式获取它们:
for partition in rdd.mapPartitions(lambda part: [list(part)]).toLocalIterator():
print(len(partition)) # or do something else :-)
【讨论】: