Migration von Aufträgen von AWS Glue für Spark zur AWS Glue-Version 5.0 - AWS Glue

Migration von Aufträgen von AWS Glue für Spark zur AWS Glue-Version 5.0

In diesem Thema werden die Änderungen zwischen AWS Glue-Versionen 0.9, 1.0, 2.0, 3.0 und 4.0 beschrieben, damit Sie Ihre Spark-Anwendungen und ETL-Aufträge auf AWS Glue 5.0 migrieren können. Es beschreibt auch die Features von AWS Glue 5.0 und die Vorteile seiner Verwendung.

Um dieses Feature mit Ihren AWS Glue-ETL-Aufträgen zu verwenden, wählen Sie bei der Auftragserstellung 5.0 für Glue version aus.

Neue Features

In diesem Abschnitt werden die neuen Funktionen und Vorteile von AWS Glue Version 5.0 beschrieben.

  • Apache-Spark-Update von 3.3.0 in AWS Glue 4.0 auf 3.5.4 in AWS Glue 5.0. Siehe Wesentliche Verbesserungen von Spark 3.3.0 zu Spark 3.5.4.

  • Native differenzierte Zugriffskontrolle (FGAC) von Spark mit Lake Formation. Dazu gehört FGAC für Iceberg-, Delta- und Hudi-Tabellen. Weitere Informationen finden Sie unter Verwenden von AWS Glue mit AWS Lake Formation für die differenzierte Zugriffskontrolle.

    Beachten Sie die folgenden Überlegungen oder Einschränkungen für Spark-natives FGAC:

    • Derzeit werden Datenschreibvorgänge nicht unterstützt.

    • Das Schreiben in Iceberg über GlueContext mit Lake Formation erfordert stattdessen die Verwendung der IAM-Zugriffskontrolle.

    Eine vollständige Liste der Einschränkungen und Überlegungen bei der Verwendung von Spark-nativem FGAC finden Sie unter Überlegungen und Einschränkungen.

  • Unterstützung für Amazon S3 Access Grants als skalierbare Zugriffskontrolllösung für Ihre Amazon-S3-Daten von AWS Glue. Weitere Informationen finden Sie unter Verwenden von Amazon S3 Access Grants mit AWS Glue.

  • Open Table Formats (OTF) wurden auf Hudi 0.15.0, Iceberg 1.7.1 und Delta Lake 3.3.0 aktualisiert.

  • Unterstützung für Amazon SageMaker Unified Studio.

  • Integration von Amazon SageMaker Lakehouse und Datenabstraktion. Weitere Informationen finden Sie unter Abfragen von Metastore-Datenkatalogen über AWS Glue ETL.

  • Unterstützung für die Installation zusätzlicher Python-Bibliotheken mithilfe von requirements.txt. Weitere Informationen finden Sie unter Installation zusätzlicher Python-Bibliotheken in AWS Glue 5.0 oder höher mit requirements.txt.

  • AWS Glue 5.0 unterstützt die Datenherkunft in Amazon DataZone. Sie können AWS Glue so konfigurieren, dass während der Ausführung von Spark-Aufträgen automatisch Herkunftsinformationen erfasst und die Herkunftsereignisse zur Visualisierung in Amazon DataZone gesendet werden. Weitere Informationen finden Sie unter Data lineage in Amazon DataZone.

    Um dies in der AWS Glue-Konsole zu konfigurieren, aktivieren Sie Herkunftsereignisse generieren und geben Sie Ihre Domain-ID für Amazon DataZone auf der Registerkarte Auftragsdetails ein.

    Der Screenshot zeigt die Aktivierung der Amazon-DataZone-Datenherkunft für AWS Glue.

    Alternativ können Sie den folgenden Auftragsparameter angeben (geben Sie Ihre DataZone-Domain-ID an):

    • Schlüssel: --conf

    • Wert:

      extraListeners=io.openlineage.spark.agent.OpenLineageSparkListener —conf spark.openlineage.transport.type=amazon_datazone_api -conf spark.openlineage.transport.domainId=<your-domain-ID>
  • Connector- und JDBC-Treiber-Updates. Weitere Informationen erhalten Sie unter Anhang B: Aktualisierungen von JDBC-Treibern und Anhang C: Konnektor-Upgrades.

  • Java-Update von 8 auf 17.

  • Erhöhung des Speicherplatzes für G.1X- und G.2X-Worker von AWS Glue und Erhöhung des Festplattenspeichers auf 94 GB bzw. 138 GB. Darüber hinaus sind die neuen Worker-Typen G.12X und G.16X sowie speicheroptimierte R.1X, R.2X, R.4X, R.8X in AWS Glue 4.0 und späteren Versionen verfügbar. Weitere Informationen finden Sie unter Aufträge.

  • Unterstützung für AWS SDK für Java, Version 2 – AWS Glue-5.0-Aufträge können die Java-Versionen 1.12.569 oder 2.28.8 verwenden, wenn der Auftrag v2 unterstützt. Das AWS SDK für Java 2.x ist eine Neufassung der Version-1.x-Codebasis. Sie basiert auf Java 8+ und fügt mehrere häufig angeforderte Funktionen hinzu. Dies umfasst die Unterstützung von blockierungsfreiem E/A und die Möglichkeit, zur Laufzeit eine andere HTTP-Implementierung einzubinden. Weitere Informationen, einschließlich eines Migrationshandbuchs von SDK für Java v1 zu v2, finden Sie im Handbuch AWS SDK für Java, Version 2.

