Я хотел бы ускорить выполнение множества задач при выполнении моих расчетов, но при записи в таблицу объединиться в меньший набор разделов.
Простой пример демонстрации приведен ниже, где перераспределение НЕ учитывается во время выполнения.
Мой ожидаемый вывод - операция карты происходит в 100 разделах, и, наконец, сбор происходит только в 10 разделах.
Кажется, Spark оптимизировал выполнение, игнорируя перераспределение. Было бы полезно, если бы кто-то мог объяснить, как добиться моего ожидаемого поведения.
sc.parallelize(range(1,1000)).repartition(100).map(lambda x: x*x).coalesce(10).collect()