在中以编程方式构建配置文件作业配置Amazon Glue DataBrew - Amazon Glue DataBrew
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在中以编程方式构建配置文件作业配置Amazon Glue DataBrew

在本节中,您可以找到可以通过编程方式使用的剖析作业步骤和功能的描述。你可以从Amazon Command Line Interface(Amazon CLI) 中使用它们,也可以使用其中一个来使用它们Amazon SDKs。

在分析作业中,您可以自定义配置以控制数据集的 DataBrew 评估方式。您可以将该配置应用于数据集或将其应用于特定列。您可以在创建剖析作业时构建配置,然后随时对其进行更新。

剖析配置结构包括四个部分:

以下为示例。

{ "ProfileColumns": [ { "Name": "example" }, { "Regex": "example.*" } ], "DatasetStatisticsConfiguration": { "IncludedStatistics": [ "CORRELATION" ], "Overrides": [ { "Statistic": "CORRELATION", "Parameters": { "columnSelectors": "[{\"name\":\"example\"}, {\"regex\":\"example.*\"}]" } } ] }, "ColumnStatisticsConfigurations": [ { "Selectors": [ { "Name": "example" } ], "Statistics": { "IncludedStatistics": [ "CORRELATION", "DUPLICATE_ROWS_COUNT" ], "Overrides": [ { "Statistic": "VALUE_DISTRIBUTION", "Parameters": { "binNumber": "10" } } ] } } ] }

ProfileColumns 部分

在结构的 ProfileColumns 部分,设置要在剖析作业中评估的数据集中的列。ProfileColumns 是列选择器(Selectors)列表。您可以在列选择器中指定列名称或正则表达式。下面是一个示例。

"ProfileColumns": [{"Name": "example"}, {"Regex": "example.*"}]

指定 ProfileColumns 后,只有名称与 ProfileColumns 中的名称或正则表达式匹配的列才会包含在剖析作业中。如果分析作业不支持选定列的数据类型,则在作业运行期间 DataBrew 跳过选定列。

如果 ProfileColumns 未定义,则分析作业将评估所有支持的列。支持的列是包含受支持数据类型的数据的列:ByteTypeShortTypeIntegerTypeLongTypeFloatTypeDoubleTypeStringBoolean

DatasetStatisticsConfiguration 部分

在结构的 DatasetStatisticsConfiguration 部分,您可以为列间评估构建配置。配置包括 IncludedStatisticsOverrides:下面是一个示例。

"DatasetStatisticsConfiguration": { "IncludedStatistics": ["CORRELATION"], "Overrides": [ { "Statistic": "CORRELATION", "Parameters": { "columnSelectors": "[{\"name\":\"example\"}, {\"regex\":\"example.*\"}]" } } ] }

您可以通过向 IncludedStatistics 中添加评估名称来选择想要的评估。下面是一个示例。

"IncludedStatistics": ["CORRELATION", "DUPLICATE_ROWS_COUNT"]

指定 IncludedStatistics 时,只有列表中的评估才会包含在剖析作业中。如果未定义 IncludedStatistics,则剖析作业将使用默认设置运行所有受支持的评估。您可以通过向 IncludedStatistics 中添加 NONE 来排除所有评估。下面是一个示例。

"IncludedStatistics": ["NONE"]

数据集级别的可配置统计信息

在结构的 DatasetStatisticsConfiguration 部分,剖析作业支持下表所示的评估。

统计名称 描述 支持的数据类型 默认状态 剖析结果的属性 剖析结果的类型

DUPLICATE_ROWS_COUNT

数据集中的重复行计数

全部

Enable

duplicateRowsCount

Int

CORRELATION

两列之间的 Pearson 相关系数

数字

Enable

correlations(在每个选定列中)

对象

IncludedStatistics 中,您可以通过添加覆盖来覆盖每个评估的默认设置。每个覆盖项都包括特定评估的名称和参数映射。

