Вдохновленный отсутствием (Py) Spark, эквивалентного этому вопросу , мне интересно, как Spark обрабатывает записи, которые разбиты по блокам HDFS и, следовательно, оказываются в разных разделах Spark.
Например, предположим, у меня есть набор файлов Parquet, хранящихся в HDFS, которые содержат набор данных текстовых документов, и что некоторые документы имеют размер> 128 МБ (или любой другой размер блока) и разбиты на несколько блоков. После прочтения данных я делаю
df_new = df.withColumn(
"cleaned", pyspark.sql.functions.regexp_replace("raw", r"\s{2,}", " "))
Как Spark работает с разделенными документами? Операция «разделяется» и выполняется над данными в памяти разных исполнителей, или некоторые разбиения каждого документа с несколькими разделами перетасовываются между исполнителями?