View a markdown version of this page

Migrating AWS Glue für Spark-Jobs zu AWS Glue Version 5.1 - AWS Glue

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.

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:

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 3 inGlue version.

  • Wählen Sie in der API 5.1 im GlueVersion-Parameter in der UpdateJob-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 der Glue version aus.

  • Wählen Sie in AWS Glue Studio die Option Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3 InGlue version.

  • Wählen Sie in der API 5.1 im GlueVersion-Parameter in der CreateJob-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.endpoint und nicht gesetzt spark.hadoop.fs.s3a.endpoint.region sind, wird die von S3A verwendete Standardregion wie folgt verwendet. us-east-2 Dies 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 die spark.hadoop.fs.s3a.endpoint.region Spark-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

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