AggregateMatch - AWS Glue

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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, sum e avg sã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 ter 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.