В этой статье вы познакомитесь с различными типами режимов чтения в программе Spark.

Примечание:

Всякий раз, когда мы записываем файл без указания режима, программа Spark рассматривает режим по умолчанию, т.е. существует ошибка.

1. Инициализировать сеанс Spark.

from pyspark.sql.session import SparkSession

spark = SparkSession.builder.master("local")
    .appName("different_write_modes").getOrCreate()

2. Список режимов записи / сохранения.

  • добавить
  • перезаписывать
  • игнорировать
  • ошибка

3. режим добавления

employee_df.write.mode("append")
    .format("csv")
    .option("header", True)
    .save("./output/employee")

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

4. режим перезаписи

employee_df.write.mode("overwrite")
    .format("csv")
    .option("header", True)
    .save("./output/employee")

Когда мы записываем или сохраняем фрейм данных в источник данных, если данные или папка уже существуют, тогда существующая папка полностью удаляется или перезаписывается программой Spark, и мы можем видеть только самые последние данные в этой папке.

5. режим игнорирования

employee_df.write.mode("ignore")
    .format("csv")
    .option("header", True)
    .save("./output/employee")

Когда мы записываем или сохраняем фрейм данных в источник данных, если данные или папка уже существуют, текущие данные не будут сохранены в указанном месте. Программа Spark пропустит операцию записи, не выдав никаких ошибок.

6. режим errorifexists

employee_df.write.mode("errorifexists")
    .format("csv")
    .option("header", True)
    .save("./output/employee")

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

Ссылка: https://spark.apache.org/docs/latest/sql-data-sources-load-save-functions.html

Надеюсь, вы узнали что-то новое :)
Удачного обучения !!!!!