我在 S3 上有一個 Glue 表,其中通過 Spark保存模式 overwrite填充磁區(通過 Glue 作業執行的腳本)。
如果我們在這些磁區被覆寫時查詢這些磁區,那么 Athena 的預期行為是什么?
uj5u.com熱心網友回復:
如果在查詢運行時重寫檔案,您可能會遇到諸如“HIVE_FILESYSTEM_ERROR: Incorrect fileSize 1234567 for file”之類的錯誤。
原因是在查詢計劃期間,所有檔案都列在 S3 上,除此之外,檔案大小用于劃分作業節點之間的作業。如果一個檔案是可拆分的,包括像 ORC 和 Parquet 這樣的檔案格式,以及未壓縮的文本格式(例如 JSON、CSV),它的一部分(稱為拆分)可能由不同的節點處理。
如果檔案在查詢計劃和查詢執行之間發生變化,則計劃不再有效并且查詢執行失敗。
uj5u.com熱心網友回復:
只要您enableUpdateCatalog = True在寫入時設定,Athena 就會拾取新磁區。如果您只是覆寫現有磁區的內容,只要您沒有架構不匹配,Athena 就可以查詢資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431200.html
上一篇:可能未處理的PromiseRejection(id:0)ReactNative
下一篇:是否可以增加S3的讀寫限制?
