Действия происходят последовательно.Ваше утверждение ... будет параллельно загружаться в разные наборы данных ... имеет такой же ответ последовательно, как и Действия .
Конвейеры данных , необходимые для Действия , включая Преобразования , происходят параллельно, где это возможно.Например, создание Фрейма данных с 4-мя нагрузками, которые, например, должны быть объединены, приведет к тому, что эти нагрузки будут выполняться параллельно, при условии, что может быть выделено достаточное количество исполнителей (слотов).
Итак, как говорится в комментарии, вытребуется действие и путь DAG определит поток и любой параллелизм , который можно применить.Вы можете видеть это в интерфейсе Spark.
Для демонстрации:
rdd1 = get some data
rdd2 = get some other data
rdd3 = get some other other data
rddA = rdd1 union rdd2 union rdd3
rddA.toDF.write ...
// followed by
rdd1' = get some data
rdd2' = get some other data
rdd3' = get some other other data
rddA' = rdd1 union rdd2 union rdd3
rddA'.toDF.write ...
rddA'.toDF.write ... произойдет после rddA.toDF.write ... Ни один из rdd1'and rdd2' и rdd3 'Преобразования происходят параллельно с rddA.toDF.write' Transformations / Action.Этого не может быть.Это означает, что если вы хотите записать параллелизм, вам нужны два отдельных приложения SPARK - запущенные одновременно - если это предусмотрено ресурсами, конечно.