FileFreshness - 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à.

FileFreshness

FileFreshness assicura che i file di dati siano aggiornati in base alle condizioni fornite. Utilizza l'ora dell'ultima modifica dei file per garantire che i file di dati o l'intera cartella lo siano up-to-date.

Questa regola comprende due metriche:

  • FileFreshness conformità basata sulla regola impostata

  • Numero di file sottoposti a scansione dalla regola

{"Dataset.*.FileFreshness.Compliance":1,"Dataset.*.FileCount":1}

Il rilevamento delle anomalie non tiene in considerazione questi parametri.

Controllo dell'aggiornamento dei file

La seguente regola garantisce che tickets.parquet sia stato creato nelle ultime 24 ore.

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/tickets.parquet" > (now() - 24 hours)

Controllo dell'aggiornamento delle cartelle

La seguente regola viene applicata se tutti i file nella cartella sono stati creati o modificati nelle ultime 24 ore.

FileFreshness "s3://bucket/" >= (now() -1 days) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" >= (now() - 24 hours)

Controllo dell'aggiornamento di cartelle o file con soglia

La seguente regola viene applicata se il 10% dei file nella cartella "tickets" è stato creato o modificato negli ultimi 10 giorni.

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" < (now() - 10 days) with threshold > 0.1

Controllo di file o cartelle con date specifiche

Puoi controllare l'aggiornamento dei file per giorni specifici.

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > "2020-01-01" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "2023-01-01" and "2024-01-01"

Controllo di file o cartelle con l'orario

Puoi usarlo FileFreshness per assicurarti che i file arrivino in determinati orari.

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between now() and (now() - 45 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "9:30 AM" and "9:30 PM" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > (now() - 10 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > now() FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between (now() - 2 hours) and (now() + 15 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between (now() - 3 days) and (now() + 15 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "2001-02-07" and (now() + 15 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > "21:45"" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > "2024-01-01" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "02:30" and "04:30" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "9:30 AM" and "22:15"

Considerazioni chiave:

  • FileFreshness può valutare i file utilizzando unità di giorni, ore e minuti

  • Per l'ora, supporta il formato AM/PM e il formato a 24 ore

  • Gli orari sono calcolati in UTC, salvo diversamente specificato

  • Le date sono calcolate in UTC alle ore 00:00

FileFreshness che sono lavori basati sul tempo come segue:

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > "21:45"
  • Per prima cosa, l'ora "21:45" viene combinata con la data odierna in formato UTC per creare un campo data-ora

  • Successivamente, la data e l'ora vengono convertite nel fuso orario specificato

  • Infine, la regola viene valutata

Tag delle regole opzionali basati su file:

I tag permettono di controllare il comportamento delle regole.

recentFiles

Questo tag limita il numero di file elaborati mantenendo il file più recente per primo.

FileFreshness "s3://amzn-s3-demo-bucket/" between (now() - 100 minutes) and (now() + 10 minutes) with recentFiles = 1

timezone

Sostituzioni di fuso orario accettate. Consulta Fusi orari consentiti per i fusi orari supportati.

FileFreshness "s3://path/" > "21:45" with timeZone = "America/New_York"
FileFreshness "s3://path/" > "21:45" with timeZone = "America/Chicago"
FileFreshness "s3://path/" > "21:45" with timeZone = "Europe/Paris"
FileFreshness "s3://path/" > "21:45" with timeZone = "Asia/Shanghai"
FileFreshness "s3://path/" > "21:45" with timeZone = "Australia/Darwin"

Dedurre i nomi dei file direttamente dai data frame

Non è sempre necessario fornire un percorso del file. Ad esempio, quando si crea la regola nel AWS Glue Data Catalog, può essere difficile trovare le cartelle utilizzate dalle tabelle del catalogo. AWS Glue Data Quality è in grado di trovare le cartelle o i file specifici utilizzati per popolare il tuo dataframe e può rilevare se sono nuovi.

Nota

Questa funzione funziona solo quando i file vengono letti correttamente in sala operatoria. DynamicFrame DataFrame

FileFreshness > (now() - 24 hours)

Questa regola individuerà il percorso della cartella o i file usati per popolare il frame dinamico o il frame di dati. Funziona con i percorsi Amazon S3 o le tabelle AWS Glue Data Catalog basate su Amazon S3. Occorre tenere presente alcuni aspetti:

  1. In AWS Glue ETL, è necessario disporre di EvaluateDataQualityTransform subito dopo una trasformazione di Amazon S3 o AWS Glue Data Catalog.

    La schermata mostra un nodo Evaluate Data Quality connesso a un nodo Amazon S3.
  2. Questa regola non funzionerà nelle sessioni interattive di AWS Glue.

Se provi a farlo in entrambi i casi o quando AWS Glue non riesce a trovare i file, AWS Glue genererà il seguente errore: “Unable to parse file path from DataFrame”