Abwärtskompatible Änderungen

Beachten Sie die folgenden grundlegenden Änderungen:

  • Wenn in AWS Glue 5.0 das S3A-Dateisystem verwendet wird und weder „fs.s3a.endpoint“ noch „fs.s3a.endpoint.region“ festgelegt 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 minimieren, legen Sie die Spark-Konfiguration „fs.s3a.endpoint.region“ fest, wenn Sie das S3A-Dateisystem in AWS Glue 5.0 verwenden.

  • Differenzierte Zugriffskontrolle von Lake Formation (FGAC)

    • AWS Glue 5.0 unterstützt nur die neue Spark-native FGAC mit Spark DataFrames. FGAC mit AWS Glue DynamicFrames wird nicht unterstützt.

      • Die Verwendung von FGAC in Version 5.0 erfordert die Migration von AWS Glue DynamicFrames zu Spark DataFrames.

      • Wenn Sie FGAC nicht benötigen, ist eine Migration zu Spark DataFrame nicht erforderlich. GlueContext-Features wie Auftragslesezeichen und Push-Down-Prädikate funktionieren weiterhin.

    • Aufträge mit Spark-nativem FGAC erfordern mindestens 4 Worker: einen Benutzertreiber, einen Systemtreiber, einen System-Executor und einen Standby-Benutzer-Executor.

    • Weitere Informationen finden Sie unter Verwenden von AWS Glue mit AWS Lake Formation für die differenzierte Zugriffskontrolle.

  • Lake Formation – vollständiger Tabellenzugriff (FTA)

    • AWS Glue 5.0 unterstützt FTA mit Spark-nativen DataFrames (neu) und GlueContext DynamicFrames (veraltet, mit Einschränkungen).

    • Spark-native FTA

      • Wenn das 4.0-Skript GlueContext verwendet, migrieren Sie zu nativem Spark.

      • Dieses Feature ist auf Hive- und Iceberg-Tabellen beschränkt.

      • Weitere Informationen zur Konfiguration eines 5.0-Auftrags für Spark-native FTA finden Sie unter

    • GlueContext DynamicFrame-FTA

      • Keine Codeänderung erforderlich

      • Dieses Feature ist auf Nicht-OTF-Tabellen beschränkt – es funktioniert nicht mit Iceberg, Delta Lake und Hudi.

  • Der vektorisierte SIMD-CSV-Reader wird nicht unterstützt.

  • Die kontinuierliche Protokollierung in der Ausgabeprotokollgruppe wird nicht unterstützt. Verwenden Sie stattdessen die Protokollgruppe error.

  • Die AWS Glue-Auftragsausführungs-Erkenntnisse job-insights-rule-driver sind veraltet. Der Protokollstream job-insights-rca-driver befindet sich jetzt in der Fehlerprotokollgruppe.

  • Athena-basierte benutzerdefinierte/Marketplace-Connectors werden nicht unterstützt.

  • Connectors für Adobe Marketo Engage, Facebook Ads, Google Ads, Google Analytics 4, Google Sheets, Hubspot, Instagram Ads, Intercom, Jira Cloud, Oracle NetSuite, Salesforce, Salesforce Marketing Cloud, Salesforce Marketing Cloud Account Engagement, SAP OData, ServiceNow, Slack, Snapchat Ads, Stripe, Zendesk und Zoho CRM werden nicht unterstützt.

  • Benutzerdefinierte log4j-Eigenschaften werden in AWS Glue 5.0 nicht unterstützt.

