Как повторно разбить фрейм данных pyspark?
data.rdd.getNumPartitions() # output 2456
Тогда я делаю data.rdd.repartition(3000)
Но ... data.rdd.getNumPartitions()
# выход все еще 2456
Как изменить количество разделов. Одним из подходов может быть сначала преобразование DF в rdd,его перераспределение, а затем преобразование rdd обратно в DF. Но это отнимает много времени. Кроме того, увеличение числа разделов делает операции более распределенными и поэтому более быстрыми? Спасибо
2 ответа:
Вы можете проверить количество разделов:
data.rdd.partitions.size
Чтобы изменить количество разделов:
newDF = data.repartition(3000)
Вы можете проверить количество разделов:
newDF.rdd.partitions.size
Остерегайтесь перетасовки данных при перераспределении, а это дорого. Взгляните на
coalesce
, Если это необходимо.