[英]How to overwrite Spark Dataset
我的應用程序中有一個現有的 Spark 數據集。 我用了
Dataset<Row> dataframe = dataframe.withColumn(colName, new Column);
更新它。 現在我的最后一步是將其寫入 Parquet 文件。
dataframe.write().mode(SaveMode.Append).parquet(getDSPath(dataset).toString());
當我使用 Append 模式時,它會添加到現有數據集中,從而創建重復的行。 如果我使用“SaveMode.Overwrite”,則會引發異常:
File file:/share/data/applocation/spark/DATASETUAT/part-00000-3124c90f-461f-4c13-a5b2-25064de0ce59-c000.snappy.parquet does not exist
我可以做些什么來覆蓋現有的數據集?
我解決了。 訣竅是在不同的位置創建一個臨時 Parquet 文件。 然后將其讀入新的數據集,然后覆蓋原始 Parquet 文件。
最后,有必要刪除臨時 Parquet 文件並清除數據集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.