分类器 API - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

分类器 API

分类器 API 介绍 Amazon Glue 分类器数据类型,并包含用于创建、删除、更新和列出分类器的 API。

数据类型

Classifier 结构

分类器会在爬网任务期间触发。分类器检查给定文件的格式是否可以处理。如果可以处理,分类器将以与该数据格式匹配的 StructType 对象的形式创建一个模式。

您可以使用 Amazon Glue 提供的标准分类器,或自行编写分类器,以便更好地对数据源进行分类和指定要用于它们的合适架构。分类器可以是 grok 分类器、XML 分类器、JSON 分类器或自定义 CSV 分类器,它由 Classifier 对象中的字段之一指定。

字段
  • 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 – 数字(长型)。

    此分类器的版本。

  • 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 – 数字(长型)。

    此分类器的版本。

  • 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 – 数字(长型)。

    此分类器的版本。

  • JsonPath必填:UTF-8 字符串。

    一种分类器使用的 JsonPath 字符串,该字符串定义供分类器分类的 JSON 数据。Amazon Glue 支持小部分适用于 JsonPath 的运算符,如编写 JsonPath 自定义分类器中所述。

CsvClassifier 结构

自定义 CSV 内容的分类器。

字段
  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    分类器的名称。

  • CreationTime – 时间戳。

    注册此分类器的时间。

  • LastUpdated – 时间戳。

    上次更新此分类器的时间。

  • Version – 数字(长型)。

    此分类器的版本。

  • 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,该分类器将应用于 Data Catalog。有效值包括 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 字符串。

    一种分类器使用的 JsonPath 字符串,该字符串定义供分类器分类的 JSON 数据。Amazon Glue 支持小部分适用于 JsonPath 的运算符,如编写 JsonPath 自定义分类器中所述。

UpdateJsonClassifierRequest 结构

指定要更新的 JSON 分类器。

字段
  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    分类器的名称。

  • JsonPath – UTF-8 字符串。

    一种分类器使用的 JsonPath 字符串,该字符串定义供分类器分类的 JSON 数据。Amazon 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,该分类器将应用于 Data Catalog。有效值包括 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,该分类器将应用于 Data Catalog。有效值包括 OpenCSVSerDeLazySimpleSerDeNone。当您想让爬网程序执行检测时,可以指定 None 值。

操作

CreateClassifier 操作(Python:create_classifier)

在用户的账户中创建分类器。这可以是 GrokClassifierXMLClassifierJsonClassifierCsvClassifier,具体取决于请求的哪个字段存在。

请求
响应
  • 无响应参数。

错误
  • AlreadyExistsException

  • InvalidInputException

  • OperationTimeoutException

DeleteClassifier 操作(Python:delete_classifier)

从数据目录中删除分类器。

请求
  • 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)

列出数据目录中的所有分类器对象。

请求
  • MaxResults – 数字(整数),不小于 1 或大于 1000。

    要返回的列表的大小 (可选)。

  • NextToken – UTF-8 字符串。

    一个可选延续令牌。

响应
  • Classifiers分类器 对象的数组。

    请求的分类器对象的列表。

  • NextToken – UTF-8 字符串。

    一个延续令牌。

错误
  • OperationTimeoutException

UpdateClassifier 操作(Python:update_classifier)

修改现有分类器(GrokClassifierXMLClassifierJsonClassifierCsvClassifier,具体取决于存在的字段)。

请求
响应
  • 无响应参数。

错误
  • InvalidInputException

  • VersionMismatchException

  • EntityNotFoundException

  • OperationTimeoutException