Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migration AWS Glue für Spark-Jobs auf AWS Glue Version 5.1
In diesem Thema werden die Änderungen zwischen den AWS Glue Versionen 0.9, 1.0, 2.0, 3.0, 4.0 und 5.0 beschrieben, die es Ihnen ermöglichen, Ihre Spark-Anwendungen und ETL-Jobs auf AWS Glue 5.1 zu migrieren. Außerdem werden die Funktionen in AWS Glue 5.1 und die Vorteile seiner Verwendung beschrieben.
Um diese Funktion mit Ihren AWS Glue ETL-Jobs zu verwenden, wählen Sie 5.1 Glue version bei der Erstellung Ihrer Jobs die Option.
Themen
Neue Features
In diesem Abschnitt werden die neuen Funktionen und Vorteile von AWS Glue Version 5.1 beschrieben.
-
Apache Spark-Update von 3.5.4 in AWS Glue 5.0 auf 3.5.6 in AWS Glue 5.1.
-
Open Table Formats (OTF) wurde auf Hudi 1.0.2, Iceberg 1.10.0 und Delta Lake 3.3.2 aktualisiert
-
Iceberg Materialized Views - Erstellen und verwalten Sie Iceberg Materialized Views (MV). Weitere Informationen finden Sie im Blogbeitrag
-
Iceberg-Format Version 3.0 — Erweitert Datentypen und bestehende Metadatenstrukturen um neue Funktionen. Weitere Informationen finden Sie in der Iceberg-Tabellenspezifikation
. -
Hudi Full Table Access — Steuerung des vollständigen Tabellenzugriffs (FTA) für Apache Hudi in Apache Spark auf der Grundlage Ihrer in definierten Richtlinien. Diese Funktion ermöglicht Lese- und Schreiboperationen aus Ihren AWS Glue ETL-Jobs in registrierten Tabellen, wenn die Jobrolle vollen Tabellenzugriff hat.
-
Die native FGAC-Unterstützung (Fine-Grained Access Control) von Spark verwendet DDL/DML -Operationen (wie CREATE, ALTER, DELETE, DROP) mit detaillierter Zugriffskontrolle für Apache Hive-, Apache Iceberg- und Delta Lake-Tabellen, die in registriert sind.
-
Audit-Kontext für Spark-Jobs — Der Audit-Kontext für AWS Glue ETL-Jobs mit aktivierten Jobs wird für API-Aufrufe im Protokoll verfügbar sein AWS Glue AWS Lake Formation
Bekannte Probleme und Einschränkungen
-
Eingeschränkte Unterstützung für View-SQL-Klausel für die Erstellung materialisierter Ansichten, das Umschreiben von Abfragen und die inkrementelle Aktualisierung. Weitere Einzelheiten finden Sie auf der Dokumentationsseite zur Funktion Iceberg Materialized Views
-
Hudi FTA-Schreibvorgänge müssen HoodieCredentialedHadoopStorage für den Verkauf von Anmeldeinformationen während der Auftragsausführung verwendet werden. Stellen Sie die folgende Konfiguration ein, wenn Sie Hudi-Jobs ausführen:
hoodie.storage.class=org.apache.spark.sql.hudi.storage.HoodieCredentialedHadoopStorage -
Die Hudi FTA-Schreibunterstützung funktioniert nur mit den Hudi-Standardkonfigurationen. Benutzerdefinierte oder nicht standardmäßige Hudi-Einstellungen werden möglicherweise nicht vollständig unterstützt und können zu unerwartetem Verhalten führen. Clustering für Hudi-Tabellen Merge-On-Read (MOR) wird im FTA-Schreibmodus ebenfalls nicht unterstützt.
Abwärtskompatible Änderungen
Beachten Sie die folgenden grundlegenden Änderungen:
-
Das S3A-Dateisystem hat EMRFS als Standard-S3-Konnektor ersetzt. Informationen zur Migration finden Sie unter. Migration von 5.0 auf 5.1 AWS GlueAWS Glue
Aktionen zur Migration auf AWS Glue 5.1
Ändern Sie bei vorhandenen Aufträgen die Glue version von der vorherigen Version auf Glue 5.1 in der Auftragskonfiguration.
-
Wählen Sie in AWS Glue Studio
Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3inGlue version. -
Wählen Sie in der API
5.1imGlueVersion-Parameter in derUpdateJob-API-Operation aus.
Wählen Sie für neue Aufträge Glue 5.1 aus, wenn Sie Aufträge erstellen.
-
Wählen Sie in der Konsole
Spark 3.5.6, Python 3 (Glue Version 5.1) or Spark 3.5.6, Scala 2 (Glue Version 5.1)in derGlue versionaus. -
Wählen Sie in AWS Glue Studio
Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3inGlue version. -
Wählen Sie in der API
5.1imGlueVersion-Parameter in derCreateJob-API-Operation aus.
Um Spark-Ereignisprotokolle von AWS Glue 5.1 aus Version AWS Glue 2.0 oder früher anzuzeigen, starten Sie einen aktualisierten Spark-Verlaufsserver für AWS Glue 5.1 mit CloudFormation oder Docker.
Checkliste für die Migration
Überprüfen Sie diese Checkliste für die Migration:
-
[Python] Aktualisieren Sie die Boto-Referenzen von 1.34 auf 1.40.
Migration von 5.0 auf 5.1 AWS GlueAWS Glue
Alle vorhandenen Jobparameter und Hauptfunktionen, die in AWS Glue 5.0 vorhanden sind, werden auch in AWS Glue 5.1 vorhanden sein. Beachten Sie die folgenden Änderungen bei der Migration:
-
In AWS Glue 5.1 hat das S3A-Dateisystem EMRFS als Standard-S3-Konnektor ersetzt. Wenn beide
spark.hadoop.fs.s3a.endpointund nicht gesetztspark.hadoop.fs.s3a.endpoint.regionsind, ist die von S3A verwendete Standardregion.us-east-2Dies kann zu Problemen wie Timeout-Fehlern beim S3-Upload führen, insbesondere bei VPC-Aufträgen. Um die durch diese Änderung verursachten Probleme zu beheben, legen Sie diespark.hadoop.fs.s3a.endpoint.regionSpark-Konfiguration fest, wenn Sie das S3A-Dateisystem in 5.1 verwenden. AWS Glue -
Um weiterhin EMRFS anstelle von S3A zu verwenden, legen Sie die folgenden Spark-Konfigurationen fest:
--conf spark.hadoop.fs.s3.impl=com.amazon.ws.emr.hadoop.fs.EmrFileSystem --conf spark.hadoop.fs.s3n.impl=com.amazon.ws.emr.hadoop.fs.EmrFileSystem --conf spark.hadoop.fs.AbstractFileSystem.s3.impl=org.apache.hadoop.fs.s3.EMRFSDelegate
Weitere Informationen finden Sie in der Dokumentation zur Spark-Migration:
Migration von älteren AWS Glue Versionen auf 5.1 AWS Glue
-
Migrationsschritte im Zusammenhang mit AWS Glue 4.0 auf AWS Glue 5.0 finden Sie unter Migration von AWS Glue 4.0 auf AWS Glue 5.0.
-
Migrationsschritte im Zusammenhang mit AWS Glue 3.0 auf AWS Glue 5.0 finden Sie unter Migration von AWS Glue 3.0 auf AWS Glue 5.0.
-
Migrationsschritte im Zusammenhang mit AWS Glue 2.0 auf AWS Glue 5.0 und eine Liste der Migrationsunterschiede zwischen AWS Glue Version 2.0 und 4.0 finden Sie unter Migration von AWS Glue 2.0 auf AWS Glue 5.0.
Migration von Connector und JDBC-Treibern für 5.1 AWS Glue
Die aktualisierten Versionen von JDBC- und Data-Lake-Konnektoren finden Sie unter:
Die folgenden Änderungen gelten für die OTF-Versionsupgrades, die in 5.1 beschrieben Anhang D: Verbesserungen des Open-Table-Formats wurden. AWS Glue
Apache Hudi
Beachten Sie folgende Änderungen:
Support den FTA-Lese- und Schreibzugriff auf bei Lake Formation registrierte Tabellen.
Apache Iceberg
Beachten Sie folgende Änderungen:
Support Version 3 des Iceberg-Formats. Die folgenden Funktionen werden unterstützt:
Transformationen mit mehreren Argumenten für die Partitionierung und Sortierung.
Nachverfolgung der Zeilenabstammung.
Löschvektoren. Erfahren Sie mehr im Blogbeitrag
Tabellen-Verschlüsselungsschlüssel.
Support Spark-native FGAC-Schreibvorgänge in registrierten Tabellen.
Athena SQL-Kompatibilität — Iceberg V3-Tabellen, die von EMR Spark erstellt wurden, können aufgrund eines Fehlers nicht gelesen werden:
GENERIC_INTERNAL_ERROR: Cannot read unsupported version 3
Delta Lake
Beachten Sie folgende Änderungen:
Support den FTA-Lese- und Schreibzugriff auf bei Lake Formation registrierte Tabellen.
Anhang A: Nennenswerte Aktualisierungen von Abhängigkeiten
Im Folgenden sind Abhängigkeits-Upgrades aufgeführt:
| -Abhängigkeit | Version in 5.1 AWS Glue | Version in AWS Glue 5.0 | Version in AWS Glue 4.0 | Version in AWS Glue 3.0 | Version in AWS Glue 2.0 | Version in AWS Glue 1.0 |
|---|---|---|---|---|---|---|
| Java | 17 | 17 | 8 | 8 | 8 | 8 |
| Spark | 3.5.6 | 3.5.4 | 3.3.0-amzn-1 | 3.1.1-amzn-0 | 2.4.3 | 2.4.3 |
| Hadoop | 3.4.1 | 3.4.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,18 | 2.12 | 2.12 | 2.11 | 2.11 |
| Jackson | 2.15,2 | 2.15,2 | 2.12 | 2.12 | 2.11 | 2.11 |
| Hive | 2.3.9-amzn-4 | 2.3.9-amzn-4 | 2.3.9-amzn-2 | 2.3.7-amzn-4 | 1.2 | 1.2 |
| EMRFS | 2,73,0 | 2,69,0 | 2,54,0 | 2,46,0 | 2.38.0 | 2.30.0 |
| JSON4s | 3.7.0-M11 | 3.7.0-M11 | 3.7.0-M11 | 3.6.6 | 3.5.x | 3.5.x |
| Arrow | 12.0.1 | 12.0.1 | 7.0.0 | 2.0.0 | 0.10.0 | 0.10.0 |
| AWS Glue Datenkatalog-Client | 4.9.0 | 4.5.0 | 3.7.0 | 3.0.0 | 1.10.0 | – |
| AWS SDK for Java | 2.35.5 | 2,29,52 | 1.12 | 1.12 | ||
| Python | 3,11 | 3,11 | 3,10 | 3.7 | 2.7 und 3.6 | 2.7 und 3.6 |
| Boto | 1,40,61 | 1,34,131 | 1,26 | 1,18 | 1.12 | – |
| EMR-DynamoDB-Connector | 5.7.0 | 5.6.0 | 4,16.0 |
Anhang B: Aktualisierungen von JDBC-Treibern
Die folgenden JDBC-Treiber-Upgrades sind:
| Treiber | JDBC-Treiberversion in 5.1 AWS Glue | JDBC-Treiberversion in 5.0 AWS Glue | JDBC-Treiberversion in 4.0 AWS Glue | JDBC-Treiberversion in 3.0 AWS Glue | JDBC-Treiberversion in früheren Versionen AWS Glue |
|---|---|---|---|---|---|
| MySQL | 8.0.33 | 8,0,33 | 8.0.23 | 8.0.23 | 5.1 |
| Microsoft SQL Server | 10.2,0 | 10.2.0 | 9.4,0 | 7.0.0 | 6.1.0 |
| Oracle-Datenbanken | 23.3.0.23,09 | 23.3.0.23,09 | 21,7 | 21,1 | 11.2 |
| PostgreSQL | 42,7,3 | 42,7,3 | 42,3,6 | 42,2,18 | 42,10 |
| Amazon Redshift |
redshift-jdbc42-2.1.0.29 |
redshift-jdbc42-2.1.0.29 |
redshift-jdbc42-2.1.0.16 |
redshift-jdbc41-1.2.12.1017 |
redshift-jdbc41-1.2.12.1017 |
| SAP HANA | 2,20,17 | 2,20,17 | 2.17,12 | ||
| Teradata | 20,00,00,33 | 20.00.00.33 | 20.00.00.06 |
Anhang C: Konnektor-Upgrades
Im Folgenden sind Konnektor-Upgrades aufgeführt:
| Treiber | Connector-Version in 5.1 AWS Glue | Connector-Version in AWS Glue 5.0 | Connector-Version in AWS Glue 4.0 | Connector-Version in AWS Glue 3.0 |
|---|---|---|---|---|
| EMR-DynamoDB-Connector | 5.7.0 | 5.6.0 | 4.16.0 | |
| Amazon Redshift | 6.4.2 | 6.4.0 | 6.1.3 | |
| OpenSearch | 1.2.0 | 1.2.0 | 1.0.1 | |
| MongoDB | 10.3.0 | 10.3.0 | 10.0.4 | 3.0.0 |
| Snowflake | 3.1.1 | 3.0.0 | 2.12.0 | |
| Google BigQuery | 0,32,2 | 0,32,2 | 0,32,2 | |
| AzureCosmos | 4,33,0 | 4,33,0 | 4,22,0 | |
| AzureSQL | 1.3.0 | 1.3.0 | 1.3.0 | |
| Vertica | 3.3.5 | 3.3.5 | 3.3.5 |
Anhang D: Verbesserungen des Open-Table-Formats
Im Folgenden finden Sie die Verbesserungen des Open-Table-Formats:
| OTF | Connector-Version in 5.1 AWS Glue | Connector-Version in AWS Glue 5.0 | Connector-Version in AWS Glue 4.0 | Connector-Version in AWS Glue 3.0 |
|---|---|---|---|---|
| Hudi | 1.0.2 | 0.15.0 | 0.12.1 | 0.10.1 |
| Delta Lake | 3.3.2 | 3.3.0 | 2.1.0 | 1.0.0 |
| Iceberg | 1.10.0 | 1.7.1 | 1.0.0 | 0.13.1 |