ReferentialIntegrity - AWS Glue

ReferentialIntegrity

Comprueba en qué medida los valores de un conjunto de columnas en el conjunto de datos principal son un subconjunto de los valores de un conjunto de columnas en un conjunto de datos de referencia.

Sintaxis

ReferentialIntegrity <PRIMARY_COLS> <REFERENCE_DATASET_COLS> <EXPRESSION>
  • PRIMARY_COLS: una lista de nombres de columnas separados por comas en el conjunto de datos principal.

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

  • REFERENCE_DATASET_COLS: este parámetro contiene dos partes separadas por un punto. La primera parte es el alias del conjunto de datos de referencia. La segunda parte es la lista de nombres de columnas separados por comas en el conjunto de datos de referencia entre corchetes.

    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: compruebe la integridad referencial de una columna de código postal

La siguiente regla de ejemplo comprueba que más del 90 % de los valores en la columna zipcode en el conjunto de datos principal estén presentes en la columna zipcode en el conjunto de datos de reference.

ReferentialIntegrity "zipcode" "reference.zipcode" >= 0.9

Ejemplo: compruebe la integridad referencial de las columnas de ciudad y estado

En el siguiente ejemplo, las columnas que contienen información sobre la ciudad y el estado existen en el conjunto de datos principal y en el conjunto de datos de referencia. Los nombres de las columnas son diferentes en ambos conjuntos de datos. La regla comprueba si el conjunto de valores de las columnas en el conjunto de datos principal es exactamente igual al conjunto de valores de las columnas en el conjunto de datos de referencia.

ReferentialIntegrity "city,state" "reference.{ref_city,ref_state}" = 1.0

Muestra de reglas dinámicas

  • ReferentialIntegrity "city,state" "reference.{ref_city,ref_state}" > avg(last(10))

  • ReferentialIntegrity "city,state" "reference.{ref_city,ref_state}" between min(last(10)) - 1 and max(last(10)) + 1