取消
顯示的結果
而不是尋找
你的意思是:

沉默的失敗加載數據時在DataFrameWriter紅移

kishorekumar
新的因素

背景:

我用DataFrameWriter加載數據集到紅移。DataFrameWriter寫道S3數據集,並加載數據從S3紅移通過發行紅移複製命令。

問題:

經常我們正在觀察,數據存在於S3但不加載DataFrameWriter的紅移,在這情況DataFrameWriter.save ()操作成功,而不會產生任何錯誤。

最新DataFrameWriter文檔表示,可能有缺失或不完整的數據清單操作中由於S3的最終一致性。盡管S3的官方文檔隻說最終一致性發生桶刪除和版本化的桶,我沒有更多的信息如何這是由DataFrameWriter聲稱,相關數據可能丟失。

文檔簡介

DataFrameWriter文檔(https://docs.m.eheci.com/external-data/amazon-redshift.html):“當讀取或寫入紅移,在S3中讀取和寫入數據的數據源。火花和紅移產生分區的輸出並將其存儲在S3的多個文件。根據Amazon S3數據一致性模型文檔,S3 bucket清單操作最終一致性的,所以必須去特別的文件長度,避免丟失或不完整的數據由於這最終一致性的來源。”

S3:S3數據一致性模型文檔(https://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html # ConsistencyModel)

問:

  1. 這是DataFrameWriter,即使預期的行為DataFrameWriter.save ()操作成功,沒有任何錯誤,有沒有機會數據不加載紅移?
  2. 如何處理這種情況?

代碼:

/ / dataframe是數據集的obj <行>。DataFrameWriter <行>作家= dataframe.write () .mode (SaveMode.Append) .format .option (“io.github.spark_redshift_community.spark.redshift”) (“url”, this.config.getUrl ()) .option(“用戶”,用戶名).option(“密碼”,密碼).option (“tempdir this.config.getTempS3Dir ()) .option (“aws_iam_role”, iamRole) .option .option (“ssl”、“true”) (“sslfactory”、“org.redshift.ssl.NonValidatingFactory”) .option (“tempformat”, DEFAULT_TEMP_FORMAT) .option(“數據表”,表名);writer.save ();

1回複1

Vidula_Khanna
主持人
主持人

嗨@Kishorekumar Somasundaram

很高興認識你,謝謝你的問題!

看看你的同行在社區中有一個回答你的問題。謝謝。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map