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.
Migrating AWS Glue pour Spark Jobs AWS Glue la version 5.1
Cette rubrique décrit les modifications entre les AWS Glue 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, sélectionnez-la Glue version lors 5.1 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'iceberg - Créez et gérez des vues matérialisées d'iceberg (MV). Pour plus d'informations, consultez l'article 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 la spécification 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. AWS Lake Formation Cette fonctionnalité permet les opérations de lecture et d'écriture à partir de vos tâches AWS Glue ETL sur les tables AWS Lake Formation enregistrées lorsque le rôle de la tâche dispose d'un accès complet aux tables.
-
Le contrôle d'accès fin (FGAC) natif de Spark prend en charge DDL/DML des opérations AWS Lake Formation - (telles que CREATE, ALTER, DELETE, DROP) avec un contrôle d'accès affiné pour les tables Apache Hive, Apache Iceberg et Delta Lake enregistrées dans. AWS Lake Formation
-
Contexte d'audit pour les tâches Spark - Le contexte d'audit pour les tâches AWS Glue ETL sera disponible pour les appels d' AWS Lake Formation API AWS Glue et les appels d'API seront inclus dans les AWS CloudTrail journaux.
Limites et problèmes connus
Notez les problèmes et limites connus suivants :
-
Prise en charge limitée de 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 des fonctionnalités d'Iceberg Materialized Views
-
Les écritures Hudi FTA nécessitent d'être utilisées HoodieCredentialedHadoopStorage pour la vente d'informations d'identification lors de l'exécution de la tâche. Définissez la configuration suivante lors de l'exécution des tâches Hudi :
hoodie.storage.class=org.apache.spark.sql.hudi.storage.HoodieCredentialedHadoopStorage -
La prise en charge de l'é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 comme connecteur S3 par défaut. Pour plus d'informations sur la procédure de migration, consultezMigration à partir de AWS Glue De 5,0 à AWS Glue 5.1.
Actions pour migrer vers AWS Glue 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 3dansGlue 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 3dansGlue 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 provenant de la AWS Glue version 2.0 ou d'une version antérieure, lancez un serveur d'historique Spark mis à niveau pour la AWS Glue version 5.1 à l'aide CloudFormation de Docker.
Liste de contrôle de migration
Consultez cette liste de contrôle pour la migration :
-
[Python] Mettre à jour les références boto de 1.34 à 1.40.
Migration à partir de AWS Glue De 5,0 à AWS Glue 5.1
Tous les paramètres de tâche existants et les principales fonctionnalités de la AWS Glue version 5.0 seront disponibles dans la version AWS Glue 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 configuration despark.hadoop.fs.s3a.endpoint.regionSpark lors de l'utilisation du 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 depuis une version plus ancienne AWS Glue Versions pour AWS Glue 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 connaître les étapes de migration relatives à la version AWS Glue 2.0 vers la version AWS Glue 5.0 et consulter 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 de connecteurs et de pilotes JDBC pour AWS Glue 5.1
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 :
Soutenez l'accès en lecture et en écriture à la FTA sur les tables enregistrées de Lake Formation.
Apache Iceberg
Notez les modifications suivantes :
Supporte la version 3 du format Iceberg. Les fonctionnalités suivantes sont prises en charge :
Suivi du lignage des lignes.
Vecteurs de délétion. Pour en savoir plus, consultez le billet de blog
Clés de chiffrement des tables.
Prise en charge des valeurs par défaut pour les colonnes.
Supporte les écritures Spark-native FGAC sur les tables AWS Lake Formation 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 :
Soutenez l'accès en lecture et en écriture à la 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,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 |
| Flèche | 12,0,1 | 12,0,1 | 7.0.0 | 2.0.0 | 0.10.0 | 0.10.0 |
| AWS Glue Client Data Catalog | 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,1,0 |
| 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,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 |