Migration AWS Glue für Spark-Jobs auf 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.

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.

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:

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 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 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 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.endpoint und nicht gesetzt spark.hadoop.fs.s3a.endpoint.region sind, ist die von S3A verwendete Standardregion. 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 beheben, 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, 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

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