Wesentliche Verbesserungen von Spark 3.3.0 zu Spark 3.5.4

Berücksichtigen Sie die folgenden Verbesserungen:

  • Python-Client für Spark Connect (SPARK-39375).

  • Implementierung der Unterstützung von STANDARD-Werten für Spalten in Tabellen (SPARK-38334).

  • Unterstützung von „lateralen Alias-Referenz in Spalten“ (SPARK-27561).

  • Hardening der SQLSTATE-Nutzung für Fehlerklassen (SPARK-41994).

  • Standardmäßige Aktivierung von Bloom-Filter-Joins (SPARK-38841).

  • Verbesserte Skalierbarkeit der Spark-Benutzeroberfläche und Treiberstabilität für große Anwendungen (SPARK-41053).

  • Asynchrone Fortschrittsverfolgung beim strukturierten Streaming (SPARK-39591).

  • Beliebige zustandsbehaftete Python-Verarbeitung beim strukturierten Streaming (SPARK-40434).

  • Verbesserungen der Pandas-API-Abdeckung (SPARK-42882) und Unterstützung von NumPy-Eingaben in PySpark (SPARK-39405).

  • Bereitstellung eines Speicher-Profilers für benutzerdefinierte PySpark-Funktionen (SPARK-40281).

  • Implementierung des PyTorch-Distributors (SPARK-41589).

  • Veröffentlichung von SBOM-Artefakten (SPARK-41893).

  • Unterstützung einer reinen IPv6-Umgebung (SPARK-39457).

  • Benutzerdefinierter K8s-Scheduler (Apache YuniKorn und Volcano) GA (SPARK-42802).

  • Scala- und Go-Client-Unterstützung in Spark Connect (SPARK-42554) und (SPARK-43351).

  • PyTorch-basierte verteilte ML-Unterstützung für Spark Connect (SPARK-42471).

  • Strukturierte Streaming-Unterstützung für Spark Connect in Python und Scala (SPARK-42938).

  • Pandas-API-Unterstützung für den Python Spark Connect Client (SPARK-42497).

  • Einführung von Arrow-Python-UDFs (SPARK-40307).

  • Unterstützung benutzerdefinierter Python-Tabellenfunktionen (SPARK-43798).

  • Migration von PySpark-Fehlern in Fehlerklassen (SPARK-42986).

  • PySpark-Testframework (SPARK-44042).

  • Unterstützung für Datasketches HllSketch hinzugefügt (SPARK-16484).

  • Verbesserung der integrierten SQL-Funktion (SPARK-41231).

  • IDENTIFIER-Klausel (SPARK-43205).

  • Integration von SQL-Funktionen in Scala, Python und R API (SPARK-43907).

  • Unterstützung für benannte Argumente für SQL-Funktionen hinzugefügt (SPARK-43922).

  • Vermeidung unnötiger Aufgabenwiederholungen auf stillgelegten Executors, die bei der Migration von Shuffle-Daten verloren gehen (SPARK-41469).

  • Verteiltes ML <> Spark Connect (SPARK-42471).

  • DeepSpeed-Distributor (SPARK-44264).

  • Implementierung von Changelog-Checkpoints für den RocksDB-State-Store (SPARK-43421).

  • Einführung der Wasserzeichen-Weitergabe zwischen Operatoren (SPARK-42376).

  • Einführung von dropDuplicatesWithinWatermark (SPARK-42931).

  • Verbesserungen der Speicherverwaltung des Providers für RocksDB-State-Store (SPARK-43311).

Aktionen zur Migration zu AWS Glue 5.0

Ändern Sie bei vorhandenen Aufträgen die Glue version von der vorherigen Version auf Glue 5.0 in der Auftragskonfiguration.

  • Wählen Sie in AWS Glue Studio Glue 5.0 - Supports Spark 3.5.4, Scala 2, Python 3 in Glue version aus.

  • Wählen Sie in der API 5.0 im GlueVersion-Parameter in der UpdateJob-API-Operation aus.