DatasetStatisticsConfiguration 中,剖析作业支持 CORRELATION 覆盖。此覆盖计算选定列列表中两列之间的 Pearson 相关系数。默认设置是选择前 10 个数字列。您可以指定列数或列选择器列表来覆盖默认设置。

CORRELATION 采用以下参数:

  • columnNumber – 数字列的数量。剖析作业从数据集中选择前 n 列。此值应大于 1。使用 "ALL" 可选择所有数字列。

  • columnSelectors: – 列选择器列表。每个选择器可以包含列名或正则表达式。

下面是一个示例。

{ "Statistic": "CORRELATION", "Parameters": { "columnSelectors": "[{\"name\":\"example\"}, {\"regex\":\"example.*\"}]" } }

ColumnStatisticsConfigurations 部分

在结构的 ColumnStatisticsConfigurations 部分,您可以为特定列构建配置。ColumnStatisticsConfigurationsColumnStatisticsConfiguration 设置列表。在 ColumnStatisticsConfiguration 中,有 Selectors(一个列选择器列表)以及用于配置统计信息的 Statistics。下面是一个示例。

{ "Selectors": [{"Name": "example"} ], "Statistics": { "IncludedStatistics": ["CORRELATION", "DUPLICATE_ROWS_COUNT"] "Overrides": [ { "Statistic": "VALUE_DISTRIBUTION", "Parameters": { "binNumber": "10" } } ] } }

Selectors 是列选择器列表。与 ProfileColumns 相同,可以在每个列选择器中指定列名或正则表达式。当您指定 Selectors 时,列配置将应用于与 Selectors 中的任何列选择器匹配的列。否则,配置将应用于所有受支持的列。

Statistics 中,您可以覆盖选定列的设置。与 DatasetStatisticsConfiguration 相同,Statistics 具有 IncludedStatisticsOverrides

要选择所需的评估,请向 IncludedStatistics 中添加评估名称。

"IncludedStatistics": ["CORRELATION", "DUPLICATE_ROWS_COUNT"]

指定 IncludedStatistics 时,只有列表中的评估才会包含在剖析作业中。否则,剖析作业将使用默认设置运行所有受支持的评估。

您可以通过向 IncludedStatistics 中添加 NONE 来排除所有评估。

"IncludedStatistics": ["NONE"]

在某些情况下,在 ColumnStatisticsConfigurations 中可能存在多个不同的配置,它们具有不同的 IncludedStatistics 可应用于同一列。在这些情况下,剖析作业会选择 ColumnStatisticsConfigurations 中的最后一个配置并将其 IncludedStatistics 应用于所选列。新配置将覆盖旧配置。

列级别的可配置统计信息

ColumnStatisticsConfigurations 中,剖析作业支持下表所示的评估。

此表中受支持的 number 数据类型意味着该属性的数据类型为以下类型之一:ByteTypeShortTypeIntegerTypeLongTypeFloatTypeDoubleType

统计名称 描述 支持的数据类型 默认状态 剖析结果的属性 剖析结果的类型

列的名称。

全部

name

字符串

列的数据类型。

全部

类型

字符串

DISTINCT_VALUES_COUNT

相异值的数量。相异值是指至少出现一次的值。

number/boolean/string

已启用

distinctValuesCount

Int

ENTROPY

熵(信息论)。

number/boolean/string

已启用

entropy

双精度

INTER_QUARTILE_RANGE

范围介于数字的 25% 和 75% 之间。

数字

已启用

interquartileRange

双精度

KURTOSIS

列的峰度。

数字

已启用

峰度

双精度

MAX

列中的最大值。

数字/字符串长度

已启用

max

Int/Double

MAXIMUM_VALUES

列中的最大值及其计数列表。

数字

已启用

maximumValues

列表

MEAN

列中值的平均值。

数字/字符串长度

已启用

mean

双精度

MEDIAN

列中值的中值。

数字/字符串长度

已启用

median

双精度

MEDIAN_ABSOLUTE_DEVIATION

