AggregateMatch - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AggregateMatch

Comprueba la relación de dos agregaciones de columnas con respecto a una expresión determinada. Este tipo de regla funciona en varios conjuntos de datos. Se evalúan las agregaciones de dos columnas y se obtiene una relación al dividir el resultado de la agregación de la primera columna por el resultado de la agregación de la segunda columna. La relación se comprueba con la expresión proporcionada para producir una respuesta booleana.

Sintaxis

Agregación de columnas

AggregateMatch <AGG_OPERATION> (<OPTIONAL_REFERENCE_ALIAS>.<COL_NAME>)
  • AGG_OPERATION: la operación que se debe utilizar para la agregación. sum y avg se admiten en la actualidad.

    Tipos de columnas compatibles: byte, decimal, doble, flotante, entero, largo, corto

  • OPTIONAL_REFERENCE_ALIAS: este parámetro debe proporcionarse si la columna proviene de un conjunto de datos de referencia y no del conjunto de datos principal. Si utiliza esta regla en el Catálogo de datos de AWS Glue, su alias de referencia debe tener el formato "<database_name>.<table_name>.<column_name>

    Tipos de columnas compatibles: byte, decimal, doble, flotante, entero, largo, corto

  • COL_NAME: el nombre de la columna que se va a agregar.

    Tipos de columnas compatibles: byte, decimal, doble, flotante, entero, largo, corto

Ejemplo: promedio

"avg(rating)"

Ejemplo: suma

"sum(amount)"

Ejemplo: promedio de la columna en el conjunto de datos de referencia

"avg(reference.rating)"

Regla

AggregateMatch <AGG_EXP_1> <AGG_EXP_2> <EXPRESSION>
  • AGG_EXP_1: la agregación de la primera columna.

    Tipos de columnas compatibles: byte, decimal, doble, flotante, entero, largo, corto

    Tipos de columnas compatibles: byte, decimal, doble, flotante, entero, largo, corto

  • AGG_EXP_2: la agregación de la segunda columna.

    Tipos de columnas compatibles: byte, decimal, doble, flotante, entero, largo, corto

    Tipos de columnas compatibles: byte, decimal, doble, flotante, entero, largo, corto

  • EXPRESSION: una expresión que se ejecuta en función de la respuesta del tipo de regla para producir un valor booleano. Para obtener más información, consulte Expressions.

Ejemplo: coincidencia agregada mediante suma

La siguiente regla de ejemplo comprueba si la suma de los valores en la columna amount es exactamente igual a la suma de los valores en la columna total_amount.

AggregateMatch "sum(amount)" "sum(total_amount)" = 1.0

Ejemplo: coincidencia agregada mediante promedio

La siguiente regla de ejemplo comprueba si el promedio de los valores en la columna ratings es igual al 90 %, como mínimo, del promedio de los valores en la columna ratings en el conjunto de datos reference. El conjunto de datos de referencia se proporciona como origen de datos adicional en la experiencia ETL o el Catálogo de datos.

En AWS Glue ETL, puede usar:

AggregateMatch "avg(ratings)" "avg(reference.ratings)" >= 0.9

En el Catálogo de datos de AWS Glue, puede usar:

AggregateMatch "avg(ratings)" "avg(database_name.tablename.ratings)" >= 0.9

Comportamiento nulo

La regla AggregateMatch ignorará las filas con valores nulos al momento de calcular los métodos de agregación (suma/media). Por ejemplo:

+---+-----------+ |id |units | +---+-----------+ |100|0 | |101|null | |102|20 | |103|null | |104|40 | +---+-----------+

La media de la columna units será (0 + 20 + 40) / 3 = 20. Las filas 101 y 103 no se tienen en cuenta para este cálculo.