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.
Themen
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
GlueContextmit 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.
Alternativ können Sie den folgenden Auftragsparameter angeben (geben Sie Ihre DataZone-Domain-ID an):
Schlüssel:
--confWert:
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- undG.2X-Worker von AWS Glue und Erhöhung des Festplattenspeichers auf 94 GB bzw. 138 GB. Darüber hinaus sind die neuen Worker-TypenG.12XundG.16Xsowie speicheroptimierteR.1X,R.2X,R.4X,R.8Xin 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-driversind veraltet. Der Protokollstreamjob-insights-rca-driverbefindet 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 3inGlue versionaus. -
Wählen Sie in der API
5.0imGlueVersion-Parameter in derUpdateJob-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 derGlue versionaus. -
Wählen Sie in AWS Glue Studio
Glue 5.0 - Supports Spark 3.5.4, Scala 2, Python 3inGlue versionaus. -
Wählen Sie in der API
5.0imGlueVersion-Parameter in derCreateJob-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/errorund/aws-glue/jobs/outputanzugeben. -
––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 RedshiftSMALLINTanstelle vonINTEGERzu 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.clientCertPemBase64hinzugefü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.aadSecurePrincipalIdundaadSecurePrincipalSecretsind 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 vonStringType-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 |