Wählen Sie für neue Aufträge Glue 5.0 aus, wenn Sie Aufträge erstellen.

  • Wählen Sie in der Konsole Spark 3.5.4, Python 3 (Glue Version 5.0) or Spark 3.5.4, Scala 2 (Glue Version 5.0) in der Glue version aus.

  • Wählen Sie in AWS Glue Studio Glue 5.0 - Supports Spark 3.5.4, Scala 2, Python 3 in Glue version aus.

  • Wählen Sie in der API 5.0 im GlueVersion-Parameter in der CreateJob-API-Operation aus.

Um Spark-Ereignisprotokollen von AWS Glue 5.0 aus AWS Glue 2.0 oder früher anzuzeigen, starten Sie einen aktualisierten Spark-Verlaufsserver für AWS Glue 5.0 mit AWS CloudFormation oder Docker.

Checkliste für die Migration

Überprüfen Sie diese Checkliste für die Migration:

  • Java-17-Aktualisierungen

  • [Scala] Aktualisierung von AWS-SDK-Aufrufen von v1 auf v2

  • Migration von Python 3.10 auf 3.11

  • [Python] Aktualisierung der Boto-Referenzen von 1.26 auf 1.34

Features von AWS Glue 5.0

In diesem Abschnitt werden die Features von AWS Glue ausführlich beschrieben.

Abfragen von Metastore-Datenkatalogen über AWS Glue ETL

Sie können Ihren AWS Glue-Auftrag registrieren, um auf den AWS Glue Data Catalog zuzugreifen, wodurch Tabellen und andere Metastore-Ressourcen unterschiedlichen Konsumenten zur Verfügung gestellt werden. Der Datenkatalog unterstützt eine Hierarchie mit mehreren Katalogen, die alle Ihre Daten in Data Lakes von Amazon S3 vereinheitlicht. Er bietet außerdem eine Hive-Metastore-API und eine Open-Source-API von Apache Iceberg für den Datenzugriff. Diese Features stehen AWS Glue und anderen datenorientierten Diensten wie Amazon EMR, Amazon Athena und Amazon Redshift zur Verfügung.

Wenn Sie Ressourcen im Datenkatalog erstellen, können Sie von jeder SQL-Engine aus darauf zugreifen, die die REST-API von Apache Iceberg unterstützt. AWS Lake Formation verwaltet die Berechtigungen. Nach der Konfiguration können Sie die Funktionen von AWS Glue nutzen, um unterschiedliche Daten abzufragen, indem Sie diese Metastore-Ressourcen mit vertrauten Anwendungen abfragen. Dazu gehören Apache Spark und Trino.

So werden Metadatenressourcen organisiert

Daten werden mithilfe des AWS Glue Data Catalog in einer logischen Hierarchie aus Katalogen, Datenbanken und Tabellen organisiert:

  • Katalog: Ein logischer Container, der Objekte aus einem Datenspeicher wie Schemata oder Tabellen enthält.

  • Datenbank: Organisiert Datenobjekte wie Tabellen und Ansichten in einem Katalog.

  • Tabellen und Ansichten: Datenobjekte in einer Datenbank, die eine Abstraktionsschicht mit einem verständlichen Schema bereitstellen. Sie erleichtern den Zugriff auf zugrunde liegende Daten, die in verschiedenen Formaten und an verschiedenen Orten vorliegen können.

Migration von AWS Glue 4.0 auf AWS Glue 5.0

Alle bestehenden Auftragsparameter und Hauptfeatures von AWS Glue 4.0 sind auch in AWS Glue 5.0 verfügbar, mit Ausnahme von Machine-Learning-Transformationen.

Folgende neue Parameter wurden hinzugefügt:

  • --enable-lakeformation-fine-grained-access: Aktiviert das Feature für die differenzierte Zugriffskontrolle (FGAC) in Tabellen von AWS Lake Formation.

Weitere Informationen finden Sie in der Dokumentation zur Spark-Migration:

Migration von AWS Glue 3.0 auf AWS Glue 5.0

Anmerkung

Migrationsschritte im Zusammenhang mit AWS Glue 4.0 finden Sie unter Migration von AWS Glue 3.0 auf AWS Glue 4.0.

