為什麼我的 AWS Glue 爬蟲程式不在表格中新增分割區?

1 分的閱讀內容
0

我的 AWS Glue 爬蟲程式不在表格中新增分割區。

簡短描述

爬蟲程式掃描新分割區的來源資料檔時,會比較下列來源檔與現有表格的屬性:

  • 檔案格式
  • 壓縮類型
  • 架構
  • Amazon Simple Storage Service (Amazon S3) 分割區結構

如果分割區的任何屬性與表格的屬性不同,則會略過分割區,而不會新增至中繼資料。Amazon S3 路徑中分割區名稱、順序或數量的差異會被視為分割區架構或結構的變更。

解決方法

疑難排解問題

檢查爬蟲程式記錄以識別問題:

  1. 開啟 AWS Glue 主控台
  2. 在瀏覽窗格中,選擇爬蟲程式
  3. 選取爬蟲程式,然後選擇日誌連結以檢視 CloudWatch 主控台上的記錄。
  4. 檢閱日誌以檢查爬蟲程式是否跳過新的分割區。

例如,假設記錄包含的項目看起來類似下列內容:

Folder partition keys do not match table partition keys, skipped folder: doc-example-bucket/doc-example-path/doc-example-table/year=2021/month=01/sday=05/

此項目表明 Amazon S3 位置的分割區結構與為表格定義的分割區索引鍵不符。當表格來源位置的分割區結構不一致時,可能會發生這種情況。

如果 AWS Glue 爬蟲程式建立多個表格,記錄項目看起來會類似下列內容:

INFO : Created table doc-example-table in database doxtest_db

如果您看到類似的日誌,請比較這些表格位置的架構和分割結構與原始表格架構和分割結構。

解決問題

根據 CloudWatch 日誌中的資訊,請考量下列一或多個解決方案選項:

  • 如果問題是由不一致的分割區結構造成的,請手動或以程式設計方式重新命名 S3 路徑,使結構一致。
  • 如果由於檔案格式、壓縮格式或架構不相符而跳過分割區,而且不需要將資料包含在預期的表格中,請考量下列事項:
  • 使用排除模式跳過任何不需要的檔案。
  • 將不需要的檔案移動到其他位置。
  • 如果您的資料在某些輸入檔案中有不同的架構,而在其他輸入檔案中具有類似的架構,請在建立爬蟲程式時結合相容的架構。在設定爬蟲程式的輸出頁面中的 S3 資料的分組行為 (選擇性) 下,選取為每個 S3 路徑建立單一架構。開啟此設定且資料相容時,爬蟲程式會在評估指定包含路徑中的 S3 物件時,略過特定架構的相似性。如需詳細資訊,請參閱如何為每個 Amazon S3 包含路徑建立單一架構
  • 如果爬蟲程式正在建立多個表格,請參閱如何防止 AWS Glue 爬蟲程式建立多個表格?

AWS 官方
AWS 官方已更新 3 年前