从 pyspark 数据框中检索分区/批次

Car*_* DM 3 dataframe apache-spark pyspark

我需要从一个大的 pyspark 数据框中收集分区/批次,以便我可以迭代地将它们输入到神经网络中

我的想法是 1) 对数据进行分区,2) 迭代地收集每个分区,3) 将收集的分区转换为 toPandas()

我有点困惑着类似的方法foreachPartition,并mapPartitions因为我不能迭代他们。任何的想法?

Mar*_*usz 6

您可以使用 将mapPartitions每个分区映射到元素列表中,并使用toLocalIterator以下方法以迭代方式获取它们:

for partition in rdd.mapPartitions(lambda part: [list(part)]).toLocalIterator():
    print(len(partition)) # or do something else :-)
Run Code Online (Sandbox Code Playgroud)