每个数据点与数值列中值之间绝对差异的中值。

数字

已启用

medianAbsoluteDeviation

双精度

MIN

列中的最小值。

数字/字符串长度

已启用

min

Int/Double

MINIMUM_VALUES

列中最小值及其计数列表。

数字

已启用

minimumValues

列表

MISSING_VALUES_COUNT

列中的缺失值数量。Null 和空字符串被视为缺失。

全部

已启用

missingValuesCount

Int

MODE

列中出现频率最高的值。如果经常出现几个值,则模式便是这些值之一。

数字/字符串长度

已启用

mode

Int/Double

MOST_COMMON_VALUES

列中最常见的值列表。

number/boolean/string

已启用

mostCommonValues

列表

OUTLIER_DETECTION

通过 Z_score 算法检测列中的异常值。对异常值的数量进行计数,并从检测到的异常值中提取样本列表。

数字/字符串长度

已启用

zScoreOutliers计数, zScoreOutliers采样

Int/List

PERCENTILES

数字列的百分位数值(5%、25%、75%、95%)。

数字

已启用

percentile5、percentile25、percentile75、percentile95

双精度

RANGE

列中值的范围。

数字

已启用

range

Int/Double

SKEWNESS

列中值的偏斜。

数字

已启用

skewness

双精度

STANDARD_DEVIATION

列中值的无偏样本标准差。

数字/字符串长度

已启用

standardDeviation

双精度

SUM

列中值的总和。

数字

已启用

sum

Int/Double

UNIQUE_VALUES_COUNT

唯一值的数量。唯一值意味着该值仅出现一次。

number/boolean/string

已启用

uniqueValuesCount

Int

VALUE_DISTRIBUTION

按范围测量列中值的分布。

数字/字符串长度

已启用

valueDistribution

列表

VARIANCE

列中值的方差。

数字

已启用

variance

双精度

Z_SCORE_DISTRIBUTION

按范围测量数据点 Z 分数值的分布。

数字

已启用

zScoreDistribution

列表

ZEROS_COUNT

列中零(0)的数量。

数字

已启用

zerosCount

Int

IncludedStatistics 中,您可以通过添加覆盖来覆盖每个评估的默认参数。每个覆盖项都包括特定评估的名称和参数映射。

ColumnStatisticsConfigurations 列的参数

ColumnStatisticsConfigurations 中,剖析作业支持以下参数。

在某些情况下,在 ColumnStatisticsConfigurations 中可能存在多个不同的配置,它们具有不同的 IncludedStatistics 可应用于同一列。在这些情况下,剖析作业会选择 ColumnStatisticsConfigurations 中的最后一个配置并将其 IncludedStatistics 应用于所选列。新配置将覆盖旧配置。

MAXIMUM_VALUES

列出数值列中的最大值及其计数。默认列表大小为 5。您可以通过指定 sampleSize 的值覆盖列表大小。

设置

sampleSize:列表的大小,包括数值列中的最大数字和值计数。此值应大于 0。使用 "ALL" 可列出所有值。

示例

{ "Statistic": "MAXIMUM_VALUES", "Parameters": { "sampleSize": "5" } }

MINIMUM_VALUES

列出数值列中的最小值及其计数。默认列表大小为 5。您可以通过指定 sampleSize 的值覆盖列表大小。

设置

sampleSize:列表的大小,包括数值列中的最大数字和值计数。此值应大于 0。使用 "ALL" 可列出所有值。

示例

{ "Statistic": "MINIMUM_VALUES", "Parameters": { "sampleSize": "5" } }

MOST_COMMON_VALUES

列出列中最常见的值及其计数。默认列表大小为 50。您可以通过指定 sampleSize 的值覆盖列表大小。

设置

sampleSize:列表的大小,包括数值列中的最大数字和值计数。此值应大于 0。使用 "ALL" 可列出所有值。

示例

