本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
分類器 API
Classifier API 說明 AWS Glue 分類器資料類型,以及用於建立、刪除、更新和列出分類器的 API。
資料類型
Classifier 結構
探索任務會觸發分類器。分類器會檢查指定的檔案是否採用其能處理的格式。如果是,則分類器會以符合該資料格式的 StructType
物件形式,建立結構描述。
您可以使用 AWS Glue 提供的標準分類器,或者您可以編寫自己的分類器,以最佳的方式分類資料來源,並指定適當的結構描述來使用。分類器可以是 grok
分類器、XML
分類器或 JSON
分類器,或者透過 Classifier
物件中其中一個欄位指定的自訂 CSV
分類器。
欄位
-
GrokClassifier
– GrokClassifier 物件。使用
grok
的分類器。 -
XMLClassifier
– XMLClassifier 物件。XML 內容的分類器。
-
JsonClassifier
– JsonClassifier 物件。JSON 內容的分類器。
-
CsvClassifier
– CsvClassifier 物件。逗點分隔值 (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。有效值為
OpenCSVSerDe
、LazySimpleSerDe
和None
。您可以指定希望爬蟲程式執行偵測時的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。有效值為
OpenCSVSerDe
、LazySimpleSerDe
和None
。您可以指定希望爬蟲程式執行偵測時的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。有效值為
OpenCSVSerDe
、LazySimpleSerDe
和None
。您可以指定希望爬蟲程式執行偵測時的None
值。
操作
CreateClassifier 動作 (Python: create_classifier)
在使用者的帳戶內建立分類器。可能是 GrokClassifier
、XMLClassifier
、JsonClassifier
,或 CsvClassifier
,視出現的要求欄位而定。
請求
-
GrokClassifier
– CreateGrokClassifierRequest 物件。指定要建立之分類器的
GrokClassifier
物件。 -
XMLClassifier
– CreateXMLClassifierRequest 物件。指定要建立之分類器的
XMLClassifier
物件。 -
JsonClassifier
– CreateJsonClassifierRequest 物件。指定要建立之分類器的
JsonClassifier
物件。 -
CsvClassifier
– CreateCsvClassifierRequest 物件。指定要建立之分類器的
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)
修改現有的分類器 (GrokClassifier
、XMLClassifier
、JsonClassifier
或 CsvClassifier
,視出現的欄位而定)。
請求
-
GrokClassifier
– UpdateGrokClassifierRequest 物件。含更新欄位的
GrokClassifier
物件。 -
XMLClassifier
– UpdateXMLClassifierRequest 物件。含更新欄位的
XMLClassifier
物件。 -
JsonClassifier
– UpdateJsonClassifierRequest 物件。含更新欄位的
JsonClassifier
物件。 -
CsvClassifier
– UpdateCsvClassifierRequest 物件。含更新欄位的
CsvClassifier
物件。
回應
無回應參數。
錯誤
InvalidInputException
VersionMismatchException
EntityNotFoundException
OperationTimeoutException