Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Migration AWS Glue des tâches Spark vers la AWS Glue version 5.1
Cette rubrique décrit les modifications apportées entre AWS Glue les versions 0.9, 1.0, 2.0, 3.0, 4.0 et 5.0 pour vous permettre de migrer vos applications Spark et vos tâches ETL vers la AWS Glue version 5.1. Il décrit également les fonctionnalités de la AWS Glue version 5.1 et les avantages de son utilisation.
Pour utiliser cette fonctionnalité avec vos tâches AWS Glue ETL, 5.1 choisissez-la Glue version lors de la création de vos tâches.
Rubriques
Nouvelles fonctionnalités
Cette section décrit les nouvelles fonctionnalités et les avantages de la AWS Glue version 5.1.
-
Mise à jour d'Apache Spark de la version 3.5.4 dans la AWS Glue version 5.0 à la version 3.5.6 dans AWS Glue la version 5.1.
-
Formats de table ouverts (OTF) mis à jour vers Hudi 1.0.2, Iceberg 1.10.0 et Delta Lake 3.3.2
-
Vues matérialisées d'icebergs - Créez et gérez des vues matérialisées d'icebergs (MV). Pour plus d'informations, consultez le billet de blog
-
Format Iceberg version 3.0 - Étend les types de données et les structures de métadonnées existantes pour ajouter de nouvelles fonctionnalités. Pour plus d'informations, consultez les spécifications de la table Iceberg
. -
Accès complet aux tables Hudi - Contrôle de l'accès complet aux tables (FTA) pour Apache Hudi dans Apache Spark en fonction de vos politiques définies dans. Cette fonctionnalité permet d'effectuer des opérations de lecture et d'écriture à partir de vos tâches AWS Glue ETL sur des tables enregistrées lorsque le rôle de tâche dispose d'un accès complet aux tables.
-
Supporte le contrôle d'accès fin natif (FGAC) à l'aide d' DDL/DML opérations (telles que CREATE, ALTER, DELETE, DROP) avec un contrôle d'accès fin pour les tables Apache Hive, Apache Iceberg et Delta Lake enregistrées dans.
-
Contexte d'audit pour les tâches Spark - Le contexte d'audit pour les tâches AWS Glue ETL dont les tâches sont activées sera disponible AWS Glue et les appels d' AWS Lake Formation API seront enregistrés dans le journal
Limites et problèmes connus
-
Support limité pour la clause View SQL pour la création de vues matérialisées, la réécriture de requêtes et l'actualisation incrémentielle. Vous trouverez plus de détails sur la page de documentation de la fonctionnalité Iceberg Materialized Views
-
Les écritures Hudi FTA doivent être utilisées HoodieCredentialedHadoopStorage pour la vente d'informations d'identification lors de l'exécution du travail. Définissez la configuration suivante lors de l'exécution des tâches Hudi :
hoodie.storage.class=org.apache.spark.sql.hudi.storage.HoodieCredentialedHadoopStorage -
Le support d'écriture Hudi FTA ne fonctionne qu'avec les configurations Hudi par défaut. Les paramètres Hudi personnalisés ou autres que ceux par défaut peuvent ne pas être entièrement pris en charge et peuvent entraîner un comportement inattendu. Le clustering pour les tables Hudi Merge-On-Read (MOR) n'est pas non plus pris en charge en mode d'écriture FTA.
Évolutions
Prenez note des modifications majeures suivantes :
-
Le système de fichiers S3A a remplacé EMRFS en tant que connecteur S3 par défaut. Pour plus d'informations sur la façon de migrer, consultezMigration de la AWS Glue version 5.0 vers AWS Glue la version 5.1.
Actions pour migrer vers la AWS Glue version 5.1
Pour les tâches existantes, modifiez la Glue version depuis la version précédente vers Glue 5.1 dans la configuration de la tâche.
-
Dans AWS Glue Studio, choisissez «
Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3inGlue version». -
Dans l’API, choisissez
5.1dans le paramètreGlueVersionde l’opération d’APIUpdateJob.
Pour les nouvelles tâches, choisissez Glue 5.1 lorsque vous créez une tâche.
-
Dans la console, choisissez
Spark 3.5.6, Python 3 (Glue Version 5.1) or Spark 3.5.6, Scala 2 (Glue Version 5.1)dansGlue version. -
Dans AWS Glue Studio, choisissez «
Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3inGlue version». -
Dans l’API, choisissez
5.1dans le paramètreGlueVersionde l’opération d’APICreateJob.
Pour consulter les journaux d'événements Spark AWS Glue 5.1 issus de la AWS Glue version 2.0 ou d'une version antérieure, lancez un serveur d'historique Spark mis à niveau pour AWS Glue 5.1 à l'aide CloudFormation de Docker.
Liste de contrôle de migration
Consultez cette liste de contrôle pour la migration :
-
[Python] Mettez à jour les références de démarrage de la version 1.34 à la version 1.40.
Migration de la AWS Glue version 5.0 vers AWS Glue la version 5.1
Tous les paramètres de travail existants et les fonctionnalités principales qui existent dans la AWS Glue version 5.0 existeront dans la AWS Glue version 5.1. Notez les modifications suivantes lors de la migration :
-
Dans la AWS Glue version 5.1, le système de fichiers S3A a remplacé EMRFS en tant que connecteur S3 par défaut. Si
spark.hadoop.fs.s3a.endpointles deux nespark.hadoop.fs.s3a.endpoint.regionsont pas définis, la région par défaut utilisée par S3A estus-east-2. Cela peut entraîner des problèmes, tels que des erreurs de délai de chargement dans S3, en particulier pour les tâches VPC. Pour atténuer les problèmes causés par cette modification, définissez la configurationspark.hadoop.fs.s3a.endpoint.regionSpark lorsque vous utilisez le système de fichiers S3A dans la AWS Glue version 5.1. -
Pour continuer à utiliser EMRFS au lieu de S3A, définissez les configurations Spark suivantes :
--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
Reportez-vous à la documentation sur la migration de Spark :
Migration des anciennes AWS Glue versions vers AWS Glue la version 5.1
-
Pour les étapes de migration liées à la AWS Glue version 4.0 vers la AWS Glue version 5.0, consultez la section Migration de la AWS Glue version 4.0 vers la AWS Glue version 5.0.
-
Pour les étapes de migration liées à la AWS Glue version 3.0 vers la AWS Glue version 5.0, consultez la section Migration de la AWS Glue version 3.0 vers la AWS Glue version 5.0.
-
Pour les étapes de migration liées à la version AWS Glue 2.0 vers la version AWS Glue 5.0 et la liste des différences de migration entre les AWS Glue versions 2.0 et 4.0, consultez la section Migration de la version AWS Glue 2.0 vers la version AWS Glue 5.0.
Migration du connecteur et du pilote JDBC pour 5.1 AWS Glue
Pour en savoir plus sur les versions des connecteurs JDBC et de lac de données qui ont été mises à niveau, consultez :
Les modifications suivantes s'appliquent aux mises à niveau de la version OTF identifiées dans Annexe D : Mises à niveau du format de table ouverte la version AWS Glue 5.1.
Apache Hudi
Notez les modifications suivantes :
Support de l'accès en lecture et en écriture au FTA sur les tables enregistrées de Lake Formation.
Apache Iceberg
Notez les modifications suivantes :
Support du format Iceberg version 3. Les fonctionnalités suivantes sont prises en charge :
Transformations à arguments multiples pour le partitionnement et le tri.
Suivi du lignage des lignes.
Vecteurs de suppression. Pour en savoir plus, consultez un article de blog
Clés de chiffrement des tables.
Support les écritures FGAC natives de Spark sur les tables enregistrées.
Compatibilité avec Athena SQL - Impossible de lire les tables Iceberg V3 créées par EMR Spark en raison d'une erreur :
GENERIC_INTERNAL_ERROR: Cannot read unsupported version 3
Delta Lake
Notez les modifications suivantes :
Support de l'accès en lecture et en écriture au FTA sur les tables enregistrées de Lake Formation.
Annexe A : Mises à niveau notables des dépendances
Voici les mises à niveau des dépendances :
| Dépendance | Version en AWS Glue 5.1 | Version en AWS Glue 5.0 | Version en AWS Glue 4.0 | Version en AWS Glue 3.0 | Version en AWS Glue 2.0 | Version en 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,1,18 | 2,1,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 |
| Flèche | 12,0.1 | 12,0.1 | 7.0.0 | 2.0.0 | 0.10.0 | 0.10.0 |
| AWS Glue Client de catalogue de données | 4.9.0 | 4.5.0 | 3.7.0 | 3.0.0 | 1.10.0 | N/A |
| AWS SDK pour Java | 2,35,5 | 2,29,52 | 1.12 | 1.12 | ||
| Python | 3,11 | 3,11 | 3,10 | 3.7 | 2.7 et 3.6 | 2.7 et 3.6 |
| Boto | 1,40,61 | 1,34,131 | 1,26 | 1,18 | 1.12 | N/A |
| Connecteur EMR DynamoDB | 5.7.0 | 5.6.0 | 4,16,0 |
Annexe B : Mises à niveau du pilote JDBC
Voici les mises à niveau du pilote JDBC :
| Pilote | Version du pilote JDBC en 5.1 AWS Glue | Version du pilote JDBC en 5.0 AWS Glue | Version du pilote JDBC en 4.0 AWS Glue | Version du pilote JDBC en 3.0 AWS Glue | Version du pilote JDBC dans les versions précédentes 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 Databases | 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 |
Annexe C : Mises à niveau des connecteurs
Les mises à niveau des connecteurs sont les suivantes :
| Pilote | Version du connecteur en AWS Glue 5.1 | Version du connecteur en AWS Glue 5.0 | Version du connecteur en AWS Glue 4.0 | Version du connecteur en AWS Glue 3.0 |
|---|---|---|---|---|
| Connecteur EMR DynamoDB | 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 |
Annexe D : Mises à niveau du format de table ouverte
Les mises à niveau du format de table ouverte sont les suivantes :
| OTF | Version du connecteur en AWS Glue 5.1 | Version du connecteur en AWS Glue 5.0 | Version du connecteur en AWS Glue 4.0 | Version du connecteur en AWS Glue 3.0 |
|---|---|---|---|---|
| Hudi | 1.0.2 | 0,15,0 | 0.12.1 | 0,1,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 |