我有一份带有倾斜数据的火花工作。数据需要基于列进行分区。我想告诉 spark 首先开始处理最大的分区,以便我可以更有效地使用可用资源。
推理如下:我总共有 10000 个分区,其中 9999 个分区只需 1 分钟处理,1 个分区需要 10 分钟处理。如果我先得到重分区,我可以在 11 分钟内完成这项工作,如果我最后得到它需要 18 分钟。
有没有办法确定分区的优先级?你能理解这个吗?
我需要从一个大的 pyspark 数据框中收集分区/批次,以便我可以迭代地将它们输入到神经网络中
我的想法是 1) 对数据进行分区,2) 迭代地收集每个分区,3) 将收集的分区转换为 toPandas()
我有点困惑着类似的方法foreachPartition,并mapPartitions因为我不能迭代他们。任何的想法?