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

аписанииdataframe вparquet с помощьюpartitionBy :

df.write.partitionBy("col1","col2","col3").parquet(path)

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

Однако на самом деле при записи в паркет одновременно выполняется только один рабочий / задание. Один работник перебирает все разделы и выписывает.parquet файлы серийно. Почему это так, и есть ли способ заставить параллелизм в этомspark.write.parquet операция?

Следующеене что я хочу увидеть (должно быть700%+ ..)

Из этого другого поста я также попытался добавитьrepartition спереди

Spark паркетная перегородка: большое количество файлов

df.repartition("col1","col2","col3").write.partitionBy("col1","col2","col3").parquet(path)

К сожалению, это не имело никакого эффекта: все еще один рабочий ..

Примечание: я бегу вlocal режим сlocal[8] и виделДругие Операции Spark работают с восемью одновременно работающими рабочими и используют до 750% процессорных ресурсов.

Ответы на вопрос(1)

Ваш ответ на вопрос