分類器 API - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

分類器 API

Classifier API 說明 AWS Glue 分類器資料類型,以及用於建立、刪除、更新和列出分類器的 API。

資料類型

Classifier 結構

探索任務會觸發分類器。分類器會檢查指定的檔案是否採用其能處理的格式。如果是,則分類器會以符合該資料格式的 StructType 物件形式,建立結構描述。

您可以使用 AWS Glue 提供的標準分類器,或者您可以編寫自己的分類器,以最佳的方式分類資料來源,並指定適當的結構描述來使用。分類器可以是 grok 分類器、XML 分類器或 JSON 分類器,或者透過 Classifier 物件中其中一個欄位指定的自訂 CSV 分類器。

欄位
  • GrokClassifierGrokClassifier 物件。

    使用 grok 的分類器。

  • XMLClassifierXMLClassifier 物件。

    XML 內容的分類器。

  • JsonClassifierJsonClassifier 物件。

    JSON 內容的分類器。

  • CsvClassifierCsvClassifier 物件。

    逗點分隔值 (CSV) 的分類器。

GrokClassifier 結構

使用 grok 模式的分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • Classification必要:UTF-8 字串。

    分類器符合的資料格式識別符,例如 Twitter、JSON、Omniture 日誌等。

  • CreationTime – 時間戳記。

    此分類器登錄時的時間。

  • LastUpdated – 時間戳記。

    此分類器的上次更新時間。

  • Version – 數字 (long)。

    此分類器的版本。

  • GrokPattern必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 2048 個位元組,且需符合A Logstash Grok string pattern

    此分類器套用到資料存放區的 grok 模式。如需詳細資訊,請參閱撰寫自訂分類器中的內建模式。

  • CustomPatterns – UTF-8 字串,長度不可超過 16000 個位元組,需符合URI address multi-line string pattern

    此分類器定義的選用自訂 grok 模式。如需詳細資訊,請參閱撰寫自訂分類器中的自訂模式。

XMLClassifier 結構

XML 內容的分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • Classification必要:UTF-8 字串。

    分類器符合的資料格式識別碼。

  • CreationTime – 時間戳記。

    此分類器登錄時的時間。

  • LastUpdated – 時間戳記。

    此分類器的上次更新時間。

  • Version – 數字 (long)。

    此分類器的版本。

  • RowTag – UTF-8 字串。

    XML 標籤,指定包含所剖析之 XML 文件中各記錄的元素。這個設定無法識別自我關閉的元素 (由 /> 關閉)。僅包含屬性的空白資料列元素若結尾為關閉標籤便能剖析 (例如,可以是 <row item_a="A" item_b="B"></row>,但不能是 <row item_a="A" item_b="B" />)。

JsonClassifier 結構

JSON 內容的分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • CreationTime – 時間戳記。

    此分類器登錄時的時間。

  • LastUpdated – 時間戳記。

    此分類器的上次更新時間。

  • Version – 數字 (long)。

    此分類器的版本。

  • JsonPath必要:UTF-8 字串。

    為要分類的分類器定義 JSON 資料的 JsonPath 字串。AWS Glue 支援 JsonPath 的運算子子集,如撰寫 JsonPath 自訂分類器中所述。

CsvClassifier 結構

自訂 CSV 內容的分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • CreationTime – 時間戳記。

    此分類器登錄時的時間。

  • LastUpdated – 時間戳記。

    此分類器的上次更新時間。

  • Version – 數字 (long)。

    此分類器的版本。

  • Delimiter - UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 1 個位元組,且需符合 Custom string pattern #10

    表示用於分隔資料列中每個欄位項目的自訂符號。

  • QuoteSymbol - UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 1 個位元組,且需符合 Custom string pattern #10

    用來表示將內容結合成單一欄位值的自訂符號。其必須不同於欄位分隔符號。

  • ContainsHeader – UTF-8 字串 (有效值:UNKNOWN | PRESENT | ABSENT)。

    表示 CSV 檔案是否包含標頭。

  • Header – UTF-8 字串陣列。

    表示欄位名稱之字串的清單。

  • DisableValueTrimming – 布林值。

    指定在確認欄位值類型之前不要裁剪值。預設值為 true

  • AllowSingleColumn – 布林值。

    啟用處理僅包含一個欄位的檔案。

  • CustomDatatypeConfigured – 布林值。

    啟用要設定的自訂資料類型。

  • CustomDatatypes – UTF-8 字串陣列。

    指定資料類型清單包括 "BINARY"、"BOOLEAN"、"DATE"、"DECIMAL"、"DOUBLE"、"FLOAT"、"INT"、"LONG"、"SHORT"、"STRING"、"TIMESTAMP"。

  • Serde – UTF-8 字串 (有效值:OpenCSVSerDe | LazySimpleSerDe | None)。

    設定用於在分類器中處理 CSV 的 SerDe,並且將在資料型錄中套用該 Serde。有效值為 OpenCSVSerDeLazySimpleSerDeNone。您可以指定希望爬蟲程式執行偵測時的 None 值。

