В этой статье вы познакомитесь с различными типами режимов чтения в программе 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
Надеюсь, вы узнали что-то новое :)
Удачного обучения !!!!!