AggregateMatch
Verifica a razão de agregações de duas colunas em relação a uma dada expressão. Esse tipo de regra funciona em vários conjuntos de dados. As agregações de duas colunas são avaliadas e uma razão é produzida dividindo o resultado da agregação da primeira coluna pelo resultado da agregação da segunda coluna. A razão é verificada em relação à expressão fornecida para produzir uma resposta booleana.
Sintaxe
Agregação de colunas
AggregateMatch<AGG_OPERATION>(<OPTIONAL_REFERENCE_ALIAS>.<COL_NAME>)
AGG_OPERATION: a operação a ser usada para a agregação. No momento,
sumeavgsão compatíveis.Tipos de coluna compatíveis: byte, decimal, duplo, flutuante, inteiro, longo, curto
OPTIONAL_REFERENCE_ALIAS: esse parâmetro precisa ser fornecido se a coluna for de um conjunto de dados de referência e não do conjunto de dados primário. Se você estiver usando essa regra no catálogo de dados do AWS Glue, o alias de referência deverá seguir o formato "<nome_banco de dados>.<nome_tabela>.<nome_coluna>
Tipos de coluna compatíveis: byte, decimal, duplo, flutuante, inteiro, longo, curto
COL_NAME: o nome da coluna a ser agregada.
Tipos de coluna compatíveis: byte, decimal, duplo, flutuante, inteiro, longo, curto
Exemplo: média
"avg(rating)"
Exemplo: soma
"sum(amount)"
Exemplo: média da coluna no conjunto de dados de referência
"avg(reference.rating)"
Regra
AggregateMatch<AGG_EXP_1><AGG_EXP_2><EXPRESSION>
AGG_EXP_1: a agregação da primeira coluna.
Tipos de coluna compatíveis: byte, decimal, duplo, flutuante, inteiro, longo, curto
Tipos de coluna compatíveis: byte, decimal, duplo, flutuante, inteiro, longo, curto
AGG_EXP_2: a agregação da segunda coluna.
Tipos de coluna compatíveis: byte, decimal, duplo, flutuante, inteiro, longo, curto
Tipos de coluna compatíveis: byte, decimal, duplo, flutuante, inteiro, longo, curto
EXPRESSION: uma expressão a ser executada na resposta do tipo de regra para produzir um valor booliano. Para obter mais informações, consulte Expressões.
Exemplo: Aggregate Match usando soma
O exemplo de regra a seguir verifica se a soma dos valores na coluna amount é exatamente igual à soma dos valores na coluna total_amount.
AggregateMatch "sum(amount)" "sum(total_amount)" = 1.0
Exemplo: Aggregate Match usando média
O exemplo de regra a seguir verifica se a média dos valores na coluna ratings é igual a pelo menos 90% da média dos valores na coluna ratings no conjunto de dados reference. O conjunto de dados de referência é fornecido como uma fonte de dados adicional na experiência de ETL ou do catálogo de dados.
No AWS Glue ETL, você pode usar:
AggregateMatch "avg(ratings)" "avg(reference.ratings)" >= 0.9
No catálogo de dados do AWS Glue, você pode usar:
AggregateMatch "avg(ratings)" "avg(database_name.tablename.ratings)" >= 0.9
Comportamento nulo
A AggregateMatch regra ignorará as linhas com valores NULL no cálculo dos métodos de agregação (soma/média). Por exemplo:
+---+-----------+ |id |units | +---+-----------+ |100|0 | |101|null | |102|20 | |103|null | |104|40 | +---+-----------+
A média da coluna units será (0 + 20 + 40)/3 = 20. As linhas 101 e 103 não são consideradas nesse cálculo.