DataFreshness - AWS Glue

DataFreshness

Vérifie l’actualisation des données d’une colonne en évaluant la différence entre l’heure actuelle et les valeurs d’une colonne de date. Pour ce type de règle, vous pouvez spécifier une expression temporelle afin de vérifier que les valeurs des colonnes sont à jour.

Syntaxe

DataFreshness <COL_NAME> <EXPRESSION>
  • COL_NAME – Nom de la colonne par rapport à laquelle la règle de qualité des données doit être évaluée.

    Types de colonne pris en charge : Date

  • EXPRESSION – Expression numérique exprimée en heures ou en jours. Vous devez spécifier l’unité de temps dans votre expression.

Exemple : actualisation des données

Les exemples de règles suivants vérifient l’actualisation des données.

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

Comportement null

Les règles DataFreshness échoueront pour les lignes contenant des valeurs NULL. Si la règle échoue en raison d’une valeur null, la raison de l’échec s’affichera comme suit :

80.00 % of rows passed the threshold

où 20 % des lignes qui ont échoué incluent les lignes avec NULL.

L’exemple de règle composée suivant fournit un moyen d’autoriser explicitement des valeurs NULL :

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

Actualité des données pour les objets Amazon S3

Vous devrez parfois valider l’actualité des données en fonction de l’heure de création du fichier Amazon S3. Pour ce faire, vous pouvez utiliser le code suivant pour obtenir l’horodatage et l’ajouter à votre trame de données, puis appliquer des contrôles d’actualité des données.

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 ]