Alle bestehenden Auftragsparameter und Hauptfeatures von AWS Glue 3.0 sind auch in AWS Glue 5.0 verfügbar, mit Ausnahme von Machine-Learning-Transformationen.

Migration von AWS Glue 2.0 zu AWS Glue 5.0

Anmerkung

Informationen zu Migrationsschritten für AWS Glue 4.0 und eine Liste der Migrationsunterschiede zwischen AWS Glue-Version 3.0 und 4.0 finden Sie unter Migration von AWS Glue 3.0 auf AWS Glue 4.0.

Beachten Sie außerdem die folgenden Migrationsunterschiede zwischen den AWS Glue-Versionen 3.0 und 2.0:

  • Alle bestehenden Auftragsparameter und Hauptfeatures von AWS Glue 2.0 sind auch in AWS Glue 5.0 verfügbar, mit Ausnahme von Machine-Learning-Transformationen.

  • Einige Spark-Änderungen allein erfordern möglicherweise eine Überarbeitung Ihrer Skripte, um sicherzustellen, dass entfernte Features nicht referenziert werden. Beispielsweise aktiviert Spark 3.1.1 und höher keine nicht typisierten Scala-UDFs, aber Spark 2.4 erlaubt sie.

  • Python 2.7 wird nicht unterstützt.

  • Alle zusätzlichen Jars in vorhandenen Aufträgen in AWS Glue 2.0 können zu in Konflikt stehenden Abhängigkeiten führen, da es Aktualisierungen in verschiedenen Abhängigkeiten gibt. Sie können Klassenpfadkonflikte mit dem --user-jars-first-Auftragsparameter vermeiden.

  • Änderungen des Verhaltens beim Laden/Speichern von Zeitstempeln von/in Parquet-Dateien. Weitere Informationen finden Sie unter Upgrade von Spark SQL 3.0 auf 3.1.

  • Abweichende Parallelität von Spark-Aufgaben für die Treiber-/Executor-Konfiguration. Sie können die Parallelität von Aufgaben anpassen, indem Sie das Auftragsargument --executor-cores übergeben.

Änderungen im Protokollierungsverhalten in AWS Glue 5.0

Im Folgenden sind die Änderungen des Protokollierungsverhaltens in AWS Glue 5.0 aufgeführt. Weitere Informationen finden Sie unter Protokollierung für AWS Glue-Aufträge.

  • Alle Protokolle (Systemprotokolle, Spark-Daemon-Protokolle, Benutzerprotokolle und Glue-Logger-Protokolle) werden nun standardmäßig in die /aws-glue/jobs/error-Protokollgruppe geschrieben.

  • Die in früheren Versionen für die kontinuierliche Protokollierung verwendete /aws-glue/jobs/logs-v2-Protokollgruppe wird nicht mehr verwendet.

  • Sie können die Namen der Protokollgruppen oder Protokollstreams nicht mehr mit den entfernten Argumenten für die kontinuierliche Protokollierung umbenennen oder anpassen. Sehen Sie sich stattdessen die neuen Auftragsargumente in AWS Glue 5.0 an.

Zwei neue Auftragsargumente wurden in AWS Glue 5.0 eingeführt.

  • ––custom-logGroup-prefix: Ermöglicht es Ihnen, ein benutzerdefiniertes Präfix für die Protokollgruppen /aws-glue/jobs/error und /aws-glue/jobs/output anzugeben.

  • ––custom-logStream-prefix: Ermöglicht es Ihnen, ein benutzerdefiniertes Präfix für die Namen der Protokollstreams innerhalb der Protokollgruppen anzugeben.

    Zu den Validierungsregeln und Einschränkungen für benutzerdefinierte Präfixe gehört Folgendes:

    • Der Name des Protokollstreams muss insgesamt zwischen 1 und 512 Zeichen lang sein.

    • Das benutzerdefinierte Präfix für Namen für Protokollstreams ist auf 400 Zeichen begrenzt.

    • Zu den zulässigen Zeichen in Präfixen gehören alphanumerische Zeichen, Unterstriche (_), Bindestriche (-) und Schrägstriche (/).

Veraltete Argumente für die kontinuierliche Protokollierung in AWS Glue 5.0

