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à.
Migrazione AWS Glue per i job Spark alla versione 4.0 AWS Glue
Questo argomento descrive le modifiche tra AWS Glue le versioni 0.9, 1.0, 2.0 e 3.0 per consentirti di migrare le applicazioni e i lavori Spark alla 4.0. ETL AWS Glue Descrive inoltre le funzionalità della AWS Glue versione 4.0 e i vantaggi del suo utilizzo.
Per utilizzare questa funzionalità con i tuoi AWS Glue ETL lavori, scegli 4.0
Glue version
quando crei i tuoi lavori.
Argomenti
- Nuove caratteristiche supportate
- Operazioni per eseguire la migrazione ad AWS Glue 4.0
- Elenco di controllo della migrazione
- Migrazione dalla 3.0 alla 4.0 AWS GlueAWS Glue
- Migrazione da 2.0 a 4.0 AWS GlueAWS Glue
- Migrazione da 1.0 a 4.0 AWS GlueAWS Glue
- Migrazione da 0.9 a 4.0 AWS GlueAWS Glue
- Migrazione di connettori e JDBC driver per 4.0 AWS Glue
- Appendice A: Aggiornamenti importanti delle dipendenze
- Appendice B: JDBC aggiornamenti dei driver
- Appendice C: Aggiornamenti dei connettori
Nuove caratteristiche supportate
Questa sezione descrive le nuove funzionalità e i vantaggi della AWS Glue versione 4.0.
-
È basato su Apache Spark 3.3.0, ma include ottimizzazioni in AWS Glue e Amazon, come esecuzioni di query adattiveEMR, lettori vettoriali, shuffles ottimizzati e coalescenza delle partizioni.
-
JDBCDriver aggiornati per tutte le fonti AWS Glue native tra cui MySQL, Microsoft SQL Server, Oracle, Postgre, SQL MongoDB e le librerie e dipendenze Spark aggiornate introdotte da Spark 3.3.0.
-
Aggiornato con un nuovo connettore e JDBC driver Amazon Redshift.
-
Accesso ottimizzato ad Amazon S3 con EMR File System aggiornato (EMRFS) e commit di output ottimizzati per Amazon S3 abilitati, per impostazione predefinita.
-
Accesso ottimizzato al catalogo dati con indici delle partizioni, predicati pushdown, elenco delle partizioni e un client metastore Hive aggiornato.
-
Integrazione con Lake Formation per tabelle di catalogo governate con filtraggio a livello di cella e transazioni data lake.
-
Ridotta la latenza di avvio per migliorare i tempi complessivi di completamento dei processi e dell'interattività.
-
I processi Spark vengono fatturati in incrementi di 1 secondo con una durata minima di fatturazione 10 volte inferiore, da un minimo di 10 minuti a un minimo di 1 minuto.
-
Supporto nativo per framework open data lake con Apache Hudi, Delta Lake e Apache Iceberg.
-
Supporto nativo per il Cloud Shuffle Storage Plugin basato su Amazon S3 (un plug-in Apache Spark) per utilizzare Amazon S3 per lo shuffling e la capacità di archiviazione elastica.
Miglioramenti principali da Spark 3.1.1 a Spark 3.3.0
Nota i seguenti miglioramenti:
-
Supporta tipi complessi per il lettore vettoriale Parquet (SPARK-34863).
-
Supporto per metadati di file nascosti per Spark (-37273). SQL SPARK
-
Presenta Trigger. AvailableNow per eseguire query di streaming come Trigger.Once in più batch (-36533). SPARK
-
Funzionalità pushdown Datasource V2 più complete (-38788). SPARK
Altre modifiche importanti
Nota le seguenti modifiche:
-
Modifiche importanti
Operazioni per eseguire la migrazione ad AWS Glue 4.0
Per i processi esistenti, modifica la Glue version
dalla versione precedente a Glue 4.0
nella configurazione del processo.
-
In Studio
Glue 4.0 - Supports Spark 3.3, Scala 2, Python 3
Glue version
, scegli in. AWS Glue -
InAPI, scegliete
4.0
ilGlueVersion
parametro dell'UpdateJob
APIoperazione.
Per i nuovi processi, scegli Glue 4.0
al momento della creazione.
-
Nella console, scegli
Spark 3.3, Python 3 (Glue Version 4.0) or Spark 3.3, Scala 2 (Glue Version 3.0)
inGlue version
. -
In AWS Glue Studio, scegli
Glue 4.0 - Supports Spark 3.3, Scala 2, Python 3
inGlue version
. -
InAPI, scegliete
4.0
ilGlueVersion
parametro dell'CreateJob
APIoperazione.
Per visualizzare i log degli eventi di Spark della AWS Glue versione 4.0 della versione AWS Glue 2.0 o precedente, avvia un server di cronologia Spark aggiornato per AWS Glue 4.0 utilizzando o Docker. AWS CloudFormation
Elenco di controllo della migrazione
-
Le librerie Python esterne del processo dipendono da Python 2.7/3.6?
-
Aggiorna le librerie dipendenti da Python 2.7/3.6 a Python 3.10, poiché Spark 3.3.0 ha rimosso il supporto per Python 2.7 e 3.6.
-
Migrazione dalla 3.0 alla 4.0 AWS GlueAWS Glue
Nota le seguenti modifiche durante la migrazione:
-
Tutti i parametri di lavoro e le funzionalità principali esistenti nella AWS Glue versione 3.0 esisteranno nella AWS Glue versione 4.0.
-
AWS Glue 3.0 utilizza Spark 3.1.1 EMR ottimizzato per Amazon e 4.0 AWS Glue utilizza Spark 3.3.0 ottimizzato per AmazonEMR.
Diverse modifiche di Spark da sole potrebbero richiedere la revisione degli script per garantire che non si faccia riferimento alle funzionalità rimosse.
-
AWS Glue La versione 4.0 include anche un aggiornamento a e Hadoop. EMRFS Per la versione specifica, consulta Appendice A: Aggiornamenti importanti delle dipendenze.
-
Il valore AWS SDK fornito nei ETL job è ora aggiornato da 1.11 a 1.12.
-
Tutti i processi Python utilizzeranno la versione 3.10 di Python. In precedenza, Python 3.7 veniva utilizzato nella 3.0. AWS Glue
Di conseguenza, alcuni pymodules forniti out-of-the-box da AWS Glue vengono aggiornati.
-
Log4j è stato aggiornato a Log4j2.
-
Per informazioni sul percorso di migrazione di Log4j2, consulta la documentazione di Log4j
. -
È invece necessario rinominare qualsiasi file log4j.properties personalizzato come file log4j2.properties, con le proprietà log4j2 appropriate.
-
-
Per la migrazione di connettori specifici, consulta Migrazione di connettori e JDBC driver per 4.0 AWS Glue.
-
La AWS crittografia SDK viene aggiornata da 1.x a 2.x. AWS Glue sono interessati i lavori che utilizzano configurazioni di AWS Glue sicurezza e i lavori dipendenti dalla SDK dipendenza di AWS crittografia fornita in fase di esecuzione. Consulta le istruzioni per la migrazione dei AWS Glue job.
È possibile aggiornare in sicurezza un lavoro AWS Glue 2.0/3.0 a un lavoro AWS Glue 4.0 perché AWS Glue 2.0/3.0 contiene già la AWS versione Encryption bridge. SDK
Consulta la documentazione relativa alla migrazione di Spark:
Migrazione da 2.0 a 4.0 AWS GlueAWS Glue
Nota le seguenti modifiche durante la migrazione:
Nota
Per i passaggi di migrazione relativi alla AWS Glue versione 3.0, consultaMigrazione dalla 3.0 alla 4.0 AWS GlueAWS Glue.
-
Tutti i parametri di lavoro e le funzionalità principali esistenti nella AWS Glue versione 2.0 esisteranno nella AWS Glue versione 4.0.
-
Il committer EMRFS ottimizzato per S3 per la scrittura di dati Parquet in Amazon S3 è abilitato di default dalla versione 3.0. AWS Glue Tuttavia, puoi disabilitarlo impostando
--enable-s3-parquet-optimized-committer
afalse
. -
AWS Glue 2.0 utilizza Spark 2.4 open source e AWS Glue 4.0 utilizza Spark 3.3.0 EMR ottimizzato per Amazon.
-
Diverse modifiche di Spark da sole potrebbero richiedere la revisione degli script per garantire che non si faccia riferimento alle funzionalità rimosse.
-
Ad esempio, Spark 3.3.0 non abilita Scala-untyped, ma Spark 2.4 li UDFs consente.
-
-
Il file AWS SDK fornito nei ETL job è ora aggiornato dalla versione 1.11 alla 1.12.
-
AWS Glue 4.0 include anche un aggiornamentoEMRFS, JDBC driver aggiornati e inclusioni di ottimizzazioni aggiuntive su Spark stesso fornite da. AWS Glue
-
Scala è stato aggiornato da 2.11 a 2.12 e Scala 2.12 non è compatibile con Scala 2.11.
-
Python 3.10 è la versione predefinita utilizzata per gli script Python mentre AWS Glue 2.0 utilizzava solo Python 3.7 e 2.7.
-
Python 2.7 non è supportato con Spark 3.3.0. Qualsiasi lavoro che richieda Python 2 nella configurazione del lavoro avrà esito negativo con un. IllegalArgumentException
-
Un nuovo meccanismo di installazione di moduli Python aggiuntivi è disponibile a partire dalla AWS Glue versione 2.0.
-
-
Diversi aggiornamenti delle dipendenze, evidenziati in Appendice A: Aggiornamenti importanti delle dipendenze.
-
Qualsiasi JAR file aggiuntivo fornito nei job AWS Glue 2.0 esistenti potrebbe creare dipendenze in conflitto perché nella versione 4.0 sono stati effettuati aggiornamenti in diverse dipendenze dalla versione 2.0. È possibile evitare conflitti tra percorsi di classe nella AWS Glue versione 4.0 con il parametro job.
--user-jars-first
AWS Glue AWS Glue 4.0 utilizza Spark 3.3. A partire da Spark 3.1, c'è stato un cambiamento nel comportamento dei file loading/saving of timestamps from/to parquet. Per maggiori dettagli, consulta Aggiornamento da Spark SQL
3.0 a 3.1. Noi suggeriamo di impostare i seguenti parametri durante la lettura/scrittura di dati del parquet che contengono colonne timestamp. L'impostazione di questi parametri può risolvere il problema di incompatibilità del calendario che si verifica durante l'aggiornamento da Spark 2 a Spark 3, sia per AWS Glue Dynamic Frame che per Spark Data Frame. Usa l'CORRECTEDopzione per leggere il valore datetime così com'è e l'LEGACYopzione per ribasare i valori di datetime in base alla differenza di calendario durante la lettura.
- Key: --conf - Value: spark.sql.legacy.parquet.int96RebaseModeInRead=[CORRECTED|LEGACY] --conf spark.sql.legacy.parquet.int96RebaseModeInWrite=[CORRECTED|LEGACY] --conf spark.sql.legacy.parquet.datetimeRebaseModeInRead=[CORRECTED|LEGACY]
-
Per la migrazione di connettori specifici, consulta Migrazione di connettori e JDBC driver per 4.0 AWS Glue.
-
La AWS crittografia SDK viene aggiornata da 1.x a 2.x. AWS Glue sono interessati i lavori che utilizzano configurazioni di AWS Glue sicurezza e i lavori dipendenti dalla SDK dipendenza di AWS crittografia fornita in fase di esecuzione. Consulta queste istruzioni per la migrazione dei AWS Glue job:
-
È possibile aggiornare in sicurezza un lavoro AWS Glue 2.0 a un lavoro AWS Glue 4.0 perché la versione AWS Glue 2.0 contiene già la versione AWS Encryption SDK bridge.
-
Consulta la documentazione relativa alla migrazione di Spark:
Migrazione da 1.0 a 4.0 AWS GlueAWS Glue
Nota le seguenti modifiche durante la migrazione:
-
AWS Glue 1.0 utilizza Spark 2.4 open source e AWS Glue 4.0 utilizza Spark 3.3.0 EMR ottimizzato per Amazon.
-
Diverse modifiche di Spark da sole potrebbero richiedere la revisione degli script per garantire che non si faccia riferimento alle funzionalità rimosse.
-
Ad esempio, Spark 3.3.0 non abilita Scala-untyped, ma Spark 2.4 li UDFs consente.
-
-
Tutti i job della AWS Glue versione 4.0 verranno eseguiti con tempi di avvio notevolmente migliorati. I processi Spark verranno fatturati in incrementi di 1 secondo con una durata minima di fatturazione 10 volte inferiore poiché la latenza di avvio passerà da un massimo di 10 minuti a un massimo di 1 minuto.
-
Il comportamento di registrazione è cambiato in modo significativo nella AWS Glue versione 4.0, Spark 3.3.0 ha un requisito minimo di Log4j2.
-
Diversi aggiornamenti delle dipendenze, descritti nell'appendice.
-
Scala è stato inoltre aggiornato da 2.11 a 2.12 e Scala 2.12 non è compatibile con Scala 2.11.
-
Python 3.10 è anche la versione di predefinita utilizzata per gli script Python, mentre AWS Glue 0.9 utilizzava solo Python 2.
Python 2.7 non è supportato con Spark 3.3.0. Qualsiasi lavoro che richieda Python 2 nella configurazione del lavoro avrà esito negativo con un. IllegalArgumentException
-
Un nuovo meccanismo di installazione di moduli Python aggiuntivi tramite pip è disponibile dalla versione 2.0. AWS Glue Per ulteriori informazioni, consulta Installazione di moduli Python aggiuntivi con pip in AWS Glue 2.0+.
-
AWS Glue 4.0 non funziona su ApacheYARN, quindi YARN le impostazioni non si applicano.
-
AWS Glue 4.0 non dispone di un file system distribuito Hadoop (). HDFS
-
Qualsiasi JAR file aggiuntivo fornito nei job AWS Glue 1.0 esistenti potrebbe creare dipendenze in conflitto perché nella versione 4.0 sono stati effettuati aggiornamenti in diverse dipendenze dalla versione 1.0. Per evitare questo problema, abilitiamo la AWS Glue versione 4.0 con il parametro
--user-jars-first
AWS Glue job di default. -
AWS Glue 4.0 supporta il ridimensionamento automatico. Pertanto, la ExecutorAllocationManager metrica sarà disponibile quando la scalabilità automatica è abilitata.
-
Nei lavori della AWS Glue versione 4.0, si specifica il numero di lavoratori e il tipo di lavoratore, ma non si specifica a.
maxCapacity
-
AWS Glue La versione 4.0 non supporta ancora le trasformazioni dell'apprendimento automatico.
-
Per la migrazione di connettori specifici, consulta Migrazione di connettori e JDBC driver per 4.0 AWS Glue.
-
La AWS crittografia SDK viene aggiornata da 1.x a 2.x. AWS Glue sono interessati i lavori che utilizzano configurazioni di AWS Glue sicurezza e i lavori dipendenti dalla SDK dipendenza di AWS crittografia fornita in fase di esecuzione. Consulta queste istruzioni per la migrazione dei AWS Glue job.
-
Non è possibile migrare direttamente un lavoro da AWS Glue 0,9/1,0 a un lavoro AWS Glue 4.0. Questo perché quando si esegue l'aggiornamento diretto alla versione 2.x o successiva e si abilitano immediatamente tutte le nuove funzionalità, la AWS crittografia SDK non sarà in grado di decrittografare il testo cifrato crittografato con le versioni precedenti di Encryption. AWS SDK
-
Per un aggiornamento sicuro, consigliamo innanzitutto di migrare a un job AWS Glue 2.0/3.0 che contenga la versione Encryption bridge. AWS SDK Esegui il processo una volta per utilizzare la versione Encryption bridge. AWS SDK
-
Al termine, è possibile migrare in sicurezza il job AWS Glue 2.0/3.0 a 4.0. AWS Glue
-
Consulta la documentazione relativa alla migrazione di Spark:
Migrazione da 0.9 a 4.0 AWS GlueAWS Glue
Nota le seguenti modifiche durante la migrazione:
-
AWS Glue 0.9 utilizza Spark 2.2.1 e 4.0 open source AWS Glue utilizza Spark 3.3.0 ottimizzato per AmazonEMR.
-
Diverse modifiche di Spark da sole potrebbero richiedere la revisione degli script per garantire che non si faccia riferimento alle funzionalità rimosse.
-
Ad esempio, Spark 3.3.0 non abilita UDFs Scala-untyped, ma Spark 2.2 li consente.
-
-
Tutti i job della AWS Glue versione 4.0 verranno eseguiti con tempi di avvio notevolmente migliorati. I processi Spark verranno fatturati in incrementi di 1 secondo con una durata minima di fatturazione 10 volte inferiore poiché la latenza di avvio passerà da un massimo di 10 minuti a un massimo di 1 minuto.
-
Il comportamento di registrazione è cambiato in modo significativo rispetto alla AWS Glue versione 4.0, Spark 3.3.0 ha un requisito minimo di Log4j2 come indicato qui (# -32-to-33). https://spark.apache.org/docs/latest/core-migration-guide.html upgrading-from-core
-
Diversi aggiornamenti delle dipendenze, descritti nell'appendice.
-
Scala è stato inoltre aggiornato da 2.11 a 2.12 e Scala 2.12 non è compatibile con Scala 2.11.
-
Python 3.10 è anche la versione di predefinita utilizzata per gli script Python, mentre AWS Glue 0.9 utilizzava solo Python 2.
-
Python 2.7 non è supportato con Spark 3.3.0. Qualsiasi lavoro che richieda Python 2 nella configurazione del lavoro avrà esito negativo con un. IllegalArgumentException
-
È disponibile un nuovo meccanismo di installazione di moduli Python aggiuntivi tramite pip.
-
-
AWS Glue 4.0 non funziona su ApacheYARN, quindi YARN le impostazioni non si applicano.
-
AWS Glue 4.0 non dispone di un file system distribuito Hadoop (). HDFS
-
Qualsiasi JAR file aggiuntivo fornito nei job AWS Glue 0.9 esistenti potrebbe creare dipendenze in conflitto perché nella versione 3.0 sono stati effettuati aggiornamenti da 0.9 a diverse dipendenze. È possibile evitare conflitti tra percorsi di classe nella AWS Glue versione 3.0 con il parametro job.
--user-jars-first
AWS Glue -
AWS Glue 4.0 supporta il ridimensionamento automatico. Pertanto, la ExecutorAllocationManager metrica sarà disponibile quando la scalabilità automatica è abilitata.
-
Nei lavori della AWS Glue versione 4.0, si specifica il numero di lavoratori e il tipo di lavoratore, ma non si specifica a.
maxCapacity
-
AWS Glue La versione 4.0 non supporta ancora le trasformazioni dell'apprendimento automatico.
-
Per la migrazione di connettori specifici, consulta Migrazione di connettori e JDBC driver per 4.0 AWS Glue.
-
La AWS crittografia SDK viene aggiornata da 1.x a 2.x. AWS Glue sono interessati i lavori che utilizzano configurazioni di AWS Glue sicurezza e i lavori dipendenti dalla SDK dipendenza di AWS crittografia fornita in fase di esecuzione. Consulta queste istruzioni per la migrazione dei AWS Glue job.
-
Non è possibile migrare direttamente un lavoro da AWS Glue 0,9/1,0 a un lavoro AWS Glue 4.0. Questo perché quando si esegue l'aggiornamento diretto alla versione 2.x o successiva e si abilitano immediatamente tutte le nuove funzionalità, la AWS crittografia SDK non sarà in grado di decrittografare il testo cifrato crittografato con le versioni precedenti di Encryption. AWS SDK
-
Per un aggiornamento sicuro, consigliamo innanzitutto di migrare a un job AWS Glue 2.0/3.0 che contenga la versione Encryption bridge. AWS SDK Esegui il processo una volta per utilizzare la versione Encryption bridge. AWS SDK
-
Al termine, è possibile migrare in sicurezza il job AWS Glue 2.0/3.0 a 4.0. AWS Glue
-
Consulta la documentazione relativa alla migrazione di Spark:
Migrazione di connettori e JDBC driver per 4.0 AWS Glue
Per le versioni JDBC e i connettori Data Lake che sono stati aggiornati, vedi:
Hudi
-
Miglioramenti al SQL supporto Spark:
-
Tramite il
Call Procedure
comando, viene aggiunto il supporto per l'aggiornamento, il downgrade, il bootstrap, la pulizia e la riparazione.Create/Drop/Show/Refresh Index
la sintassi è possibile in Spark. SQL -
È stato colmato un divario prestazionale tra l'utilizzo tramite Spark e DataSource quello con Spark. SQL Le scritture di Datasource in passato erano più veloci di. SQL
-
Tutti i generatori di chiavi integrati implementano operazioni specifiche di Spark più performanti. API
-
La UDF trasformazione nelle
insert
operazioni di massa è stata sostituita da RDD trasformazioni per ridurre i costi di utilizzo. SerDe -
Spark SQL with Hudi richiede che un
primaryKey
sia specificato datblproperites
o opzioni nella dichiarazione. SQL Per le operazioni di aggiornamento ed eliminazione, è necessario anchepreCombineField
.
-
-
Qualsiasi tabella Hudi creata prima della versione 0.10.0 senza una
primaryKey
deve essere creata nuovamente con un campoprimaryKey
a partire dalla versione 0.10.0.
Postgre SQL
-
Sono state risolte diverse vulnerabilità (CVEs).
-
Java 8 è supportato in modo nativo.
-
Se il processo utilizza array di array, ad eccezione degli array di byte, questo scenario può essere trattato come array multidimensionali.
MongoDB
-
Il connettore MongoDB corrente supporta Spark versione 3.1 o versione successiva e MongoDB versione 4.0 o successiva.
-
A causa dell'aggiornamento del connettore, alcuni nomi di proprietà sono cambiati. Ad esempio, il nome della URI proprietà è cambiato in
connection.uri
. Per ulteriori informazioni sulle opzioni correnti, consulta il blog di MongoDB Spark Connector. -
L'utilizzo di MongoDB 4.0 ospitato da Amazon DocumentDB presenta alcune differenze funzionali. Per ulteriori informazioni, consulta i seguenti argomenti:
-
L'opzione "partitioner" è limitata a
ShardedPartitioner
,PaginateIntoPartitionsPartitioner
eSinglePartitionPartitioner
. Non può utilizzare defaultSamplePartitioner
ePaginateBySizePartitioner
per Amazon DocumentDB perché l'operatore stage non supporta MongoDB. API Per ulteriori informazioni, consulta APIsMongoDB, operazioni e tipi di dati supportati.
Delta Lake
-
Delta Lake ora supporta i viaggi nel tempo SQL
per interrogare facilmente i dati più vecchi. Con questo aggiornamento, il viaggio nel tempo è ora disponibile sia in Spark SQL che tramite. DataFrame API È stato aggiunto il supporto per la versione corrente di TIMESTAMP inSQL. -
Spark 3.3 introduce Trigger. AvailableNow
per eseguire query in streaming come equivalente a quelle in batch Trigger.Once
. Questo supporto è disponibile anche quando si utilizzano le tabelle Delta come fonte di streaming. -
Support SHOW COLUMNS per restituire l'elenco delle colonne in una tabella.
-
Support per DESCRIBEDETAIL
Scala e Python DeltaTable API. Recupera informazioni dettagliate su una tabella Delta utilizzando DeltaTable API o Spark. SQL -
Support per la restituzione delle metriche operative dai SQL comandi Delete
, Merge e Update . In precedenza questi SQL comandi restituivano un valore vuoto DataFrame, ora restituiscono un valore DataFrame con metriche utili sull'operazione eseguita. -
Ottimizza i miglioramenti in termini di prestazioni:
-
Imposta l'opzione di configurazione
spark.databricks.delta.optimize.repartition.enabled=true
in modo da utilizzarerepartition(1)
anzichécoalesce(1)
nel comando Optimize per migliorare le prestazioni durante la compattazione di numerosi file di piccole dimensioni. -
Prestazioni migliorate
grazie a un approccio basato su code per parallelizzare i lavori di compattazione.
-
-
Altre modifiche importanti:
-
Support per l'utilizzo di variabili
nei OPTIMIZE SQL comandi VACUUM and. -
Miglioramenti per CONVERT TO DELTA con le tabelle del catalogo, tra cui:
-
Completamento automatico dello schema delle partizioni
dal catalogo quando non è fornito. -
Uso delle informazioni sulle partizioni
dal catalogo per trovare i file di dati da salvare invece di eseguire una scansione completa della directory. Invece di salvare tutti i file di dati nella directory delle tabelle, verranno salvati solo i file di dati nelle directory delle partizioni attive.
-
-
Il batch Support for Change Data Feed (CDF) legge le
tabelle abilitate alla mappatura delle colonne quando DROP COLUMN e non RENAME COLUMN sono state utilizzate. Per ulteriori informazioni, consulta la documentazione di Delta Lake . -
Miglioramento delle prestazioni dei comandi di aggiornamento
abilitando l'eliminazione dello schema nel primo passaggio.
-
Apache Iceberg
-
Sono stati aggiunti diversi miglioramenti delle prestazioni
per la pianificazione delle scansioni e le query Spark. -
È stato aggiunto un client di REST catalogo comune che utilizza i commit basati sulle modifiche per risolvere i conflitti di commit sul lato del servizio.
-
AS OF
è supportata la sintassi per le interrogazioni sui viaggi SQL nel tempo. -
È stato aggiunto merge-on-read il supporto per le domande MERGE e. UPDATE
-
È stato aggiunto il supporto per riscrivere le partizioni utilizzando l'ordine Z.
-
Sono state aggiunte una specifica e un'implementazione per Puffin, un formato per statistiche di grandi dimensioni e blob di indici, come schizzi Theta
o filtri bloom. -
Sono state aggiunte nuove interfacce per il consumo incrementale dei dati (scansioni di aggiunta e log delle modifiche).
-
È stato aggiunto il supporto per operazioni di massa e letture a intervalli alle interfacce FileIO.
-
Sono state aggiunte altre tabelle di metadati per mostrare i file di eliminazione nella struttura dei metadati.
-
Il comportamento della tabella di eliminazione è cambiato. In Iceberg 0.13.1, l'esecuzione di
DROP TABLE
rimuove la tabella dal catalogo e ne elimina anche il contenuto. In Iceberg 1.0.0,DROP TABLE
rimuove solo la tabella dal catalogo. Per eliminare il contenuto della tabella, utilizzaDROP TABLE PURGE
. -
Le letture vettorializzate in Parquet sono abilitate per impostazione predefinita in Iceberg 1.0.0. Se desideri disabilitare le letture vettorializzate, imposta
read.parquet.vectorization.enabled
sufalse
.
Oracle
Le modifiche sono di lieve entità.
Mio SQL
Le modifiche sono di lieve entità.
Amazon Redshift
AWS Glue 4.0 presenta un nuovo connettore Amazon Redshift con un nuovo JDBC driver. Per informazioni sui miglioramenti e su come migrare dalle versioni precedenti AWS Glue , consulta. Connessioni Redshift
Appendice A: Aggiornamenti importanti delle dipendenze
Di seguito sono riportati gli aggiornamenti delle dipendenze:
Dipendenza | Versione 4.0 AWS Glue | Versione in AWS Glue 3.0 | Versione in AWS Glue 2.0 | Versione in AWS Glue 1.0 |
---|---|---|---|---|
Spark | 3.3.0-amzn-1 | 3.1.1-amzn-0 | 2.4.3 | 2.4.3 |
Hadoop | 3.3.3-amzn-0 | 3.2.1-amzn-3 | 2.8.5-amzn-5 | 2.8.5-amzn-1 |
Scala | 2.12 | 2,12 | 2.11 | 2.11 |
Jackson | 2,13,3 | 2.10.x | 2.7.x | 2.7.x |
Hive | 2.3.9-amzn-2 | 2.3.7-amzn-4 | 1.2 | 1.2 |
EMRFS | 2,54,0 | 2,46,0 | 2.38.0 | 2.30.0 |
Json4s | 3.7.0-M11 | 36.6 | 3.5.x | 3.5.x |
Arrow | 7,0,0 | 2.0.0 | 0.10.0 | 0.10.0 |
AWS Glue Client Data Catalog | 3.7.0 | 3.0.0 | 1.10.0 | N/D |
Python | 3.10 | 3.7 | 2.7 e 3.6 | 2.7 e 3.6 |
Boto | 1,26 | 1,18 | 1.12 | N/D |
Appendice B: JDBC aggiornamenti dei driver
Di seguito sono riportati gli aggiornamenti dei JDBC driver:
Driver | JDBCversione del driver nelle versioni precedenti AWS Glue | JDBCversione del driver nella versione AWS Glue 3.0 | JDBCversione del driver in AWS Glue 4.0 |
---|---|---|---|
Il mio SQL | 5.1 | 8.0.23 | 8.0.23 |
Microsoft SQL Server | 6.1.0 | 7,0,0 | 9,40 |
Database Oracle | 11.2 | 21,1 | 21,7 |
Poster SQL | 42.1.0 | 4,2,18 | 42,36 |
MongoDB | 2.0.0 | 4.0.0 | 4,7,2 |
Amazon Redshift |
redshift-jdbc41-1.2.12.1017 |
redshift-jdbc41-1.2.12.1017 |
redshift-jdbc42-2.1.0.16 |
Appendice C: Aggiornamenti dei connettori
Di seguito sono riportati gli aggiornamenti dei connettori:
Driver | Versione del connettore in 3.0 AWS Glue | Versione del connettore in AWS Glue 4.0 |
---|---|---|
MongoDB | 3.0.0 | 10.0.4 |
Hudi | 010.1 | 0.12.1 |
Delta Lake | 1.0.0 | 2.1.0 |
Iceberg | 0.13.1 | 1.0.0 |
DynamoDB | 1.11 | 1.12 |