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