

# DataFreshness
<a name="dqdl-rule-types-DataFreshness"></a>

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\$1NAME**: 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 
]
```