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à.
Lettura di file di input in gruppi di grandi dimensioni
Puoi impostare le proprietà delle tabelle per permettere a un processo ETL AWS Glue di raggruppare i file quando vengono letti da un datastore Amazon S3. Queste proprietà permettono a ogni attività ETL di leggere un gruppo di file di input in una singola partizione in memoria. Ciò è particolarmente utile quando è presente un numero elevato di file di piccole dimensioni nel datastore Amazon S3. Quando imposti determinate proprietà, indichi ad AWS Glue di raggruppare i file in una partizione dati Amazon S3 e di impostare la dimensione dei gruppi da leggere. Puoi anche impostare queste opzioni durante la lettura da un datastore Amazon S3 con il metodo create_dynamic_frame.from_options
.
Per abilitare il raggruppamento di file in una tabella, devi impostare coppie di valore chiave nel campo parametri della struttura della tabella. Utilizza la notazione JSON per impostare un valore per il campo parametri della tabella. Per ulteriori informazioni sulle modifiche delle proprietà di una tabella, consulta Visualizzazione e gestione dei dettagli della tabella.
Puoi usare questo metodo per abilitare il raggruppamento per le tabelle nel catalogo dati con i datastore Amazon S3.
- groupFiles
-
Imposta groupFiles su
inPartition
per abilitare il raggruppamento dei file all'interno di una partizione dati Amazon S3. AWS Glue abilita automaticamente il raggruppamento se ci sono più di 50.000 file di input, come nel seguente esempio.'groupFiles': 'inPartition'
- groupSize
-
Imposta groupSize (Dimensione gruppo) alla dimensione target dei gruppi in byte. La proprietà groupSize è facoltativa e se non è presente AWS Glue calcola una dimensione per usare tutti i core della CPU nel cluster, riducendo comunque il numero complessivo di attività ETL e di partizioni in memoria.
Ad esempio, di seguito viene impostata la dimensione del gruppo su 1 MB.
'groupSize': '1048576'
È necessario impostare
groupsize
con il risultato di un calcolo. Ad esempio 1024 * 1024 = 1048576. - recurse
-
Imposta recurse su
True
per leggere in modo ricorsivo i file in tutte le sottodirectory quando si specificapaths
come una matrice di percorsi. Non è necessario impostare recurse sepaths
è una matrice di chiavi di oggetti in Amazon S3 o se il formato di input è parquet/orc, come nell'esempio seguente.'recurse':True
Se leggi da Amazon S3 utilizzando direttamente il metodo create_dynamic_frame.from_options
, aggiungi queste opzioni di connessione. Ad esempio, i seguenti tentativi di raggruppare file in gruppi da 1 MB.
df = glueContext.create_dynamic_frame.from_options("s3", {'paths': ["s3://s3path/"], 'recurse':True, 'groupFiles': 'inPartition', 'groupSize': '1048576'}, format="json")
Nota
groupFiles
è supportato per DynamicFrames creati dai seguenti formati di dati: csv, ion, grokLog, json e xml. Questa opzione non è supportata per avro, parquet e orc.