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 garantisce che i tuoi file di dati siano aggiornati in base alle condizioni da te specificate. Utilizza l'ora dell'ultima modifica dei tuoi file per garantire che i file di dati o l'intera cartella siano aggiornati.

Questa regola comprende due metriche:

  • Conformità a FileFreshness in base alla 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 usare FileFreshness per assicurarti che i file siano arrivati sulla base di 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 usando 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 basato sul tempo funziona 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 una regola in AWS Glue Data Catalog, potrebbe essere difficile individuare le cartelle usate dalle tabelle del catalogo. AWS Qualità dei dati di Glue è in grado di individuare le cartelle o i file specifici utilizzati per popolare il data frame e di rilevare se sono aggiornati.

Nota

Questa funzionalità funziona solo quando i file vengono letti correttamente nel DynamicFrame o nel 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 per 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 che la trasformazione EvaluateDataQuality sia immediatamente successiva a una trasformazione 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 funziona nelle sessioni interattive di AWS Glue.

Se si tenta di eseguire questa operazione 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”