DataFreshness - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

DataFreshness

Verifica l'aggiornamento dei dati in una colonna valutando la differenza tra l'ora corrente e i valori di una colonna di date. È possibile specificare un'espressione basata sul tempo per questo tipo di regola per assicurarsi che i valori delle colonne siano aggiornati.

Sintassi

DataFreshness <COL_NAME> <EXPRESSION>
  • COL_ NAME — Il nome della colonna in base alla quale si desidera valutare la regola di qualità dei dati.

    Tipi di colonne supportati: Data

  • EXPRESSION— Un'espressione numerica espressa in ore o giorni. È necessario specificare l'unità di tempo nell'espressione.

Esempio: freschezza dei dati

Le seguenti regole di esempio controllano la freschezza dei dati, ovvero quanto sono aggiornati.

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

Comportamento nullo

Le DataFreshness regole avranno esito negativo per le righe con NULL valori. Se la regola fallisce a causa di un valore nullo, il motivo dell'errore sarà il seguente:

80.00 % of rows passed the threshold

dove il 20% delle righe che hanno avuto esito negativo include le righe conNULL.

La seguente regola composta di esempio fornisce un modo per consentire esplicitamente NULL i valori:

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

Freschezza dei dati per oggetti Amazon S3

A volte è necessario convalidare l'aggiornamento dei dati in base all'ora di creazione del file Amazon S3. A tale scopo, puoi utilizzare il codice seguente per ottenere il timestamp e aggiungerlo al tuo dataframe, quindi applicare i controlli di Data Freshness.

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 ]