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

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

案例操作

根据逻辑条件 CASE 的结果创建一个新列。case 操作经历案例条件,并在满足第一个条件时返回一个值。一旦条件为真,操作将停止读取并返回结果。如果没有条件为真,则返回默认值。

Parameters
  • valueExpression— 条件。

  • withExpressions— 聚合结果的配置。

  • targetColumn— 新创建的列的名称。

例 Example

{ "RecipeStep": { "Action": { "Operation": "CASE_OPERATION", "Parameters": { "valueExpression": "case when `column11` < `column.2` then 'result1' when `column2` < 'value2' then 'result2' else 'high' end", "targetColumn": "result.column" } } } }

有效的聚合函数

下表显示了可在案例操作中使用的所有有效聚合函数。

Column Type Condition 值表达式 含表达式 返回值

数值

总计

`:和列 .1`

[ { "name": "sum.column.1", "value": "sum(`column.1`)", "type": "aggregate" } ]

返回column.1

Mean

`:平均值。列 .1`

[ { "name": "mean.column.1", "value": "avg(`column.1`)", "type": "aggregate" } ]

返回的均值column.1

平均绝对偏差

`:均值绝对偏差。列 .1`

[ { "name": "meanabsolutedeviation.column.1", "value": "mean_absolute_deviation(`column.1`)", "type": "aggregate" } ]

返回column.1

MEDIAN

`:中位数。列 .1`

[ { "name": "median.column.1", "value": "median(`column.1`)", "type": "aggregate" } ]

返回column.1

产品

`:产品。列 .1`

[ { "name": "product.column.1", "value": "product(`column.1`)", "type": "aggregate" } ]

返回的产品column.1

标准偏差

`:标准偏差。列 .1`

[ { "name": "standarddeviation.column.1", "value": "stddev(`column.1`)", "type": "aggregate" } ]

返回column.1

VANCE

`:变异。列 .1`

[ { "name": "variance.column.1", "value": "variance(`column.1`)", "type": "aggregate" } ]

返回column.1

均值的标准误

`:标准平均值 .栏 .1`

[ { "name": "standarderrorofmean.column.1", "value": "standard_error_of_mean(`column.1`)", "type": "aggregate" } ]

返回平均值的标准误column.1

偏斜

`:偏斜。列 .1`

[ { "name": "skewness.column.1", "value": "skewness(`column.1`)", "type": "aggregate" } ]

返回column.1

峰度

`:库尔多西 .1`

[ { "name": "kurtosis.column.1", "value": "kurtosis(`column.1`)", "type": "aggregate" } ]

返回column.1

日期时间/数字/文本

计数

`:计数。列 .1`

[ { "name": "count.column.1", "value": "count(`column.1`)", "type": "aggregate" } ]

返回中的column.1

计数不同

`:数目不同。列 .1`

[ { "name": "count.column.1", "value": "count(distinct `column.1`)", "type": "aggregate" } ]

返回中的不同行总数。column.1

Min

`:最小列 .1`

[ { "name": "min.column.1", "value": "min(`column.1`)", "type": "aggregate" } ]

返回最小值column.1

Max

`:最大列 .1`

[ { "name": "max.column.1", "value": "max(`column.1`)", "type": "aggregate" } ]

返回最大值column.1

值表达式中的有效条件

下表显示了支持的条件以及您可以使用的值表达式。

Column Type Condition 值表达式 描述

字符串

包含

包含(“列”,“文本”)

测试列中的值是否包含文本的条件

不包含

! 包含(“列”,“文本”)

测试列中的值是否不包含文本的条件

匹配项

匹配(“列”,“模式”)

测试列中的值是否与模式匹配的条件

不匹配

! 匹配(“列”,“模式”)

测试列中的值是否与模式不匹配的条件

从 开始

开头为(`列`,'文本')

测试列中的值是否以文本开头的条件

不以

! 开头为(`列`,'文本')

测试列中的值是否不以文本开头的条件

Ends with

结尾为(`列`,'文本')

测试列中的值是否以文本结尾的条件

不结束

! 结尾为(`列`,'文本')

测试列中的值是否以文本结尾的条件

数值

小于

“列” < 数字

测试列中的值是否小于数字的条件

小于或等于

“列” <= 数字

测试列中的值是否小于或等于的数的条件。

大于

`列` > 数字

测试列中的值是否大于数字的条件

大于或等于

`列` >= 数字

测试列中的值是否大于或等于的数的条件。

介于

介于(“列”、“最小数字”、“最大数字”)

测试列中的值是否介于最小数字和最大数字之间的条件

不介于

! 介于(“列”、“最小数字”、“最大数字”)

测试列中的值是否不介于最小数字和最大数字之间的条件

Boolean

true

`列` = 真

测试列中的值是否为布尔值 TRUE 的条件

false

`列` = 假

测试列中的值是否为布尔值 FALSE 的条件

日期/时间stamp

早于

`列` < '日期'

测试列中的值是否早于日期的条件

早于或等于

“列 '<= '日期'

用于测试列中的值是否早于或等于日期的条件

晚于

`列` > '日期'

测试列中的值是否晚于日期的条件

晚于或等于

“列 '>= '日期'

用于测试列中的值是否晚于或等于日期的条件

字符串/数字/日期/时间戳

恰好

`列` = '值'

测试列中的值是否完全是值的条件

不是

“列”! = '值'

测试列中的值是否不是值的条件

缺少

缺少(“列”)

测试列中的值是否缺失的条件

未缺少

! 缺少(“列”)

测试列中的值是否不缺失的条件

有效性

isValid(`列`,数据类型)

测试列中的值是否有效的条件(该值为数据类型或者可以转换为数据类型)

无效

! isValid(`列`,数据类型)

测试列中的值是否无效的条件(该值为数据类型或者可以转换为数据类型)

嵌套

缺少

缺少(“列”)

测试列中的值是否缺失的条件

未缺少

! 缺少(“列”)

测试列中的值是否不缺失的条件

有效性

isValid(`列`,数据类型)

测试列中的值是否有效的条件(该值为数据类型或者可以转换为数据类型)

无效

! isValid(`列`,数据类型)

测试列中的值是否无效的条件(该值为数据类型或者可以转换为数据类型)