本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中以编程方式构建配置文件作业配置 AWS Glue DataBrew
在本节中,您可以找到配置文件作业步骤和可以以编程方式使用的功能的描述。您可以从 AWS Command Line Interface (AWS CLI) 中使用它们,也可以使用其中一个 AWS 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
、、ShortType
、IntegerType
、LongType
、FloatType
DoubleType
、String
、或Boolean
。
DatasetStatisticsConfiguration 部分
在结构的DatasetStatisticsConfiguration
部分中,您可以为列间评估构建配置。该配置包括IncludedStatistics
和Overrides
。下面是一个示例。
"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
部分中,您可以为特定列构建配置。 ColumnStatisticsConfigurations
是ColumnStatisticsConfiguration
设置列表。里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
有IncludedStatistics
和Overrides
。
要选择所需的评估,请向中添加评估名称IncludedStatistics
。
"IncludedStatistics": ["CORRELATION", "DUPLICATE_ROWS_COUNT"]
如果指定IncludedStatistics
,则只有列表中的评估才会包含在分析作业中。否则,配置文件作业将使用默认设置运行所有支持的评估。
您可以通过添加NONE
来排除所有评估IncludedStatistics
。
"IncludedStatistics": ["NONE"]
在某些情况下,可能存在多个不同的配置IncludedStatistics
,您可以将其应用于同一列。ColumnStatisticsConfigurations
在这些情况下,配置文件作业会选择中的最后一个配置ColumnStatisticsConfigurations
并将其应用IncludedStatistics
于所选列。新配置会覆盖较旧的配置。
列级别的可配置统计数据
在中ColumnStatisticsConfigurations
,配置文件作业支持下表所示的评估。
此表number
中支持的数据类型为意味着该属性的数据类型为以下类型之一:ByteType
、ShortType
、IntegerType
LongType
、FloatType
、或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
对象数组。