CreateGrokClassifierRequest 結構

指定 CreateClassifier 要建立的 grok 分類器。

欄位
  • Classification必要:UTF-8 字串。

    分類器符合的資料格式識別符,例如 Twitter、JSON、Omniture 日誌、Amazon CloudWatch Logs 等。

  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    新分類器名稱。

  • GrokPattern必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 2048 個位元組,且需符合A Logstash Grok string pattern

    此分類器使用的 grok 模式。

  • CustomPatterns – UTF-8 字串,長度不可超過 16000 個位元組,需符合URI address multi-line string pattern

    此分類器使用的選用自訂 grok 模式。

UpdateGrokClassifierRequest 結構

指定當傳送到 UpdateClassifier 時要更新的 grok 分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    GrokClassifier 的名稱。

  • Classification – UTF-8 字串。

    分類器符合的資料格式識別符,例如 Twitter、JSON、Omniture 日誌、Amazon CloudWatch Logs 等。

  • GrokPattern – UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 2048 個位元組,需符合A Logstash Grok string pattern

    此分類器使用的 grok 模式。

  • CustomPatterns – UTF-8 字串,長度不可超過 16000 個位元組,需符合URI address multi-line string pattern

    此分類器使用的選用自訂 grok 模式。

CreateXMLClassifierRequest 結構

指定 CreateClassifier 要建立的 XML 分類器。

欄位
  • Classification必要:UTF-8 字串。

    分類器符合的資料格式識別碼。

  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • RowTag – UTF-8 字串。

    XML 標籤,指定包含所剖析之 XML 文件中各記錄的元素。這個設定無法識別自我關閉的元素 (由 /> 關閉)。僅包含屬性的空白資料列元素若結尾為關閉標籤便能剖析 (例如,可以是 <row item_a="A" item_b="B"></row>,但不能是 <row item_a="A" item_b="B" />)。

UpdateXMLClassifierRequest 結構

指定要更新的 XML 分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • Classification – UTF-8 字串。

    分類器符合的資料格式識別碼。

  • RowTag – UTF-8 字串。

    XML 標籤,指定包含所剖析之 XML 文件中各記錄的元素。這個設定無法識別自我關閉的元素 (由 /> 關閉)。僅包含屬性的空白資料列元素若結尾為關閉標籤便能剖析 (例如,可以是 <row item_a="A" item_b="B"></row>,但不能是 <row item_a="A" item_b="B" />)。

CreateJsonClassifierRequest 結構

指定 CreateClassifier 要建立的 JSON 分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • JsonPath必要:UTF-8 字串。

    為要分類的分類器定義 JSON 資料的 JsonPath 字串。AWS Glue 支援 JsonPath 的運算子子集,如撰寫 JsonPath 自訂分類器中所述。

UpdateJsonClassifierRequest 結構

指定要更新的 JSON 分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • JsonPath – UTF-8 字串。

    為要分類的分類器定義 JSON 資料的 JsonPath 字串。AWS Glue 支援 JsonPath 的運算子子集,如撰寫 JsonPath 自訂分類器中所述。

CreateCsvClassifierRequest 結構

