

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
<a name="migrating-version-51"></a>

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.

**Topics**
+ [Nouvelles fonctionnalités](#migrating-version-51-features)
+ [Actions pour migrer vers la AWS Glue version 5.1](#migrating-version-51-actions)
+ [Liste de contrôle de migration](#migrating-version-51-checklist)
+ [Migration de la AWS Glue version 5.0 vers AWS Glue la version 5.1](#migrating-version-51-from-50)
+ [Migration des anciennes AWS Glue versions vers AWS Glue la version 5.1](#migrating-older-versions-to-51)
+ [Migration du connecteur et du pilote JDBC pour 5.1 AWS Glue](#migrating-version-51-connector-driver-migration)

## Nouvelles fonctionnalités
<a name="migrating-version-51-features"></a>

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 en AWS Glue 5.0 à la version 3.5.6 en AWS Glue 5.1.
+ Open Table Formats (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](https://aws.amazon.com/blogs/big-data/introducing-apache-iceberg-materialized-views-in-aws-glue-data-catalog/) 
+ **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](https://iceberg.apache.org/spec/). 
+ 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 d'effectuer des opérations de lecture et d'écriture à partir de vos tâches AWS Glue ETL sur des tables AWS Lake Formation 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 AWS Lake Formation** 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. AWS Lake Formation
+ **Contexte d'audit pour les tâches Spark** - Le contexte d'audit pour les tâches AWS Glue ETL sera disponible AWS Glue et les appels AWS Lake Formation d'API seront disponibles dans les AWS CloudTrail journaux.

**Limites et problèmes connus**  
Notez les problèmes et limitations connus suivants :
+ 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](https://docs.aws.amazon.com/lake-formation/latest/dg/materialized-views.html#materialized-views-considerations-limitations). 
+ 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 fonctionne uniquement 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, consultez[Migration de la AWS Glue version 5.0 vers AWS Glue la version 5.1](#migrating-version-51-from-50). 

## Actions pour migrer vers la AWS Glue version 5.1
<a name="migrating-version-51-actions"></a>

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 3` in `Glue version` ».
+ Dans l’API, choisissez **5.1** dans le paramètre `GlueVersion` de l’opération d’API [https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-UpdateJob](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-UpdateJob).

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)` dans `Glue version`.
+ Dans AWS Glue Studio, choisissez « `Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3` in `Glue version` ».
+ Dans l’API, choisissez **5.1** dans le paramètre `GlueVersion` de l’opération d’API [https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-CreateJob](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-CreateJob).

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](https://docs.aws.amazon.com/glue/latest/dg/monitor-spark-ui-history.html).

## Liste de contrôle de migration
<a name="migrating-version-51-checklist"></a>

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
<a name="migrating-version-51-from-50"></a>

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 comme connecteur S3 par défaut. Si `spark.hadoop.fs.s3a.endpoint` les deux ne `spark.hadoop.fs.s3a.endpoint.region` sont pas définis, la région par défaut utilisée par S3A est`us-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 `spark.hadoop.fs.s3a.endpoint.region` Spark 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 :
+ [Guide de migration : Spark Core](https://spark.apache.org/docs/3.5.6/core-migration-guide.html)
+ [Guide de migration : SQL, ensembles de données et DataFrame](https://spark.apache.org/docs/3.5.6/sql-migration-guide.html)
+ [Guide de migration : streaming structuré](https://spark.apache.org/docs/3.5.6/ss-migration-guide.html)
+ [Upgrading PySpark](https://spark.apache.org/docs/3.5.6/api/python/migration_guide/pyspark_upgrade.html)

## Migration des anciennes AWS Glue versions vers AWS Glue la version 5.1
<a name="migrating-older-versions-to-51"></a>
+ 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](https://docs.aws.amazon.com/glue/latest/dg/migrating-version-50.html#migrating-version-50-from-40).
+ 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](https://docs.aws.amazon.com/glue/latest/dg/migrating-version-50.html#migrating-version-50-from-30).
+ 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](https://docs.aws.amazon.com/glue/latest/dg/migrating-version-50.html#migrating-version-50-from-20). 

## Migration du connecteur et du pilote JDBC pour 5.1 AWS Glue
<a name="migrating-version-51-connector-driver-migration"></a>

Pour en savoir plus sur les versions des connecteurs JDBC et de lac de données qui ont été mises à niveau, consultez :
+ [Annexe B : Mises à niveau du pilote JDBC](#migrating-version-51-appendix-jdbc-driver)
+ [Annexe C : Mises à niveau des connecteurs](#migrating-version-51-appendix-connector)
+ [Annexe D : Mises à niveau du format de table ouverte](#migrating-version-51-appendix-open-table-formats)

Les modifications suivantes s'appliquent aux mises à niveau de la version OTF identifiées dans [Annexe D : Mises à niveau du format de table ouverte](#migrating-version-51-appendix-open-table-formats) 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](https://aws.amazon.com/blogs/big-data/unlock-the-power-of-apache-iceberg-v3-deletion-vectors-on-amazon-emr/) 
  + Clés de chiffrement des tables.
  + Support des valeurs par défaut pour les colonnes.
+ Support les écritures FGAC natives de Spark sur AWS Lake Formation 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
<a name="migrating-version-51-appendix-dependencies"></a>

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
<a name="migrating-version-51-appendix-jdbc-driver"></a>

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
<a name="migrating-version-51-appendix-connector"></a>

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
<a name="migrating-version-51-appendix-open-table-formats"></a>

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 | 