Количество разделов в кадре Spark - PullRequest
0 голосов
/ 07 июня 2018

Я запутался в том, как spark создает разделы в фрейме данных spark.Вот список шагов и размер раздела

i_df = sqlContext.read.json("json files")  // num partitions returned is 4, total records 7000
p_df = sqlContext.read.format("csv").Other options   // num partitions returned is 4 , total records: 120k
j_df = i_df.join(p_df, i_df.productId == p_df.product_id) // total records 7000, but num of partitions is 200

Первые два кадра данных имеют 4 раздела, но как только я присоединяюсь к ним, он показывает 200 разделов.Я ожидал, что после объединения будет 4 раздела, но почему он показывает 200.

Я запускаю его на локальном компьютере с conf.setIfMissing ("spark.master", "local [4]")

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Когда вы присоединитесь, данные будут перетасованы между разделами, следовательно, в этом случае номер раздела по умолчанию (spark.sql.shuffle.partitions) получит приоритет над фактическим количеством разделов.Вы можете настроить ваши разделы, используя перераспределение или объединение.

И не забудьте использовать glom (), чтобы увидеть, распределены ли ваши данные равномерно или нет.Дайте мне знать, если вам нужен синтаксис или какие-либо дополнительные детали.

0 голосов
/ 07 июня 2018

200 - это размер раздела по умолчанию в случайном порядке.Вы можете изменить его, установив spark.sql.shuffle.partitions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...