DataFreshness - AWS Glue

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 ]