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.
Migrating AWS Glue für Spark-Jobs zu 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, damit Sie Ihre Spark-Anwendungen und ETL-Jobs auf AWS Glue 5.1 migrieren können. Es beschreibt auch die Funktionen von AWS Glue 5.1 und die Vorteile, die sich daraus ergeben.
Um diese Funktion für Ihre AWS Glue ETL-Jobs zu verwenden, wählen Sie 5.1 Glue version bei der Erstellung Ihrer Jobs die Option aus.
Themen
Neue Features
In diesem Abschnitt werden die neuen Funktionen und Vorteile der 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 https://aws.amazon.com/blogs/big-data/introducing-apache-iceberg-materialized-views-in-aws-glue-data-catalog/
-
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. AWS Lake Formation Diese Funktion ermöglicht Lese- und Schreibvorgänge aus Ihren AWS Glue ETL-Jobs in AWS Lake Formation registrierten Tabellen, wenn die Jobrolle vollen Tabellenzugriff hat.
-
Spark-Unterstützung für native Fine-Grained Access Control (FGAC) mithilfe AWS Lake Formation von DDL/DML Operationen (wie CREATE, ALTER, DELETE, DROP) mit feinkörniger Zugriffskontrolle für Apache Hive-, Apache Iceberg- und Delta Lake-Tabellen, in denen registriert ist. AWS Lake Formation
-
Auditkontext für Spark-Jobs — Der Auditkontext für AWS Glue ETL-Jobs wird für API-Aufrufe in den Protokollen verfügbar sein. AWS Glue AWS Lake Formation AWS CloudTrail
Bekannte Probleme und Einschränkungen
Beachten Sie die folgenden bekannten Probleme und Einschränkungen:
-
Eingeschränkte Unterstützung für die View-SQL-Klausel für die Erstellung materialisierter Ansichten, das Neuschreiben von Abfragen und die inkrementelle Aktualisierung. Weitere Informationen finden Sie auf der Dokumentationsseite zu den Funktionen von Iceberg Materialized Views
-
Hudi FTA-Schreiben müssen HoodieCredentialedHadoopStorage für den Verkauf von Zugangsdaten 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 Standard-Hudi-Konfigurationen. 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-Connector ersetzt. Hinweise zur Migration finden Sie unter. Migration von AWS Glue 5,0 bis AWS Glue 5.1
Aktionen, zu denen migriert werden soll 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 die Option
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 AWS Glue 2.0 oder einer früheren Version anzuzeigen, starten Sie einen aktualisierten Spark-Verlaufsserver für AWS Glue 5.1 mithilfe von CloudFormation oder Docker.
Checkliste für die Migration
Überprüfen Sie diese Checkliste für die Migration:
-
[Python] Aktualisieren Sie die Boot-Referenzen von 1.34 auf 1.40.
Migration von AWS Glue 5,0 bis AWS Glue 5.1
Alle vorhandenen Jobparameter und Hauptfunktionen, die in AWS Glue 5.0 vorhanden sind, werden in AWS Glue 5.1 existieren. Beachten Sie die folgenden Änderungen bei der Migration:
-
In AWS Glue 5.1 hat das S3A-Dateisystem EMRFS als Standard-S3-Connector ersetzt. Wenn beide
spark.hadoop.fs.s3a.endpointund nicht gesetztspark.hadoop.fs.s3a.endpoint.regionsind, wird die von S3A verwendete Standardregion wie folgt verwendet.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 minimieren, 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, stellen Sie die folgenden Spark-Konfigurationen ein:
--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 zu AWS Glue 5.1
-
Die Schritte zur Migration von AWS Glue 4.0 auf AWS Glue 5.0 finden Sie unter Migration von AWS Glue 4.0 auf AWS Glue 5.0.
-
Die Schritte zur Migration von AWS Glue 3.0 auf AWS Glue 5.0 finden Sie unter Migration von AWS Glue 3.0 auf AWS Glue 5.0.
-
Die Schritte zur Migration von 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 AWS Glue 5.1
Die aktualisierten Versionen von JDBC- und Data-Lake-Konnektoren finden Sie unter:
Die folgenden Änderungen gelten für die in Anhang D: Verbesserungen des Open-Table-Formats Version 5.1 genannten OTF-Versionsupgrades. AWS Glue
Apache Hudi
Beachten Sie folgende Änderungen:
Unterstützt den FTA-Lese- und Schreibzugriff auf in Lake Formation registrierte Tabellen.
Apache Iceberg
Beachten Sie folgende Änderungen:
Unterstützt Version 3 im Iceberg-Format. Die folgenden Funktionen werden unterstützt:
Verfolgung der Zeilenabstammung.
Vektoren zum Löschen. Erfahren Sie mehr im Blogbeitrag
Verschlüsselungsschlüssel für Tabellen.
Unterstützung von Standardwerten für Spalten.
Unterstützt Spark-native FGAC-Schreibvorgänge in AWS Lake Formation registrierten Tabellen.
Athena SQL-Kompatibilität — Von EMR Spark erstellte Iceberg V3-Tabellen können aufgrund eines Fehlers nicht gelesen werden:
GENERIC_INTERNAL_ERROR: Cannot read unsupported version 3
Delta Lake
Beachten Sie folgende Änderungen:
Unterstützt den FTA-Lese- und Schreibzugriff auf in 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 | N/A |
| AWS SDK für 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 | N/A |
| 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 | Version des Konnektors in AWS Glue 5.0 | Konnektorversion in AWS Glue 4.0 | Version des Anschlusses 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 | Version des Anschlusses in 5.1 AWS Glue | Version des Konnektors in AWS Glue 5.0 | Konnektorversion in AWS Glue 4.0 | Version des Anschlusses 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 |