Die folgenden Auftragsargumente für die kontinuierliche Protokollierung sind in AWS Glue 5.0 veraltet.

  • ––enable-continuous-cloudwatch-log

  • ––continuous-log-logGroup

  • ––continuous-log-logStreamPrefix

  • ––continuous-log-conversionPattern

  • ––enable-continuous-log-filter

Connector- und JDBC-Treibermigration für AWS Glue 5.0

Die aktualisierten Versionen von JDBC- und Data-Lake-Konnektoren finden Sie unter:

Die folgenden Änderungen gelten für die Connector- oder Treiberversionen, die in den Anhängen für Glue 5.0 aufgeführt sind.

Amazon Redshift

Beachten Sie folgende Änderungen:

  • Integriert die Unterstützung für dreiteilige Tabellennamen, damit der Connector Redshift-Datenfreigabetabellen abfragen kann.

  • Korrigiert die Zuordnung von Spark ShortType, um Redshift SMALLINT anstelle von INTEGER zu verwenden, um die erwartete Datengröße besser anzupassen.

  • Unterstützung für benutzerdefinierte Clusternamen (CNAME) für Amazon Redshift Serverless hinzugefügt.

Apache Hudi

Beachten Sie folgende Änderungen:

  • Unterstützung für Indexierung auf Datensatzebene.

  • Unterstützung für die automatische Generierung von Datensatzschlüsseln. Sie müssen das Datensatzschlüsselfeld jetzt nicht mehr angeben.

Apache Iceberg

Beachten Sie folgende Änderungen:

  • Unterstützt differenzierte Zugriffskontrolle mit AWS Lake Formation.

  • Unterstützt Verzweigen und Markieren, d. h. benannte Verweise auf Snapshots mit eigenen, unabhängigen Lebenszyklen.

  • Ein neues Verfahren zur Änderungsprotokollansicht generiert eine Ansicht, die die Änderungen an einer Tabelle über einen bestimmten Zeitraum oder zwischen bestimmten Snapshots enthält.

Delta Lake

Beachten Sie folgende Änderungen:

  • Unterstützung des Delta Universal Formats (UniForm), das einen nahtlosen Zugriff über Apache Iceberg und Apache Hudi ermöglicht.

  • Unterstützung von Löschvektoren, die ein Merge-on-Read-Paradigma implementieren.

AzureCosmos

Beachten Sie folgende Änderungen:

  • Unterstützung für hierarchische Partitionsschlüssel hinzugefügt.

  • Option zur Verwendung eines benutzerdefinierten Schemas mit StringType (unformatierte JSON) für eine verschachtelte Eigenschaft hinzugefügt.

  • Konfigurationsoption spark.cosmos.auth.aad.clientCertPemBase64 hinzugefügt, um die Verwendung der SPN-Authentifizierung (ServicePrincipal-Name) mit Zertifikat anstelle des Client-Schlüssels zu ermöglichen.

Weitere Informationen finden Sie im Änderungsprotokoll des Spark-Connectors von Azure Cosmos DB.

Microsoft SQL Server

Beachten Sie folgende Änderungen:

  • Die TLS-Verschlüsselung ist standardmäßig aktiviert.

  • Wenn encrypt = false ist, der Server aber Verschlüsselung erfordert, wird das Zertifikat basierend auf der trustServerCertificate-Verbindungseinstellung validiert.

  • aadSecurePrincipalId und aadSecurePrincipalSecret sind veraltet.

  • Die getAADSecretPrincipalId-API wurde entfernt.

  • CNAME-Auflösung hinzugefügt, wenn Realm angegeben ist.

MongoDB

Beachten Sie folgende Änderungen:

  • Unterstützung für Micro-Batch-Modus mit strukturiertem Spark-Streaming.

  • Unterstützung für BSON-Datentypen.

  • Unterstützung für das Lesen mehrerer Sammlungen im Micro-Batch- oder kontinuierlichen Streaming-Modus hinzugefügt.

    • Wenn der Name einer in Ihrer collection-Konfigurationsoption verwendeten Sammlung ein Komma enthält, behandelt der Spark-Connector diese als zwei verschiedene Sammlungen. Um dies zu vermeiden, müssen Sie dem Komma einen Backslash (\) voranstellen.

    • Wenn der Name einer in Ihrer collection-Konfigurationsoption verwendeten Sammlung „*“ ist, interpretiert der Spark-Connector dies als Anweisung zum Scannen aller Sammlungen. Um dies zu vermeiden, müssen Sie dem Sternchen einen Backslash (\) voranstellen.

    • Wenn der Name einer in Ihrer collection-Konfigurationsoption verwendeten Sammlung einen Backslash (\) enthält, behandelt der Spark-Connector diesen als Escape-Zeichen. Dies kann die Interpretation des Werts ändern. Um dies zu vermeiden, müssen Sie dem Backslash einen weiteren Backslash voranstellen.

