

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

Verifica a atualidade dos dados em uma coluna avaliando a diferença entre a hora atual e os valores de uma coluna de data. Você pode especificar uma expressão baseada em tempo para esse tipo de regra para garantir que os valores das colunas estejam atualizados.

**Sintaxe**

```
DataFreshness {{<COL_NAME>}} {{<EXPRESSION>}}
```
+ **COL\_NAME**: o nome da coluna em relação à qual você deseja avaliar a regra de qualidade de dados.

  **Tipos de coluna compatíveis**: data 
+ **EXPRESSION**: uma expressão numérica em horas ou dias. Você deve especificar a unidade de tempo na expressão.

**Exemplo: atualidade dos dados**

O exemplo de regras a seguir verifica a atualidade dos dados.

```
DataFreshness "Order_Date" <= 24 hours
DataFreshness "Order_Date" between 2 days and 5 days
```

**Comportamento nulo**

 As regras `DataFreshness` falharão para linhas com valores `NULL`. Se a regra falhar devido a um valor nulo, o motivo da falha exibirá o seguinte: 

```
80.00 % of rows passed the threshold
```

 onde 20% das linhas que falharam incluem as linhas com `NULL`. 

 O exemplo de regra composta a seguir fornece uma maneira de permitir explicitamente valores `NULL`: 

```
(DataFreshness "Order_Date" <= 24 hours) OR (ColumnValues "Order_Date" = NULL)
```

**Atualidade dos dados para objetos do Amazon S3**

 Às vezes, você precisará validar a atualidade dos dados com base na hora de criação do arquivo Amazon S3. Para fazer isso, é possível usar o código a seguir para obter o carimbo de data/hora e adicioná-lo ao seu quadro de dados e, em seguida, aplicar as verificações de atualidade dos dados. 

```
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 
]
```