#apache-spark #apache-spark-2.0
#apache-spark #apache-spark-2.0
Вопрос:
Итак, для оптимального использования моего кластерного процессора я хотел бы, чтобы мои разделы обрабатывались примерно в порядке, указанном MyPartitioner.getPartition(key)
. Я знаю, что они обрабатываются параллельно, и порядок их обработки нельзя полностью контролировать, но, по крайней мере, могу ли я контролировать порядок, в котором драйвер отправляет задачи исполнителям?
Что-то вроде :
task 0 - process partition 0
task 1 - process partition 1
...
task n - process partition n
Комментарии:
1. какова цель, стоящая за этим? если вы хотите максимально использовать свой процессор, размер ваших разделов должен быть одинаковым. почему бы не использовать перераспределение или объединение?
2. Я знаю это, но я не могу выполнить перераспределение и не могу сделать разделы равными.
Ответ №1:
Короче говоря, невозможно контролировать порядок обработки разделов в spark. Единственное, что можно сделать, это убедиться, что разделы более или менее равны