Разделение диапазона в Pyspark - PullRequest
0 голосов
/ 17 апреля 2019

Скажем, у меня есть набор данных с 1 000 000 идентификаторов.Как бы я пошел на разделение по диапазону для 100 разделов.Я видел класс RangePartitioner в Scala, но, похоже, он недоступен в PySpark API.

У меня очень большой набор данных, и в настоящее время я делю разделы по уникальному идентификатору, но это создает слишком много разделов.Я хочу узнать лучшие практики по разделению диапазонов в PySpark

df.write.partitionBy('unique_id').mode('overwrite').csv(file://test/)

Это помещает каждый идентификатор в свой собственный раздел.

Кажется, я не могу найти никакой документации по разделению диапазонов в PySpark.

1 Ответ

2 голосов
/ 17 апреля 2019

Для pyspark версии 2.4 и выше вы можете использовать pyspark.sql.DataFrame.repartitionByRange:

df.repartitionByRange(100, 'unique_id').write.mode('overwrite').csv('file:://test/')
...