為什麼當我使用內建分類器來解析檔案時,AWS Glue 編目程式會將我的固定寬度資料檔分類為 UNKNOWN (未知)?

2 分的閱讀內容
0

當我使用內建分類器解析固定寬度 .dat 檔案時,我的 AWS Glue 編目程式將該文件分類為 UNKNOWN (未知)。

簡短說明

內建分類器無法解析固定寬度資料檔案。改為使用 Grok 自訂分類器。

解決方法

建立 Grok 自訂分類器

請完成下列步驟。

  1. 開啟 AWS Glue 主控台

  2. 在瀏覽窗格中,選擇 Classifiers (分類器)。

  3. 選擇 Add classifier (新增分類器),然後輸入下列項目:
    Classifier name (分類器名稱) 中,輸入唯一的名稱。
    Classifier type (分類器類型) 中,選擇 Grok
    Classification (分類) 中,輸入您要分類的資料格式或類型描述。
    Grok pattern (Grok 模式) 中,請輸入您希望 AWS Glue 用於尋找資料中相符項目的內建模式。若要解析 .dat 檔案,欄位之間不需要分隔符。因為每個欄位都有已知的長度,請使用 regex 模式來尋找相符項目。

    範例:

    (?<col0>.{7})(?<col1>.{8})(?<col2>.{14})(?<col3>.{52})

    (選填) 在 Custom patterns (自訂模式) 中,輸入您要使用的任何自訂模式。分類資料的 Grok 模式會參考這些模式。每個自訂模式都必須位於單獨的列上。如需詳細資訊,請參閱撰寫 Grok 自訂分類器

  4. 選擇 Create (建立)。

建立並執行編目程式

完成下列步驟:

  1. 在瀏覽窗格中,選擇 Crawlers (編目程式)。
  2. 選擇 Add crawler (新增編目程式)。
  3. Crawler name (編目程式名稱) 中,輸入唯一的名稱。
  4. 選擇 Tags, description, security configuration, and classifiers (optional) (標籤、說明、安全組態和分類器 (選填)) 區段旁邊的箭頭,然後移至 Custom classifiers (自訂分類器) 區段。
  5. 選擇先前建立之客戶分類器旁的 Add (新增),然後選擇 Next (下一步)。
  6. Specify crawler source type (指定編目程式來源類型) 頁面上,選擇 Data stores (資料存放區),然後選擇 Next (下一步)。
  7. Add a data store (新增資料存放區) 頁面上,輸入下列項目:
    Choose data store (選擇資料存放區) 中,選擇您偏好的資料存放區。
    Include path (包含路徑) 中,輸入 **.dat ** 檔案的路徑。
  8. 選擇 Next (下一步),然後確認是否要新增其他資料存放區。
  9. Choose an IAM role (選擇 IAM 角色) 頁面上,選取現有的 AWS Identity and Access Management (IAM) 角色,或建立新角色。然後,選擇 Next (下一步)。
  10. Frequency (頻率) 中,選擇 Run on demand (按需執行),然後選擇 Next (下一步)。
  11. Configure the crawler's output (設定編目程式的輸出) 頁面的 Database (資料庫) 中,選擇您要在其中建立表格的資料庫。然後,選擇 Next (下一步)。
  12. 選擇 Finish (完成)。
  13. 當編目程式狀態變更為 Ready (就緒) 時,選取編目程式名稱,然後選擇 Run crawler (執行編目程式)。
  14. 等待編目程式完成,然後在導覽窗格中選擇 Tables (表格)。Classification (分類) 必須符合您為 Grok 自訂分類器所輸入的分類。

相關資訊

使用 AWS Glue 主控台建立分類器

定義和管理分類器

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