{ "Statistic": "MOST_COMMON_VALUES", "Parameters": { "sampleSize": "50" } }

OUTLIER_DETECTION

通过 Z 分数算法检测数值列或字符串列中的异常值(基于字符串长度)。

您的剖析作业会对异常值的数量进行计数,并生成异常值及其 Z 分数的样本列表。该样本列表按 Z 分数的绝对值进行排序。默认列表大小为 50。

当一个值与均值的偏差超过标准差阈值时,Z 分数算法会将其标识为异常值。默认异常值阈值为 3。

您可以再提供一个阈值(即轻度阈值)以获取更多信息。轻度阈值应小于阈值。默认情况下,此功能处于关闭状态。如果指定了轻度阈值,则剖析作业会再返回一个计数,即 zScoreMildOutliersCount。此外,zScoreOutliersSample 在这种情况下可以包括一个轻度阈值异常值样本。

设置

  • threshold:要在检测异常值时使用的阈值。此值应大于或等于 0。

  • mildThreshold:要检测异常值时使用的轻度阈值。此值应大于或等于 0 并小于 threshold

  • sampleSize:列中包含异常值的列表的大小。使用 "ALL" 可列出所有值。

示例

{ "Statistic": "OUTLIER_DETECTION", "Parameters": { "threshold": "5", "mildThreshold": "3.5", "sampleSize": "20" } }

VALUE_DISTRIBUTION

按值范围测量列中值的分布。剖析作业按数值范围将数值列或字符串列(基于字符串长度)中的值分组到分箱,并生成分箱列表。分箱连续排列,存储桶的上限值是下一个存储桶的下限值。

设置

binNumber:分箱数量。此值应大于 0。

示例

{ "Statistic": "VALUE_DISTRIBUTION", "Parameters": { "binNumber": "5" } }

Z_SCORE_DISTRIBUTION

测量值的 Z 分数在数值列中的分布。剖析作业按数值范围将值的 Z 分数分组到分箱中,并生成分箱列表。分箱连续排列,存储桶的上限值是下一个存储桶的下限值。

设置

binNumber:分箱数量。此值应大于 0。

示例

{ "Statistic": "Z_SCORE_DISTRIBUTION", "Parameters": { "binNumber": "5" } }

EntityDetectorConfiguration 用于配置 PII 的部分

在结构EntityDetectorConfiguration部分中,您可以将数据集中要 DataBrew 检测为个人识别信息 (PII) 的实体类型配置为个人资料作业的个人身份信息 (PII)。

EntityTypes

您可以将要 DataBrew 检测的实体类型配置为个人资料作业的 PII。未定义 EntityDetectorConfiguration 时,禁用实体检测。可以在您的数据集中检测到以下实体类型:

  • USA_SSN

  • EMAIL

  • USA_ITIN

  • USA_PASSPORT_NUMBER

  • PHONE_NUMBER

  • USA_DRIVING_LICENSE

  • BANK_ACCOUNT

  • CREDIT_CARD

  • IP_ADDRESS

  • MAC_ADDRESS

  • USA_DEA_NUMBER

  • USA_HCPCS_CODE

  • USA_NATIONAL_PROVIDER_IDENTIFIER

  • USA_NATIONAL_DRUG_CODE

  • USA_HEALTH_INSURANCE_CLAIM_NUMBER

  • USA_MEDICARE_BENEFICIARY_IDENTIFIER

  • USA_CPT_CODE

  • PERSON_NAME

  • DATE

还支持实体类型组 USA_ALL,它包括除了 PERSON_NAMEDATE 之外的所有上述实体类型。

EntityTypes 的类型是一个字符串数组。

AllowedStatistics

配置允许在包含检测到的实体的列上运行的统计信息。如果未定义 AllowedStatistics,则不会对包含检测到的实体的列计算统计信息。有关 AllowedStatistics 参数的有效值列表,请参阅列级别的可配置统计信息

AllowedStatistics 的类型是一个 AllowedStatistics 对象数组。