Я пишу фрейм данных pyspark в виде таблицы в своем хранилище Spark. Я группирую его по определенному столбцу, используя предложение BucketBy, и назначаю 10 сегментов. Я читал в нескольких сообщениях в блогах, что BucketBy перемещает данные по разделам и назначает ключ на основе хэша (ключ) % num_buckets. Увидев план выполнения, я не вижу никакого этапа перемешивания. Я вижу, что исходный фрейм данных читается в 12 разделах (df.rdd.numPartitions). Вот код.
Код: Выделить всё
(
commodity_df
.write
.format("parquet")
.bucketBy(10,"State")
.sortBy("State")
.saveAsTable("taxidb.commodityTbl")
)
Прошу прощения за мое невежество и дайте мне знать, где находится пробел в моем понимании.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... e-the-data