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à.
Questo argomento descrive le modifiche tra AWS Glue le versioni 0.9, 1.0, 2.0, 3.0 e 4.0 per consentire la migrazione delle applicazioni e dei lavori Spark alla 5.0. ETL AWS Glue Descrive inoltre le funzionalità della AWS Glue versione 5.0 e i vantaggi del suo utilizzo.
Per utilizzare questa funzionalità con i tuoi AWS Glue ETL lavori, scegli 5.0
Glue version
quando crei i tuoi lavori.
Argomenti
- Nuove funzionalità
- Azioni AWS Glue per migrare alla versione 5.0
- Elenco di controllo della migrazione
- AWS Glue Funzionalità 5.0
- Migrazione da AWS Glue 4.0 a AWS Glue 5.0
- Migrazione da AWS Glue 3.0 a 5.0 AWS Glue
- Migrazione da AWS Glue 2.0 a 5.0 AWS Glue
- Migrazione di connettori e JDBC driver per 5.0 AWS Glue
Nuove funzionalità
Questa sezione descrive le nuove funzionalità e i vantaggi della AWS Glue versione 5.0.
-
Aggiornamento di Apache Spark dalla versione 3.3.0 della versione AWS Glue 4.0 alla versione 3.5.2 della versione 5.0. AWS Glue Per informazioni, consulta Principali miglioramenti da Spark 3.3.0 a Spark 3.5.2.
-
Controllo degli accessi a grana fine nativo di Spark () utilizzando FGAC Lake Formation. Per maggiori informazioni, consulta Using AWS Glue with AWS Lake Formation per un controllo granulare degli accessi.
Tieni presente le seguenti considerazioni o limitazioni per Spark-native: FGAC
Attualmente la scrittura dei dati non è supportata
scrivere in Iceberg
GlueContext
tramite Lake Formation richiede invece l'uso del controllo degli IAM accessi
-
Supporto per Amazon S3 Access Grants come soluzione scalabile di controllo degli accessi ai tuoi dati Amazon S3 da. AWS Glue Per ulteriori informazioni, consulta Utilizzo di Amazon S3 Access Grants con AWS Glue.
-
Open Table Formats (OTF) aggiornato a Hudi 0.15.0, Iceberg 1.6.1 e Delta Lake 3.2.1
-
Supporto per Amazon SageMaker Unified Studio.
-
Amazon SageMaker Lakehouse e l'integrazione dell'astrazione dei dati. Per ulteriori informazioni, consulta Interrogazione dei cataloghi di dati dei metastore da AWS Glue ETL.
-
Support per l'installazione di librerie Python aggiuntive utilizzando.
requirements.txt
Per ulteriori informazioni, consulta Installazione di librerie Python aggiuntive in AWS Glue 5.0 usando requirements.txt. -
AWS Glue 5.0 supporta la derivazione dei dati in Amazon DataZone. Puoi AWS Glue configurare la raccolta automatica delle informazioni sulla derivazione durante le esecuzioni dei job Spark e inviare gli eventi di derivazione da visualizzare in Amazon. DataZone Per ulteriori informazioni, consulta Data lineage in Amazon DataZone.
Per configurarlo sulla AWS Glue console, attiva Generate lineage events e inserisci il tuo ID di DataZone dominio Amazon nella scheda Job details.
In alternativa, puoi fornire il seguente parametro di lavoro (inserisci il tuo ID di DataZone dominio):
Chiave:
--conf
Valore:
extraListeners=io.openlineage.spark.agent.OpenLineageSparkListener —conf spark.openlineage.transport.type=amazon_datazone_api -conf spark.openlineage.transport.domainId=<your-domain-ID>
-
Aggiornamenti dei connettori e dei JDBC driver. Per ulteriori informazioni, consulta Appendice B: aggiornamenti dei driver JDBC e Appendice C: Aggiornamenti dei connettori.
-
Aggiornamento Java da 8 a 17.
-
Maggiore spazio di archiviazione per AWS Glue
G.1X
iG.2X
lavoratori con spazio su disco che è aumentato rispettivamente a 94 GB e 138 GB. Per ulteriori informazioni, consulta Processi Support AWS SDK for Java, versione 2 - AWS Glue 5.0, i job possono utilizzare le versioni Java 1.12.569
o 2.28.8 se il job supporta la versione 2. La versione AWS SDK per Java 2.x è un'importante riscrittura del codice base della versione 1.x. È stata sviluppata su base Java 8+ e aggiunge diverse caratteristiche richieste frequentemente. Queste includono il supporto per I/O non bloccanti e la possibilità di collegare un'implementazione diversa in fase di esecuzione. HTTP Per ulteriori informazioni, inclusa una guida alla migrazione da SDK Java v1 a v2, consultate la guida AWS SDKper Java, versione 2.
Modifiche importanti
Nota le seguenti modifiche sostanziali:
GlueContext
il controllo degli accessi a livello di tabella con AWS Lake Formation autorizzazioni supportate in Glue 4.0 o versioni precedenti non è supportato in Glue 5.0. Usa il nuovo controllo di accesso a grana fine nativo di Spark () FGAC in Glue 5.0.Il lettore vettoriale SIMD CSV non è supportato.
La registrazione continua nel gruppo di log di output non è supportata. Utilizzate invece
error
il gruppo di log.Il AWS Glue job run insights
job-insights-rule-driver
è stato obsoleto. Il flusso dijob-insights-rca-driver
log si trova ora nel gruppo di log degli errori.I connettori personalizzati/marketplace basati su Athena non sono supportati.
I connettori Adobe Marketo Engage, Facebook Ads, Google Ads, Google Analytics 4, Google Sheets, Hubspot, Instagram Ads, Intercom, Jira Cloud, Oracle, Salesforce, Salesforce Marketing Cloud NetSuite, Salesforce Marketing Cloud Account Engagement,, Slack, Snapchat Ads, Stripe, SAP OData Zendesk e Zoho non sono supportati. ServiceNow CRM
Principali miglioramenti da Spark 3.3.0 a Spark 3.5.2
Nota i seguenti miglioramenti:
-
Client Python per Spark Connect SPARK(
-39375). -
Implementa il supporto per DEFAULT i valori delle colonne nelle tabelle (-38334). SPARK
-
Supporta «Riferimenti agli alias delle colonne laterali» (SPARK-27561
). -
Rafforzare l'SQLSTATEutilizzo per le classi di errore (-41994). SPARK
-
Abilita il filtro Bloom Joins per impostazione predefinita (SPARK-38841).
-
Monitoraggio asincrono dell'avanzamento nello streaming strutturato (-39591). SPARK
-
Elaborazione statica arbitraria in Python in streaming strutturato (-40434). SPARK
-
Miglioramenti alla API copertura di Pandas (-42882) e supporto all'input in (SPARK-39405
). NumPy PySpark SPARK -
Fornisci un profiler di memoria per le funzioni definite dall'utente (-40281). PySpark SPARK
-
Supporta IPv6 solo l'ambiente (SPARK-39457
). -
Scheduler K8s personalizzato (Apache e Volcano) GA (-42802 YuniKorn ). SPARK
-
Supporto client Scala e Go in Spark Connect (SPARK-42554
) e (-43351). SPARK -
PyTorchsupporto ML distribuito basato su Spark Connect (SPARK-42471
). -
Supporto di streaming strutturato per Spark Connect in Python e Scala SPARK(
-42938). -
APISupporto Pandas per il Python Spark Connect Client (-42497). SPARK
-
Introduci Arrow Python UDFs (SPARK-40307
). -
Supporta le funzioni di tabella definite dall'utente in Python (SPARK-43798).
-
Migra PySpark gli errori nelle classi di errore (-42986). SPARK
-
PySpark framework di test (-44042)SPARK.
-
Aggiunge il supporto per Datasketches HllSketch (-16484). SPARK
-
IDENTIFIERclausola (-43205)SPARK.
-
Aggiungi SQL funzioni in Scala, Python e R API (SPARK-43907
). -
Aggiunge il supporto per argomenti denominati per SQL le funzioni (SPARK-43922).
-
ML distribuito <> SPARKspark
connect (-42471). -
DeepSpeed distributore (-44264). SPARK
-
Implementa il checkpoint del changelog per l'archivio di stato RockSDB (-43421). SPARK
-
Introduci la propagazione della filigrana tra gli operatori (-42376). SPARK
-
Miglioramenti alla gestione della memoria del provider di archivi di stato RockSDB (-43311). SPARK
Azioni AWS Glue per migrare alla versione 5.0
Per i processi esistenti, modifica la Glue version
dalla versione precedente a Glue 5.0
nella configurazione del processo.
-
In AWS Glue Studio, scegli
Glue 5.0 - Supports Spark 3.5.2, Scala 2, Python 3
inGlue version
. -
InAPI, scegliete
5.0
ilGlueVersion
parametro dell'UpdateJob
APIoperazione.
Per i nuovi processi, scegli Glue 5.0
al momento della creazione.
-
Nella console, scegli
Spark 3.5.2, Python 3 (Glue Version 5.0) or Spark 3.5.2, Scala 2 (Glue Version 5.0)
inGlue version
. -
In AWS Glue Studio, scegli
Glue 5.0 - Supports Spark 3.5.2, Scala 2, Python 3
inGlue version
. -
InAPI, scegliete
5.0
ilGlueVersion
parametro dell'CreateJob
APIoperazione.
Per visualizzare i log degli eventi di Spark della AWS Glue versione 5.0 della versione AWS Glue 2.0 o precedente, avvia un server di cronologia Spark aggiornato alla AWS Glue versione 5.0 utilizzando o Docker. AWS CloudFormation
Elenco di controllo della migrazione
Rivedi questo elenco di controllo per la migrazione:
-
Aggiornamenti di Java 17
-
[Scala] Aggiorna AWS SDK le chiamate da v1 a v2
-
Migrazione da Python da 3.10 a 3.11
-
[Python] Aggiorna i riferimenti di avvio da 1.26 a 1.34
AWS Glue Funzionalità 5.0
Questa sezione descrive AWS Glue le funzionalità in modo più dettagliato.
Interrogazione dei cataloghi di dati dei metastore da AWS Glue ETL
Puoi registrare il tuo AWS Glue lavoro per accedere a AWS Glue Data Catalog, che rende disponibili tabelle e altre risorse di metastore per diversi consumatori. Il Data Catalog supporta una gerarchia multicatalogo, che unifica tutti i dati nei data lake Amazon S3. Fornisce inoltre sia un metastore Hive che un Apache Iceberg open source per API l'accesso ai dati. API Queste funzionalità sono disponibili anche per altri servizi orientati ai dati come AmazonEMR, Amazon Athena AWS Glue e Amazon Redshift.
Quando crei risorse nel Data Catalog, puoi accedervi da qualsiasi SQL motore che supporti Apache Iceberg. REST API AWS Lake Formation gestisce le autorizzazioni. Dopo la configurazione, è possibile sfruttare le funzionalità AWS Glue di interrogazione di dati diversi interrogando queste risorse di metastore con applicazioni familiari. Questi includono Apache Spark e Trino.
Come sono organizzate le risorse di metadati
I dati sono organizzati in una gerarchia logica di cataloghi, database e tabelle, utilizzando: AWS Glue Data Catalog
Catalogo: un contenitore logico che contiene oggetti di un archivio dati, come schemi o tabelle.
Database: organizza oggetti di dati come tabelle e viste in un catalogo.
Tabelle e viste: oggetti di dati in un database che forniscono un livello di astrazione con uno schema comprensibile. Semplificano l'accesso ai dati sottostanti, che possono essere in vari formati e in varie posizioni.
Migrazione da AWS Glue 4.0 a AWS Glue 5.0
Tutti i parametri di lavoro e le funzionalità principali esistenti in AWS Glue 4.0 esisteranno nella AWS Glue versione 5.0, ad eccezione delle trasformazioni di machine learning.
Sono stati aggiunti i seguenti nuovi parametri:
-
--enable-lakeformation-fine-grained-access
: Abilita la funzionalità di controllo degli accessi a grana fine (FGAC) nelle tabelle di AWS Lake Formation.
Consulta la documentazione relativa alla migrazione di Spark:
Migrazione da AWS Glue 3.0 a 5.0 AWS Glue
Nota
Per le fasi di migrazione relative alla AWS Glue versione 4.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 3.0 esisteranno nella AWS Glue versione 5.0, ad eccezione delle trasformazioni di apprendimento automatico.
Migrazione da AWS Glue 2.0 a 5.0 AWS Glue
Nota
Per i passaggi di migrazione relativi alla AWS Glue 4.0 e un elenco delle differenze di migrazione tra la AWS Glue versione 3.0 e 4.0, consultaMigrazione dalla 3.0 alla 4.0 AWS GlueAWS Glue.
Tieni inoltre presente le seguenti differenze di migrazione tra AWS Glue le versioni 3.0 e 2.0:
Tutti i parametri di lavoro e le funzionalità principali esistenti nella AWS Glue versione 2.0 esisteranno nella AWS Glue versione 5.0, ad eccezione delle trasformazioni di apprendimento automatico.
Diverse modifiche di Spark da sole potrebbero richiedere la revisione degli script per garantire che non si faccia riferimento alle caratteristiche rimosse. Ad esempio, Spark 3.1.1 e versioni successive non abilitano Scala-Untyped UDFs ma Spark 2.4 li consente.
Python 2.7 non è supportato.
Eventuali jar aggiuntivi forniti nei job AWS Glue 2.0 esistenti possono creare dipendenze in conflitto poiché sono stati effettuati aggiornamenti in diverse dipendenze. È possibile evitare conflitti tra percorsi di classe con il parametro job.
--user-jars-first
Modifiche al comportamento dei file loading/saving of timestamps from/to parquet. Per maggiori dettagli, consulta Aggiornamento da Spark SQL 3.0 a 3.1.
Diverso parallelismo delle attività Spark per la configurazione driver/executor. Puoi regolare il parallelismo delle attività passando l'argomento job.
--executor-cores
Migrazione di connettori e JDBC driver per 5.0 AWS Glue
Per le versioni JDBC e i connettori Data Lake che sono stati aggiornati, consulta:
Le seguenti modifiche si applicano alle versioni dei connettori o dei driver identificate nelle appendici di Glue 5.0.
Amazon Redshift
Nota le seguenti modifiche:
Aggiunge il supporto per i nomi di tabella in tre parti per consentire al connettore di interrogare le tabelle di condivisione dei dati Redshift.
Corregge la mappatura di Spark
ShortType
per utilizzare RedshiftSMALLINT
anziché per adattarla meglioINTEGER
alla dimensione dei dati prevista.È stato aggiunto il supporto per Custom Cluster Names (CNAME) per Amazon Redshift Serverless.
Apache Hudi
Nota le seguenti modifiche:
Supporta l'indice di livello record.
Supporta la generazione automatica di chiavi di registrazione. Ora non è necessario specificare il campo della chiave di registrazione.
Apache Iceberg
Nota le seguenti modifiche:
Supporta il controllo granulare degli accessi con. AWS Lake Formation
Supporta la ramificazione e il tagging, che sono riferimenti denominati a istantanee con cicli di vita indipendenti.
È stata aggiunta una procedura di visualizzazione del registro delle modifiche che genera una vista che contiene le modifiche apportate a una tabella in un periodo specificato o tra istantanee specifiche.
Delta Lake
Nota le seguenti modifiche:
Supporta Delta Universal Format (UniForm) che consente un accesso senza interruzioni tramite Apache Iceberg e Apache Hudi.
Supporta i vettori di cancellazione che implementano un Merge-on-Read paradigma.
AzureCosmos
Nota le seguenti modifiche:
Aggiunto il supporto per chiavi di partizione gerarchiche.
È stata aggiunta l'opzione per utilizzare lo schema personalizzato con StringType (raw json) per una proprietà annidata.
È stata aggiunta l'opzione
spark.cosmos.auth.aad.clientCertPemBase64
di configurazione per consentire l'utilizzo dell'autenticazione SPN (ServicePrincipal nome) con certificato anziché il segreto del client.
Per altre informazioni, consulta il log delle modifiche del connettore Azure Cosmos DB Spark
Microsoft SQL Server
Nota le seguenti modifiche:
TLSla crittografia è abilitata per impostazione predefinita.
Quando encrypt = false ma il server richiede la crittografia, il certificato viene convalidato in base all'impostazione della
trustServerCertificate
connessione.aadSecurePrincipalId
eaadSecurePrincipalSecret
obsoleto.getAADSecretPrincipalId
APIrimosso.È stato aggiunto il supporto per il tipo di dati SQL _Variant durante il recupero.
DateTimeOffset
È stata aggiunta CNAME la risoluzione quando viene specificato il realm.
MongoDB
Nota le seguenti modifiche:
Support per la modalità micro-batch con Spark Structured Streaming.
Support per tipi di BSON dati.
È stato aggiunto il supporto per la lettura di più raccolte quando si utilizzano modalità di streaming microbatch o continuo.
Se il nome di una raccolta utilizzata nell'opzione di
collection
configurazione contiene una virgola, Spark Connector la considera come due raccolte diverse. Per evitare ciò, devi evitare la virgola facendola precedere da una barra rovesciata (\).Se il nome di una raccolta utilizzata nell'opzione di
collection
configurazione è «*», Spark Connector la interpreta come una specifica per la scansione di tutte le raccolte. Per evitare ciò, devi evitare l'asterisco facendolo precedere da una barra rovesciata (\).Se il nome di una raccolta utilizzata nell'opzione di
collection
configurazione contiene una barra rovesciata (\), lo Spark Connector considera la barra rovesciata come un carattere di escape, il che potrebbe cambiare il modo in cui interpreta il valore. Per evitare ciò, devi evitare la barra rovesciata facendola precedere da un'altra barra rovesciata.
Per ulteriori informazioni, consulta il connettore MongoDB per
Snowflake
Nota le seguenti modifiche:
È stato introdotto un nuovo
trim_space
parametro che è possibile utilizzare per tagliare automaticamente i valori delleStringType
colonne durante il salvataggio in una tabella Snowflake. Default:false
.Per impostazione predefinita, il
abort_detached_query
parametro è stato disabilitato a livello di sessione.È stato rimosso il requisito del
SFUSER
parametro durante l'utilizzoOAUTH.È stata rimossa la funzionalità Advanced Query Pushdown. Sono disponibili alternative alla funzionalità. Ad esempio, anziché caricare i dati dalle tabelle Snowflake, gli utenti possono caricare direttamente i dati dalle query SQL Snowflake.
Per ulteriori informazioni, consulta le note di rilascio di Snowflake
Appendice A: Aggiornamenti importanti delle dipendenze
Di seguito sono riportati gli aggiornamenti delle dipendenze:
Dipendenza | Versione 5.0 AWS Glue | Versione in AWS Glue 4.0 | Versione in AWS Glue 3.0 | Versione in AWS Glue 2.0 | Versione in AWS Glue 1.0 |
---|---|---|---|---|---|
Java | 17 | 8 | 8 | 8 | 8 |
Spark | 3.5.2-amzn-1 | 3.3.0-amzn-1 | 3.1.1-amzn-0 | 2.4.3 | 2.4.3 |
Hadoop | 3.4.0-amzn-1 | 3.3.3-amzn-0 | 3.2.1-amzn-3 | 2.8.5-amzn-5 | 2.8.5-amzn-1 |
Scala | 2,12,18 | 2,12 | 2,12 | 2.11 | 2.11 |
Jackson | 2,15,2 | 2,12 | 2,12 | 2.11 | 2.11 |
Hive | 2.3.9-amzn-4 | 2.3.9-amzn-2 | 2.3.7-amzn-4 | 1.2 | 1.2 |
EMRFS | 2.6.0 | 2,54,0 | 2,46,0 | 2.38.0 | 2.30.0 |
Json4s | 3.7.0-M11 | 3.7.0-M11 | 36.6 | 3.5.x | 3.5.x |
Arrow | 120,1 | 7,0,0 | 2.0.0 | 0.10.0 | 0.10.0 |
AWS Glue Client Data Catalog | 4.2.0 | 3.7.0 | 3.0.0 | 1.10.0 | N/D |
AWS SDK per Java | 2.28.8 | 1.12 | 1.12 | ||
Python | 3,11 | 3,10 | 3.7 | 2.7 e 3.6 | 2.7 e 3.6 |
Boto | 1,34,131 | 1,26 | 1,18 | 1.12 | N/D |
EMRConnettore DynamoDB | 5.6.0 | 4.16.0 |
Appendice B: aggiornamenti dei driver JDBC
Di seguito sono riportati gli aggiornamenti dei JDBC driver:
Driver | JDBCversione del driver nella versione 5.0 AWS Glue | JDBCversione del driver in AWS Glue 4.0 | JDBCversione del driver in AWS Glue 3.0 | JDBCversione del driver nelle AWS Glue versioni precedenti |
---|---|---|---|---|
Il mio SQL | 8.0.33 | 8.0.23 | 8.0.23 | 5.1 |
Microsoft SQL Server | 10.2.0 | 9,40 | 7,0,0 | 6.1.0 |
Database Oracle | 23,3,023,09 | 21,7 | 21,1 | 11.2 |
Poster SQL | 42.7.3 | 42,36 | 4,2,18 | 42,1,0 |
Amazon Redshift |
redshift-jdbc42-2.1.0.29 |
redshift-jdbc42-2.1.0.16 |
redshift-jdbc41-1.2.12.1017 |
redshift-jdbc41-1.2.12.1017 |
SAPHana | 2.20.17 | 2,17,12 | ||
Teradata | 20,00,00,33 | 20,00,00,06 |
Appendice C: Aggiornamenti dei connettori
Di seguito sono riportati gli aggiornamenti dei connettori:
Driver | Versione del connettore in 5.0 AWS Glue | Versione del connettore in AWS Glue 4.0 | Versione del connettore in AWS Glue 3.0 |
---|---|---|---|
EMRConnettore DynamoDB | 5.6.0 | 4.16.0 | |
Amazon Redshift | 6.3,0 | 6.1.3 | |
OpenSearch | 1.2.0 | 1.0.1 | |
MongoDB | 104,0 | 10.0.4 | 3.0.0 |
Snowflake | 3.0.0 | 2.12.0 | |
Google BigQuery | 0.32.2 | 0,32,2 | |
AzureCosmos | 4,33,0 | 42,0 | |
Azzurro SQL | 1.3.0 | 1.3.0 | |
Vertica | 3.3.5 | 3.3.5 |
Appendice D: Aggiornamenti del formato a tabella aperta
Di seguito sono riportati gli aggiornamenti del formato a tabella aperta:
OTF | Versione del connettore nella versione 5.0 AWS Glue | Versione del connettore in AWS Glue 4.0 | Versione del connettore in AWS Glue 3.0 |
---|---|---|---|
Hudi | 0.15.0 | 0.12.1 | 0,10,1 |
Delta Lake | 3.2.1 | 2.1.0 | 1.0.0 |
Iceberg | 1.6.1 | 1.0.0 | 0.13.1 |