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

磚自動裝卸機越來越困,不傳遞給下一批

卡裏尼
新的貢獻者三世

我有一個簡單的工作安排每5分鍾。基本上就聽cloudfiles存儲賬戶和表成三角洲寫道,非常簡單。代碼是這樣的:

df =(火花.readStream .format .option (“cloudFiles (“cloudFiles”)。形式at', 'json') .load(input_path, schema = my_schema) .select(cols) .writeStream .format("delta") .outputMode("append") .option("checkpointLocation", f"{output_path}/_checkpoint") .trigger(once = True) .start(output_path))

有時有新的文件,有時不是。獎金的批次後被困在一個特定的batchId,如果沒有新文件的文件夾。如果我手動運行腳本得到相同的結果:它實際上指向最後一批處理+ 1,但不寫檢查點文件夾:

{" id ":“* * *”, runId”:“* * *”、“名稱”:空,“時間戳”:“2022 - 01 - 13 t15:25:07.512z”、“batchId”: 64年,“numInputRows”: 0,”inputRowsPerSecond processedRowsPerSecond“: 0.0: 0.0,

批64不存在,最後一批寫入檢查點文件夾是63 !

如果我隻運行了readStream部分——它正確讀取整個文件列表(並開始一個新的batchId: 0)。但奇怪的是:我已經完全不知道是什麼原因導致它為什麼需要大約40 -批次得到這種錯誤。

Azure的文件輸出功能是Azure服務總線的訂閱者。基本上是這樣的:隊列(AVRO)——> Azure服務總線功能(AVRO——> JSON)——> Azure Blob存儲- - >δ表。每個文件都有一個時間戳以同樣的名字和它的名字所以沒有2文件應該沒有覆蓋或更新。

我再做這個工作在Scala中新的跳跳虎.trigger (Trigger.AvailableNow)和34批次後就得到了相同的結果。什麼是怎麼回事?我的檢查點文件夾在同一文件夾δ表(數據湖2代)

從日誌好像rocksdb因為某種原因沒有新文件:

警告FileEventBackfiller:回填的目錄是空的:dbfs: / mnt / input_path

每次我沒有錯誤,什麼都沒有。它剛剛被困在某種程度上。我試圖將檢查點文件夾移動到不同的位置,安裝在一個不同的存儲賬戶。相同的結果。我覺得問題在於rocksdb,但是有非常scarse可用文檔。看起來像一個贏得反向大獎:沒有人有同樣的問題!你能幫我嗎?建議替代自動裝卸機嗎?

謝謝你這麼多!

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世

有兩種方式操作“目錄清單”和“文件通知”。我甚至建議文件通知,因為它創建新文件隊列。也更有效(而且便宜我們避免列表操作Azure)作為不需要掃描目錄。您還可以創建自己的活動網格為第一次測試完全控製,但足以改變:

.option (“cloudFiles.useNotifications”,“真正的”)

在原帖子查看解決方案

3回複3

User15813097110
新的貢獻者三世

你好,你有試過cloudFiles配置”。backfillInterval”?

默認值:無

但你可以設置相應的基於你的用例。

請注意這隻是中可用磚8.4運行時及以上。

請文件支持案例為我們進一步研究這個問題。

Hubert_Dudek1
尊敬的貢獻者三世

有兩種方式操作“目錄清單”和“文件通知”。我甚至建議文件通知,因為它創建新文件隊列。也更有效(而且便宜我們避免列表操作Azure)作為不需要掃描目錄。您還可以創建自己的活動網格為第一次測試完全控製,但足以改變:

.option (“cloudFiles.useNotifications”,“真正的”)

卡裏尼
新的貢獻者三世

我通過使用解決它

.option (“cloudFiles。useIncrementalListing”、“假”)

如果我理解正確的話,rocksdb讀取整個文件列表,而不是它的迷你“檢查點”基於文件名和時間戳。我的猜測是:我的json文件名由flow_name +時間戳,像這樣:

flow_name_2022 - 01 - 18 - t14 - 19 - 50.018 z.json

也許一些時間戳到不存在的目錄,因為點嗎?這是我擁有的唯一解釋。我將測試恢複回到增量清單文件名更改為更中立。

非常感謝你的建議!

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

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

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

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

Baidu
map