在中以编程方式构建配置文件作业配置 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 SDK 来使用它们。

在分析作业中,您可以自定义配置以控制数据集的 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 未定义,则分析作业将评估所有支持的列。支持的列是包含支持的数据类型的列:ByteType、、ShortTypeIntegerTypeLongTypeFloatTypeDoubleTypeString、或Boolean

DatasetStatisticsConfiguration 部分

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

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

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

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

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

"IncludedStatistics": ["NONE"]

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

在您的结构DatasetStatisticsConfiguration部分中,配置文件作业支持下表所示的评估。

统计名称 描述 支持的数据类型 默认状态 个人资料结果的属性 个人资料结果的类型

重复行数

数据集中重复行的计数

all

Enable

duplicateRowsCount

Int

相关性

两列之间的 Pearson 相关系数

number

Enable

相关性(在每个选定列中)

对象

在中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,您可以覆盖选定列的设置。和,一样DatasetStatisticsConfigurationStatisticsIncludedStatisticsOverrides

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

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

如果指定IncludedStatistics,则只有列表中的评估才会包含在分析作业中。否则,配置文件作业将使用默认设置运行所有支持的评估。

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

"IncludedStatistics": ["NONE"]

在某些情况下,可能存在多个不同的配置IncludedStatistics,您可以将其应用于同一列。ColumnStatisticsConfigurations在这些情况下,配置文件作业会选择中的最后一个配置ColumnStatisticsConfigurations并将其应用IncludedStatistics于所选列。新配置会覆盖较旧的配置。

列级别的可配置统计数据

在中ColumnStatisticsConfigurations,配置文件作业支持下表所示的评估。

此表number中支持的数据类型为意味着该属性的数据类型为以下类型之一:ByteTypeShortTypeIntegerTypeLongTypeFloatType、或DoubleType

统计名称 描述 支持的数据类型 默认状态 个人资料结果的属性 个人资料结果的类型

列的名称。

all

name

字符串

列的数据类型。

all

type

字符串

不同值计数

不同值的数量。唯一是指至少出现一次的值。

数字/布尔值/字符串

已启用

distinctValuesCount

Int

熵(信息论)。

数字/布尔值/字符串

已启用

Double

INTER_QUARTIL_RANGE

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

number

已启用

四分位间距

Double

峰度

列的峰度。

number

已启用

峰度

Double

MAX

列中的最大值。

数字/字符串长度

已启用

max

Int/Double

最大值

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

number

已启用

最大值

列出

MEAN

列中值的平均值。

数字/字符串长度

已启用

mean

Double

MEDIAN

列中值的中位数。

数字/字符串长度

已启用

median

Double

中位数绝对偏差

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

number

已启用

medianAbsoluteDeviation

Double

MIN

列中的最小值。

数字/字符串长度

已启用

min

Int/Double

最小值

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

number

已启用

最小值

列出

缺失值计数

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

all

已启用

missingValuesCount

Int

MODE

列中出现频率最高的值。如果经常出现几个值,则模式就是其中一个值。

数字/字符串长度

已启用

mode

Int/Double

最常用的值

列中最常见的值的列表。

数字/布尔值/字符串

已启用

mostCommonValues

列出

异常值检测

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

数字/字符串长度

已启用

zScoreOutliers计数, zScoreOutliers采样

Int/List

百分位数

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

number

已启用

百分位数 5、百分位数 25、百分位数 75、百分位数 95

Double

RANGE

列中的值范围。

number

已启用

range

Int/Double

偏度

列中值的偏度。

number

已启用

偏度

Double

标准偏差

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

数字/字符串长度

已启用

标准差

Double

SUM

列中值的总和。

number

已启用

sum

Int/Double

唯一值计数

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

数字/布尔值/字符串

已启用

uniqueValuesCount

Int

价值分布

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

数字/字符串长度

已启用

价值分配

列出

VARIANCE

列中值的方差。

number

已启用

variance

Double

Z_SCORE_分布

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

number

已启用

zScoreDistribution

列出

零计数

列中零 (0) 的数量。

number

已启用

ZerosCount

Int

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

ColumnStatisticsConfigurations 列的参数

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

在某些情况下,可能存在多个不同的配置IncludedStatistics,您可以将其应用于同一列。ColumnStatisticsConfigurations在这些情况下,配置文件作业会选择中的最后一个配置ColumnStatisticsConfigurations并将其应用IncludedStatistics于所选列。新配置会覆盖较旧的配置。

最大值

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

设置

sampleSize— 列表的大小,包括数值列中的最大数目和最大值数。该值应大于 0。"ALL"用于列出所有值。

示例

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

最小值

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

设置

sampleSize— 列表的大小,包括数值列中的最大数目和最大值数。该值应大于 0。"ALL"用于列出所有值。

示例

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

最常用的值

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

设置

sampleSize— 列表的大小,包括数值列中的最大数目和最大值数。该值应大于 0。"ALL"用于列出所有值。

示例

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

异常值检测

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

您的个人资料作业会计算异常值的数量,并生成异常值及其的 z 分数的样本列表。样本列表按 z 分数的绝对值排序。默认列表大小为 50。

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

您可以再提供一个阈值,即温和的阈值,以获取更多信息。您的轻度阈值应小于阈值。默认情况下,此功能处于关闭状态。如果指定了温和的阈值,则您的个人资料工作会再返回一个计数zScoreMildOutliersCount。此外,在本例中zScoreOutliersSample可以包括温和阈值异常值的样本。

设置

  • threshold— 检测异常值时使用的阈值。该值应大于或等于 0。

  • mildThreshold— 检测异常值时使用的温和阈值。该值应大于或等于 0 且小于threshold

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

示例

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

价值分布

按值范围测量列中值的分布。配置任务按数字范围将数字列或字符串列(基于字符串长度)中的值分组到数据桶中,并生成数据桶列表。分区是连续的,存储桶的上限是下一个存储桶的下限。

设置

binNumber— 垃圾箱数量。该值应大于 0。

示例

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

Z_SCORE_分布

测量数值的 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_NAME和之外的所有上述实体类型DATE

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

AllowedStatistics

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

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