03/03 2021

【AWS數據戰情室】Day4 Glue Data Catalog教學 – Part 1

XML

Data Catalog 由 Classifiers、Crawlers、Tables 組成

首先介紹 Classifiers,Classifiers 負責定義所要爬取的資料類型與內容格式,如下圖所示有 XML、JSON、CSV,而 Grok 是指自定義的資料內容格式

Grok

a. Grok 設定

Grok pattern
  • Classifcation:資料內容的說明,例如 Apache-Log
    Grok pattern:用於描述一行的資料內容
    假設資料內容如下
    192.168.131.39:2817 "app/test/a.jpg" 2020-07-02T22:23:00.186641Z

     

    Grok pattern 的內容可以如下
    %{DATA:client}s+"%{DATA:request}"s+%{TIMESTAMP_ISO8601:timestamp_response}

    pattern 中的 %{DATA:client} 代表著第一個欄位,DATA 代表這個欄位的正則表達式.*? ,client 代表欄位名稱,%{TIMESTAMP_ISO8601:timestamp_response} 代表第二個欄位,TIMESTAMP_ISO8601 代表這個欄位的時間格式,正則表達式的寫法為 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}? TZ (?:[PMCE][SD]T|UTC),timestamp_response則是此欄位名稱,而兩個欄位中間的 s+ 則代表著一個空白或多個空白

    Classifiers 有提供常見的正則表達式的規則,下圖為可以直接使用的 pattern,還有更多AWS已經定義好的 pattern 可以參考此連結

Classifiers

b. XML 設定

classifier

Row tag:設定要爬取的 XML Tag
假設 XML 資料如下圖所示,我們可以指定 Profile 中的資料進行爬取,name 會代表第一個欄位名稱,Jack 會是此欄位的第一筆資料,Kiran 則會是此欄位第二筆資料。

XML Tag

請持續鎖定 Nextlink 架構師專欄,以獲得最新專業資訊喔!

若您有任何 AWS 需求,歡迎與我們聯繫!