為什麼 AWS Glue 在增量爬取期間不會向資料表新增分區?

1 分的閱讀內容
0

我想對執行增量 AWS Glue 爬取後缺少分區的問題進行疑難排解。

簡短說明

當 AWS Glue 編目程式執行增量爬取時,其只會識別編目程式在上次爬取後新增的分區。若要新增分區,分區中超過 70% 的檔案必須具有與編目程式資料表相同的結構描述。

重要: AWS Glue 編目程式無法新增先前標記為結構描述不符的分區。最佳做法是在編目程式執行之前,確保所有新分區的屬性與原始資料表的屬性相符。

解決方法

開啟與編目程式上次爬取相對應的 Amazon CloudWatch 日誌,然後搜尋新分區的 Amazon Simple Storage Service (Amazon S3) 首碼。如果新分區的結構描述與原始資料表的結構描述不符,則會出現「分區與資料表結構描述不符或具有不符的索引鍵」訊息。

如果收到上述錯誤訊息,請確認新分區和原始資料表中的下列屬性是否相符:

  • 壓縮格式
  • 檔案類型
  • 檔案結構描述

確定新分區的 S3 結構與原始資料表的 S3 結構相符。例如,如果原始資料表的 S3 結構使用 yyyy-mm-dd 日期格式,則新分區的 S3 結構也必須使用 yyyy-mm-dd 日期格式。如果屬性不符,請修改新分區中的檔案以符合原始資料表。

然後,使用 Athena 將新分區新增至資料表中。對於 Hive 樣式分區,請執行 MSCK REPAIR TABLE 命令。對於非 Hive 樣式分區,請執行 ALTER TABLE ADD PARTITION 命令。

AWS 官方
AWS 官方已更新 3 個月前