簡體   English   中英

Spark:覆蓋分區文件夾

[英]Spark: overwrite partitioned folders

我在 Spark 3.1 上有一個工作流,並在最后按年、月、日、小時分區編寫 dataframe 到 S3。 我希望 S3 中每個“文件夾”中的文件都被覆蓋,但它們總是被附加。 關於可能是什么問題的任何想法?

spark.conf.set("spark.sql.sources.partitionOverwriteMode", "dynamic")

df
  .write
  .mode(SaveMode.Overwrite)
  .partitionBy("year", "month", "day", "hour")
  .json(outputPath)

我建議這個版本:

df
  .write
  .mode('overwrite')
  .partitionBy("year", "month", "day", "hour")
  .json(outputPath)

或者這個:

df
  .write
  .mode(SaveMode.Overwrite)
  .partitionBy("year", "month", "day", "hour")
  .json(outputPath)

對於舊版本的 Spark,您可以使用以下內容用 RDD 內容覆蓋 output 目錄:

sparkConf.set("spark.hadoop.validateOutputSpecs", "false")
val sparkContext = SparkContext(sparkConf)

這似乎是 Spark 3.1 上的一個錯誤。 降級到 Spark 3.0.1 會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM