При выполнении объединения в spark или, как правило, для операций тасования, я могу установить максимальное количество разделов, в которых я хочу, чтобы spark выполнял эту операцию.
Согласно документации:
spark.sql.shuffle.partitions 200 Настраивает количество разделов, используемых при перетасовке данных для объединений или агрегатов.
Если я хочу уменьшить объем работы, выполняемой в каждой задаче, мне нужно будет оценить общий объем данных и соответствующим образом изменить этот параметр (чем больше разделов, тем меньше работы выполняется в одной задаче, но больше задач).
Мне интересно, могу ли я сказать спарку просто настроить количество разделов в зависимости от объема данных?Т.е. установить максимальный размер раздела во время операций соединения?
Дополнительный вопрос - как в Spark узнать, каков общий размер наборов данных, которые нужно обработать, при перераспределении на 200 примерно равных разделов?
Заранее спасибо!