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à.
Puoi usare AWS Glue for Spark per leggere e scrivere file in Amazon S3. AWS Glue for Spark supporta immediatamente molti formati di dati comuni archiviati in Amazon S3, tra cui CSV, Avro, JSON, Orc e Parquet. Per ulteriori informazioni sui formati di dati supportati, consulta la pagina Opzioni di formato dei dati per ingressi e uscite in AWS Glue per Spark. Ogni formato di dati può supportare un set diverso di funzionalità AWS Glue. Consulta la pagina relativa al formato dei dati per le specifiche del supporto delle funzionalità. Inoltre, puoi leggere e scrivere file con versioni diverse archiviati nei framework di data lake Hudi, Iceberg e Delta Lake. Per ulteriori informazioni sui framework di data lake, consulta la pagina Utilizzo di framework di data lake con AWS Glue processi ETL.
Con AWS Glue puoi partizionare i tuoi oggetti Amazon S3 in una struttura di cartelle durante la scrittura, quindi recuperarli per partizione per migliorare le prestazioni utilizzando una semplice configurazione. È inoltre possibile impostare la configurazione per raggruppare file di piccole dimensioni durante la trasformazione dei dati per migliorare le prestazioni. In Amazon S3 è possibile leggere e scrivere archivi bzip2
e gzip
.
Configurazione delle connessioni S3
Per connetterti ad Amazon S3 con un job AWS Glue with Spark, avrai bisogno di alcuni prerequisiti:
-
Il job AWS Glue deve disporre delle autorizzazioni IAM per i bucket Amazon S3 pertinenti.
In alcuni casi, è necessario configurare ulteriori prerequisiti:
-
Quando configuri l'accesso multi-account, configura i controlli dell'accesso appropriati nel bucket Amazon S3.
-
Per motivi di sicurezza, è possibile scegliere di instradare le richieste Amazon S3 tramite un Amazon VPC. Questo approccio può introdurre problematiche relative alla larghezza di banda e alla disponibilità. Per ulteriori informazioni, consulta Endpoint Amazon VPC per Amazon S3.
Indicazioni di riferimento alle opzioni di connessione ad Amazon S3
Indica una connessione ad Amazon S3.
Poiché Amazon S3 gestisce i file anziché le tabelle, oltre a specificare le proprietà di connessione fornite in questo documento, dovrai specificare una configurazione aggiuntiva sul tipo di file. Queste informazioni vengono specificate tramite le opzioni di formato dei dati. Per ulteriori informazioni sulle opzioni di formato, consulta la pagina Opzioni di formato dei dati per ingressi e uscite in AWS Glue per Spark. È inoltre possibile specificare queste informazioni mediante l'integrazione con Catalogo dati AWS Glue.
Per un esempio della distinzione tra opzioni di connessione e opzioni di formato, prendi in considerazione come il metodo create_dynamic_frame_from_options recepisce connection_type
, connection_options
, format
e format_options
. Questa sezione illustra in modo specifico i parametri forniti a connection_options
.
Utilizzare le seguenti opzioni di connessione con "connectionType": "s3"
:
-
"paths"
: (Obbligatorio) un elenco dei percorsi Amazon S3 da cui leggere. -
"exclusions"
: (facoltativo) una stringa contenente un elenco di JSON di modelli glob in stile Unix da escludere. Ad esempio"[\"**.pdf\"]"
esclude tutti i file PDF. Per ulteriori informazioni sulla sintassi glob AWS Glue supporti, vedi Include ed Exclude Patterns. -
"compressionType"
: o "compression
": (facoltativo) specifica il modo in cui i dati sono compressi. Utilizza"compressionType"
per origini Amazon S3 e"compression"
per destinazioni Amazon S3. In genere questo non è necessario se i dati hanno un'estensione del file standard. I valori possibili sono"gzip"
e"bzip2"
). È possibile che vengano supportati formati di compressione aggiuntivi per formati specifici. Per i dettagli sul supporto delle varie funzionalità, consulta la pagina relativa al formato dei dati. -
"groupFiles"
: (facoltativo) il raggruppamento di file è attivato per impostazione predefinita quando l'input contiene più di 50.000 file. Per attivare il raggruppamento con meno di 50.000 file, imposta questo parametro su"inPartition"
. Per disabilitare il raggruppamento in presenza di più di 50.000 file, imposta il parametro su"none"
. -
"groupSize"
: (facoltativo) dimensione del gruppo target in byte. Il valore di default viene calcolato in base alla dimensione dei dati di input e alle dimensioni del cluster. Quando sono presenti meno di 50.000 file di input,"groupFiles"
deve essere impostato su"inPartition"
per rendere effettiva la modifica. -
"recurse"
: (facoltativo) se è impostato su "true", legge i file in modo ricorsivo in tutte le sottodirectory dei percorsi specificati. -
"maxBand"
: (facoltativo, avanzato) questa opzione controlla la durata in millisecondi dopo la quale è probabile che l'elencos3
sia coerente. I file con timestamp di modifica che rientrano negli ultimimaxBand
secondi, vengono tracciati in modo specifico quando si usanoJobBookmarks
per verificare la consistenza finale in Amazon S3. Per la maggior parte degli utenti non è necessario impostare questa opzione. Il valore di default è 900.000 millisecondi o 15 minuti. -
"maxFilesInBand"
: (Facoltativo, avanzato) questa opzione specifica il numero massimo di file da salvare negli ultimimaxBand
secondi. Se si supera questo valore, i file aggiuntivi vengono saltati e solo elaborati nella successiva esecuzione del processo. Per la maggior parte degli utenti non è necessario impostare questa opzione. -
"isFailFast"
: (Facoltativo) Questa opzione determina se AWS Glue Il job ETL genera eccezioni di analisi del lettore. Se impostato sutrue
, i processi non riescono rapidamente se quattro tentativi del processo Spark non riescono a analizzare correttamente i dati. -
"catalogPartitionPredicate"
: (facoltativo) utilizzato per la lettura. Il contenuto di una clausolaWHERE
in SQL. Utilizzato per la lettura dalle tabelle di Catalogo dati con una quantità molto elevata di partizioni. Recupera le partizioni corrispondenti dagli indici di Catalogo dati. Utilizzato conpush_down_predicate
, un'opzione sul metodo create_dynamic_frame_from_catalog (e altri metodi simili). Per ulteriori informazioni, consulta Filtraggio lato server utilizzando predicati delle partizioni di catalogo. -
"partitionKeys"
: (facoltativo) utilizzato per la scrittura. Una matrice di stringhe di etichette di colonne. AWS Glue partizionerà i dati come specificato da questa configurazione. Per ulteriori informazioni, consulta Scrittura delle partizioni. -
"excludeStorageClasses"
: (facoltativo) utilizzato per la lettura. Una serie di stringhe che specificano le classi di storage Amazon S3. AWS Glue escluderà gli oggetti Amazon S3 in base a questa configurazione. Per ulteriori informazioni, consulta Esclusione delle classi di storage Amazon S3.
Sintassi di connessione obsolete per i formati di dati
È possibile accedere a determinati formati di dati utilizzando una sintassi specifica per il tipo di connessione. Questa sintassi è obsoleta. Pertanto, si consiglia di specificare i formati utilizzando il tipo di connessione s3
e le opzioni di formato fornite in Opzioni di formato dei dati per ingressi e uscite in AWS Glue per Spark.
"connectionType": "Orc"
Indica una connessione a file archiviati in Amazon S3 nel formato Apache Hive Optimized Row Columnar (ORC)
Utilizzare le seguenti opzioni di connessione con "connectionType": "orc"
:
-
paths
: (Obbligatorio) un elenco dei percorsi Amazon S3 da cui leggere. -
(altro nome opzione/coppie di valori): qualsiasi opzione aggiuntiva, incluso le opzioni di formattazione, vengono passate direttamente a SparkSQL
DataSource
.
"connectionType": "parquet"
Indica una connessione a file archiviati in Amazon S3 nel formato di file Apache Parquet
Utilizzare le seguenti opzioni di connessione con "connectionType": "parquet"
:
-
paths
: (Obbligatorio) un elenco dei percorsi Amazon S3 da cui leggere. -
(altro nome opzione/coppie di valori): qualsiasi opzione aggiuntiva, incluso le opzioni di formattazione, vengono passate direttamente a SparkSQL
DataSource
.