DataFreshness
Comprueba la actualización de los datos de una columna mediante la evaluación de la diferencia entre la hora actual y los valores de una columna de fecha. Puede indicar una expresión basada en el tiempo para este tipo de regla para asegurarse de que los valores de las columnas estén actualizados.
Sintaxis
DataFreshness
<COL_NAME>
<EXPRESSION>
COL_NAME: el nombre de la columna con la que quiere evaluar la regla de la calidad de los datos.
Tipos de columnas compatibles: fecha
EXPRESSION: una expresión numérica en horas o días. Debe indicar la unidad de tiempo en la expresión.
Ejemplo: actualización de los datos
Las siguientes reglas de ejemplo comprueban la actualización de los datos.
DataFreshness "Order_Date" <= 24 hours DataFreshness "Order_Date" between 2 days and 5 days
Comportamiento nulo
Las reglas DataFreshness
fallarán para las filas con valores NULL
. Si la regla falla debido a un valor nulo, la razón de la falla se mostrará de la siguiente manera:
80.00 % of rows passed the threshold
donde el 20 % de las filas que fallaron incluyen las filas con valores NULL
.
El ejemplo de regla compuesta a continuación presenta una manera de permitir de manera explícita los valores NULL
:
(DataFreshness "Order_Date" <= 24 hours) OR (ColumnValues "Order_Date" = NULL)
Actualización de datos para objetos de Amazon S3
En ocasiones, tendrá que validar la actualización de los datos en función del tiempo de creación del archivo de Amazon S3. Para ello, puede usar el siguiente código para obtener la marca temporal y añadirla a su marco de datos y, a continuación, aplicar las comprobaciones de actualización de los datos.
df = glueContext.create_data_frame.from_catalog(database = "default", table_name = "mytable") df = df.withColumn("file_ts", df["_metadata.file_modification_time"]) Rules = [ DataFreshness "file_ts" < 24 hours ]