指定 CreateClassifier 要建立的自訂 CSV 分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • Delimiter - UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 1 個位元組,且需符合 Custom string pattern #10

    表示用於分隔資料列中每個欄位項目的自訂符號。

  • QuoteSymbol - UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 1 個位元組,且需符合 Custom string pattern #10

    用來表示將內容結合成單一欄位值的自訂符號。必須不同於欄位分隔符號。

  • ContainsHeader – UTF-8 字串 (有效值:UNKNOWN | PRESENT | ABSENT)。

    表示 CSV 檔案是否包含標頭。

  • Header – UTF-8 字串陣列。

    表示欄位名稱之字串的清單。

  • DisableValueTrimming – 布林值。

    指定在確認欄位值類型之前不要裁剪值。預設值為 true。

  • AllowSingleColumn – 布林值。

    啟用處理僅包含一個欄位的檔案。

  • CustomDatatypeConfigured – 布林值。

    啟用自訂資料類型的組態。

  • CustomDatatypes – UTF-8 字串陣列。

    建立支援的自訂資料類型清單。

  • Serde – UTF-8 字串 (有效值:OpenCSVSerDe | LazySimpleSerDe | None)。

    設定用於在分類器中處理 CSV 的 SerDe,並且將在資料型錄中套用該 Serde。有效值為 OpenCSVSerDeLazySimpleSerDeNone。您可以指定希望爬蟲程式執行偵測時的 None 值。

UpdateCsvClassifierRequest 結構

指定要更新的自訂 CSV 分類器。

欄位
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    分類器名稱。

  • Delimiter - UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 1 個位元組,且需符合 Custom string pattern #10

    表示用於分隔資料列中每個欄位項目的自訂符號。

  • QuoteSymbol - UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 1 個位元組,且需符合 Custom string pattern #10

    用來表示將內容結合成單一欄位值的自訂符號。其必須不同於欄位分隔符號。

  • ContainsHeader – UTF-8 字串 (有效值:UNKNOWN | PRESENT | ABSENT)。

    表示 CSV 檔案是否包含標頭。

  • Header – UTF-8 字串陣列。

    表示欄位名稱之字串的清單。

  • DisableValueTrimming – 布林值。

    指定在確認欄位值類型之前不要裁剪值。預設值為 true。

  • AllowSingleColumn – 布林值。

    啟用處理僅包含一個欄位的檔案。

  • CustomDatatypeConfigured – 布林值。

    指定自訂資料類型的組態。

  • CustomDatatypes – UTF-8 字串陣列。

    指定支援的自訂資料類型清單。

  • Serde – UTF-8 字串 (有效值:OpenCSVSerDe | LazySimpleSerDe | None)。

    設定用於在分類器中處理 CSV 的 SerDe,並且將在資料型錄中套用該 Serde。有效值為 OpenCSVSerDeLazySimpleSerDeNone。您可以指定希望爬蟲程式執行偵測時的 None 值。

操作

CreateClassifier 動作 (Python: create_classifier)

在使用者的帳戶內建立分類器。可能是 GrokClassifierXMLClassifierJsonClassifier,或 CsvClassifier,視出現的要求欄位而定。

請求
回應
  • 無回應參數。

錯誤
  • AlreadyExistsException

  • InvalidInputException

  • OperationTimeoutException

DeleteClassifier 動作 (Python: delete_classifier)

從 Data Catalog 移除分類器。

請求
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    要移除的分類器名稱。

回應
  • 無回應參數。

錯誤
  • EntityNotFoundException

  • OperationTimeoutException

GetClassifier 動作 (Python: get_classifier)

擷取指定名稱的分類器。

請求
  • Name必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Single-line string pattern

    要擷取的分類器名稱。

回應
  • Classifier分類器 物件。

    要求的分類器。

錯誤
  • EntityNotFoundException

  • OperationTimeoutException

GetClassifiers 動作 (Python: get_classifiers)

列出 Data Catalog 中所有的分類器物件。

請求
  • MaxResults – 數字 (整數),不可小於 1,也不可以大於 1000。

    所要回傳的清單大小 (選用)。

  • NextToken – UTF-8 字串。

    選擇性的接續符記。

回應
  • Classifiers – 一個 分類器 物件陣列。

    要求的分類器物件清單。

  • NextToken – UTF-8 字串。

    接續符記。

錯誤
  • OperationTimeoutException

UpdateClassifier 動作 (Python: update_classifier)

修改現有的分類器 (GrokClassifierXMLClassifierJsonClassifierCsvClassifier,視出現的欄位而定)。

請求
回應
  • 無回應參數。

錯誤
  • InvalidInputException

  • VersionMismatchException

  • EntityNotFoundException

  • OperationTimeoutException