Исходя из вашего примера, файл еще не будет прочитан, и в этот момент ничего не будет сохранено.Spark ленив, он читает вещи только при вызове таких действий, как: запись, подсчет, сбор и т. Д.Если вы не используете какой-либо вид кэширования фреймов данных (через кеш или сохраняющийся файл), то, что будет прочитано и какая его часть будет использоваться из файла, будет зависеть от следующих операций, вызвавших проекции: select, groupBy, joinи т. д. Если вы используете случайные операции (groupBy, оконные функции, объединения), то спроецированные данные будут записываться в папки tmp на узлах работника / данных для облегчения связи между этапами.
Пример:
val customerDF = spark.read.format("").load("/path") //Files are not read yet
val customerStats = customerDF.groupBy("customer_id").count() //Files are not read yet
customerStats.show(100, false)
В приведенном выше примере файлы доступны только для чтения по команде show, извлекается только customer_id, и из-за подсчета на этапе 1 частичные подсчеты сохраняются в SPARK_LOCAL_DIRS и отправляются на этап 2, который выполняет окончательный анализ и выводится на экран.100 строк.