Weitere Informationen finden Sie in den Versionshinweisen zum MongoDB-Connector für Spark.

Snowflake

Beachten Sie folgende Änderungen:

  • Ein neuer trim_space-Parameter wurde eingeführt, mit dem Sie Werte von StringType-Spalten beim Speichern in einer Snowflake-Tabelle automatisch kürzen können. Standard: false.

  • Der abort_detached_query-Parameter wurde standardmäßig auf Sitzungsebene deaktiviert.

  • Die Anforderung des SFUSER-Parameters bei Verwendung von OAUTH wurde entfernt.

  • Das Feature „Erweiterter Abfrage-Pushdown“ wurde entfernt. Es sind Alternativen zu diesem Feature verfügbar. Anstatt Daten aus Snowflake-Tabellen zu laden, können Benutzer beispielsweise Daten direkt aus Snowflake-SQL-Abfragen laden.

Weitere Informationen finden Sie in den Versionshinweisen zum Snowflake-Connector für Spark.

Anhang A: Nennenswerte Aktualisierungen von Abhängigkeiten

Im Folgenden sind Abhängigkeits-Upgrades aufgeführt:

-Abhängigkeit 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 8 8 8 8
Spark 3.5.4 3.3.0-amzn-1 3.1.1-amzn-0 2.4.3 2.4.3
Hadoop 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 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.69.0 2.54.0 2.46.0 2.38.0 2.30.0
JSON4s 3.7.0-M11 3.7.0-M11 3.6.6 3.5.x 3.5.x
Arrow 12.0.1 7.0.0 2.0.0 0.10.0 0.10.0
AWS Glue-Data-Catalog-Client 4.5.0 3.7.0 3.0.0 1.10.0 N/A
AWS-SDK für Java 2.29.52 1.12 1.12
Python 3.11 3.10 3.7 2.7 und 3.6 2.7 und 3.6
Boto 1.34.131 1.26 1.18 1.12 N/A
EMR-DynamoDB-Connector 5.6.0 4.16.0

Anhang B: Aktualisierungen von JDBC-Treibern

Die folgenden JDBC-Treiber-Upgrades sind:

Treiber JDBC-Treiberversion in AWS Glue 5.0 JDBC-Treiberversion in AWS Glue 4.0 JDBC-Treiberversion in AWS Glue 3.0 JDBC-Treiberversion in älteren AWS Glue-Versionen
MySQL 8.0.33 8.0.23 8.0.23 5.1
Microsoft SQL Server 10.2.0 9.4.0 7.0.0 6.1.0
Oracle-Datenbanken 23.3.0.23.09 21.7 21.1 11.2
PostgreSQL 42.7.3 42.3.6 42.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

SAP HANA 2.20.17 2.17.12
Teradata 20.00.00.33 20.00.00.06

Anhang C: Konnektor-Upgrades

Im Folgenden sind Konnektor-Upgrades aufgeführt:

Treiber Connector-Version in AWS Glue 5.0 Konnektor-Version in AWS Glue 4.0 Konnektor-Version in AWS Glue 3.0
EMR-DynamoDB-Connector 5.6.0 4.16.0
Amazon Redshift 6.4.0 6.1.3
OpenSearch 1.2.0 1.0.1
MongoDB 10.4.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 4.22.0
AzureSQL 1.3.0 1.3.0
Vertica 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 AWS Glue 5.0 Konnektor-Version in AWS Glue 4.0 Konnektor-Version in AWS Glue 3.0
Hudi 0.15.0 0.12.1 0.10.1
Delta Lake 3.3.0 2.1.0 1.0.0
Iceberg 1.7.1 1.0.0 0.13.1