pyspark.sql.DataFrameWriter.mode ¶
-
DataFrameWriter.
mode
( saveMode : Optional [ str ] ) → pyspark.sql.readwriter.DataFrameWriter [source] ¶ -
指定当数据或表已存在时的行为。
选项包括:
-
append : 将此
DataFrame
的内容附加到现有数据中。 -
overwrite : 覆盖现有数据。
-
error 或 errorifexists : 如果数据已存在,则抛出异常。
-
ignore : 如果数据已存在,则静默地忽略此操作。
在版本 1.4.0 中的新功能。
在版本 3.4.0 中更改: 支持 Spark Connect。
示例
在写入现有路径时引发错误。
>>> import tempfile >>> with tempfile.TemporaryDirectory() as d: ... spark.createDataFrame( ... [{"age": 80, "name": "Xinrong Meng"}] ... ).write.mode("error").format("parquet").save(d) Traceback (most recent call last): ... ...AnalysisException: ...
使用各种选项写入Parquet文件,并读取它。
>>> with tempfile.TemporaryDirectory() as d: ... # Overwrite the path with a new Parquet file ... spark.createDataFrame( ... [{"age": 100, "name": "Hyukjin Kwon"}] ... ).write.mode("overwrite").format("parquet").save(d) ... ... # Append another DataFrame into the Parquet file ... spark.createDataFrame( ... [{"age": 120, "name": "Takuya Ueshin"}] ... ).write.mode("append").format("parquet").save(d) ... ... # Append another DataFrame into the Parquet file ... spark.createDataFrame( ... [{"age": 140, "name": "Haejoon Lee"}] ... ).write.mode("ignore").format("parquet").save(d) ... ... # Read the Parquet file as a DataFrame. ... spark.read.parquet(d).show() +---+-------------+ |age| name| +---+-------------+ |120|Takuya Ueshin| |100| Hyukjin Kwon| +---+-------------+
-