

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.

# Apache Hive
<a name="emr-hive"></a>

Hive est un entrepôt de données open source et un package analytique qui s'exécute au-dessus d'un cluster Hadoop. Les scripts Hive utilisent un langage de type SQL appelé Hive QL (langage de requête), qui extrait des modèles de programmation et prend en charge les interactions classiques d'entrepôt de données. Hive vous permet d'éviter les difficultés liées à l'écriture de jobs Tez basés sur des graphes acycliques dirigés (DAGs) ou des MapReduce programmes dans un langage informatique de niveau inférieur, tel que Java. 

Hive étend le modèle SQL en incluant des formats de sérialisation. Vous pouvez également personnaliser le traitement d'une requête en créant un schéma de table correspondant à vos données, sans toucher au données elles-même. Alors que SQL prend uniquement en charge les types de valeur primitifs tels que les dates, les chiffres et les chaînes, les valeurs figurant dans les tableaux Hive sont des éléments structurés, tels que des objets JSON, tous types de données définis par l'utilisateur ou toutes fonctions écrites en Java. 

Pour plus d'informations sur Hive, consultez le site [http://hive.apache.org/](http://hive.apache.org/).

Le tableau suivant répertorie la version de Hive incluse dans la dernière version d’Amazon EMR série 7.x, ainsi que les composants qu’Amazon EMR installe avec Hive.

Pour la version des composants installés avec Hive dans cette version, consultez la [version 7.12.0](emr-7120-release.md) Versions des composants.


**Informations sur la version de Hive pour emr-7.12.0**  

| Étiquette de version Amazon EMR | Version de Hive | Composants installés avec Hive | 
| --- | --- | --- | 
| emr-7,12.0 | Hive 3.1.3-amzn-21 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 

Le tableau suivant répertorie la version de Hive incluse dans la dernière version d'Amazon EMR série 6.x, ainsi que les composants qu'Amazon EMR installe avec Hive.

Pour connaître la version des composants installés avec Hive dans cette version, consultez les [versions des composants de la version 6.15.0](emr-6150-release.md).


**Informations sur la version de Hive pour emr-6.15.0**  

| Étiquette de version Amazon EMR | Version de Hive | Composants installés avec Hive | 
| --- | --- | --- | 
| emr-6.15.0 | Hive 3.1.3-amzn-8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 

Le tableau suivant répertorie la version de Hive incluse dans la dernière version d'Amazon EMR série 5.x, ainsi que les composants qu'Amazon EMR installe avec Hive.

Pour la version des composants installés avec Hive dans cette version, voir la [version 5.36.2](emr-5362-release.md) Versions des composants.


**Informations sur la version de Hive pour emr-5.36.2**  

| Étiquette de version Amazon EMR | Version de Hive | Composants installés avec Hive | 
| --- | --- | --- | 
| emr-5.36.2 | Hive 2.3.9-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 

À partir d'Amazon EMR 5.18.0, vous pouvez utiliser le référentiel d'artefacts d'Amazon EMR pour générer le code de votre tâche en fonction des versions exactes des bibliothèques et des dépendances qui sont disponibles avec des versions spécifiques d'Amazon EMR. Pour de plus amples informations, veuillez consulter [Vérification des dépendances à l'aide du référentiel d'artefacts d'Amazon EMR](emr-artifact-repository.md).

**Topics**
+ [Différences et considérations pour Hive sur Amazon EMR](emr-hive-differences.md)
+ [Configuration d'un metastore externe pour Hive](emr-metastore-external-hive.md)
+ [Utilisation du pilote Hive JDBC](HiveJDBCDriver.md)
+ [Amélioration des performances de Hive](emr-hive-s3-performance.md)
+ [Utilisation de Live Long and Process (LLAP) de Hive](emr-hive-llap.md)
+ [Chiffrement dans Hive](hive-encryption.md)
+ [Historique des versions de Hive](Hive-release-history.md)

# Différences et considérations pour Hive sur Amazon EMR
<a name="emr-hive-differences"></a>

## Différences entre Apache Hive sur Amazon EMR et Apache Hive
<a name="emr-hive-apache-diff"></a>

[Cette section décrit les différences entre Hive on Amazon EMR et les versions par défaut de Hive disponibles sur http://svn.apache. org/viewvc/hive/branches](http://svn.apache.org/viewvc/hive/branches/)/. 

### Autorisation Hive
<a name="emr-hive-authorization"></a>

 Amazon EMR prend en charge l'[autorisation Hive](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization) pour HDFS, mais pas pour EMRFS et Amazon S3. Les clusters Amazon EMR s'exécutent avec l'autorisation désactivée par défaut.

### Comportement de fusion de fichiers Hive avec Amazon S3
<a name="emr-hive-filemerge"></a>

Apache Hive fusionne les petits fichiers à la fin d'une tâche de type map-only si `hive.merge.mapfiles` est défini sur true et la fusion est déclenchée uniquement si la taille de sortie moyenne de la tâche est inférieure au paramètre `hive.merge.smallfiles.avgsize`. Le comportement d'Amazon EMR Hive est identique si le chemin de la sortie finale est sur HDFS. Si le chemin de sortie se trouve dans Amazon S3, le paramètre `hive.merge.smallfiles.avgsize` est ignoré. Dans ce cas, la tâche de fusion est toujours déclenchée si `hive.merge.mapfiles` est défini sur `true`.

### Transactions ACID et Amazon S3
<a name="emr-hive-acid"></a>

Amazon EMR 6.1.0 et versions ultérieures prennent en charge les transactions Hive ACID (Atomicity, Consistency, Isolation, Durability) afin de respecter les propriétés ACID d'une base de données. Grâce à cette fonctionnalité, vous pouvez exécuter des opérations INSERT, UPDATE, DELETE et MERGE dans des tables gérées par Hive, avec des données dans Amazon Simple Storage Service (Amazon S3).

### Fonctionnalités LLAP Hive
<a name="emr-hive-LLAP"></a>

La [fonctionnalité LLAP](https://cwiki.apache.org/confluence/display/Hive/LLAP) ajoutée dans la version 2.0 d'Apache Hive par défaut n'est pas prise en charge dans la version Hive 2.1.0 sur Amazon EMR version 5.0.

Amazon EMR version 6.0.0 et ultérieure prend en charge la fonctionnalité Live Long and Process (LLAP) pour Hive. Pour de plus amples informations, veuillez consulter [Utilisation de LLAP pour Hive](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-llap.html). 

## Différences Hive entre les versions Amazon EMR 4.x et 5.x
<a name="emr-hive-diff"></a>

Cette section indique les différences à prendre en compte avant de migrer une implémentation de Hive de la version Hive 1.0.0 sur la version 4.x d'Amazon EMR à la version Hive 2.x sur la version 5.x d'Amazon EMR.

### Différences et considérations opérationnelles
<a name="emr-hive-diffs-ops"></a>
+ **Ajout de la prise en charge des [transactions ACID (atomicité, cohérence, isolation et durabilité)](https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions) :** cette différence entre Hive 1.0.0 sur Amazon EMR 4.x et Apache Hive par défaut a été supprimée.
+ **Suppression des écritures directes vers Amazon S3 :** cette différence entre Hive 1.0.0 sur Amazon EMR et Apache Hive par défaut a été supprimée. Désormais, Hive 2.1.0 sur la version 5.x d'Amazon EMR crée, lit et écrit des fichiers temporaires stockés dans Amazon S3. Par conséquent, vous n'avez plus besoin de créer une table temporaire dans le système de fichiers HDFS local du cluster pour lire la même table et y écrire. Si vous utilisez des compartiments activés pour la gestion des versions, veillez à gérer ces fichiers temporaires comme indiqué ci-dessous.
+ **Gestion des fichiers temporaires lors de l'utilisation de compartiments Amazon S3 versionnés :** lorsque vous exécutez des requêtes Hive pour lesquelles la destination des données générées est Amazon S3, de nombreux fichiers temporaires et répertoires sont créés. Il s'agit du nouveau comportement, comme indiqué précédemment. Si vous utilisez des compartiments S3 activés pour la gestion des versions, ces fichiers temporaires encombrement Amazon S3 et entraînent des coûts s'ils ne sont pas supprimés. Ajustez vos règles de cycle de vie afin que les données ayant un préfixe `/_tmp` soient supprimées après un délai court, par exemple cinq jours. Pour plus d'informations, consultez [Configuration de cycle de vie](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).
+ **Mise à jour de Log4j par log4j 2 :** si vous utilisez log4j, vous devrez peut-être modifier votre configuration de journalisation en raison de cette mise à niveau. Pour plus d'informations, consultez [Apache log4j 2](http://logging.apache.org/log4j/2.x/).

### Différences et considérations en termes de performances
<a name="emr-hive-diffs-perf"></a>
+ **Différences de performances avec Tez :** avec la version 5.x d'Amazon EMR, Tez est le moteur d'exécution par défaut pour Hive au lieu de. MapReduce Tez offre des performances améliorées pour la plupart des flux de travail.
+ **Tables avec plusieurs partitions :** les requêtes qui génèrent un grand nombre de partitions dynamiques peuvent échouer et les requêtes qui effectuent des sélections sur des tables comportant un grand nombre de partitions peuvent nécessiter des temps d'exécution plus longs que prévu. Par exemple, une sélection effectuée sur 100 000 partitions peut prendre 10 minutes ou plus.

## Fonctionnalités supplémentaires de Hive sur Amazon EMR
<a name="emr-hive-additional-features"></a>

Amazon EMR ajoute à Hive de nouvelles fonctionnalités qui prennent en charge l'intégration de Hive à d'autres AWS services, telles que la possibilité de lire et d'écrire sur Amazon Simple Storage Service (Amazon S3) et DynamoDB.

### Variables dans Hive
<a name="emr-hive-variables"></a>

 Vous pouvez inclure des variables dans vos scripts en utilisant le symbole dollar et des accolades. 

```
add jar ${LIB}/jsonserde.jar
```

 Vous transmettez les valeurs de ces variables à Hive sur la ligne de commande à l'aide du paramètre `-d`, comme dans l'exemple suivant : 

```
-d LIB=s3://elasticmapreduce/samples/hive-ads/lib
```

 Vous pouvez également transmettre les valeurs via des étapes qui exécutent des scripts Hive. 

**Pour transmettre des valeurs de variables dans des étapes Hive à l'aide de la console**

1. [Ouvrez la console Amazon EMR à l'adresse /emr. https://console.aws.amazon.com](https://console.aws.amazon.com/emr/)

1. Choisissez **Créer un cluster**.

1. Dans la section **Étapes**, pour **Add Step (Ajouter étapes)**, choisissez **Programme Hive** dans la liste et **Configurer et ajouter**.

1.  Dans la boîte de dialogue **Ajouter une étape**, spécifiez les paramètres en utilisant le tableau suivant comme guide, puis choisissez **Ajouter**.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/emr/latest/ReleaseGuide/emr-hive-differences.html)

1. Sélectionnez les valeurs si nécessaire, puis choisissez **Créer un cluster**.

**Pour transmettre des valeurs variables aux étapes Hive à l'aide du AWS CLI**

Pour transmettre des valeurs variables aux étapes Hive à l'aide du paramètre AWS CLI, utilisez le `--steps` paramètre et incluez une liste d'arguments.
+ 
**Note**  
Les caractères de continuation de ligne Linux (\$1) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).

  ```
  aws emr create-cluster --name "Test cluster" --release-label emr-7.12.0 \
  --applications Name=Hive Name=Pig --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge --instance-count 3 \
  --steps Type=Hive,Name="Hive Program",ActionOnFailure=CONTINUE,Args=[-f,s3://elasticmapreduce/samples/hive-ads/libs/response-time-stats.q,-d,INPUT=s3://elasticmapreduce/samples/hive-ads/tables,-d,OUTPUT=s3://amzn-s3-demo-bucket/hive-ads/output/,-d,SAMPLE=s3://elasticmapreduce/samples/hive-ads/]
  ```

  Pour plus d'informations sur l'utilisation des commandes Amazon EMR dans le AWS CLI, consultez. [https://docs.aws.amazon.com/cli/latest/reference/emr](https://docs.aws.amazon.com/cli/latest/reference/emr)

**Pour transmettre des valeurs de variables dans des étapes Hive à l'aide de Java SDK**
+ L'exemple suivant montre comment transmettre des variables dans des étapes à l'aide du SDK. Pour plus d'informations, consultez la section [Classe StepFactory](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/util/StepFactory.html) dans le guide de *référence de AWS SDK pour Java l'API*. 

  ```
  StepFactory stepFactory = new StepFactory();
  
     StepConfig runHive = new StepConfig()
       .withName("Run Hive Script")
       .withActionOnFailure("TERMINATE_JOB_FLOW")
       .withHadoopJarStep(stepFactory.newRunHiveScriptStep(“s3://amzn-s3-demo-bucket/script.q”,
        Lists.newArrayList(“-d”,”LIB= s3://elasticmapreduce/samples/hive-ads/lib”));
  ```

### Requêtes Amazon EMR Hive pour prendre en compte les schémas DynamoDB partiels
<a name="emr-hive-partial-schema"></a>

Amazon EMR Hive offre une flexibilité maximale lors de l'interrogation de tables DynamoDB en vous permettant de spécifier un sous-ensemble de colonnes sur lequel vous pouvez filtrer des données, plutôt que d'exiger que votre requête inclue toutes les colonnes. Cette technique de requête de schéma partiel est efficace lorsque vous avez un schéma de base de données fragmenté et que vous souhaitez filtrer des enregistrements en fonction de quelques colonnes, par exemple le filtrage des horodatages. 

 L'exemple suivant montre comment utiliser une requête Hive pour : 
+ Créez une table DynamoDB.
+ Sélectionner un sous-ensemble d'éléments (lignes) dans DynamoDB et réduire les données à certaines colonnes.
+ Copier les données qui en résultent dans Amazon S3. 

```
DROP TABLE dynamodb; 
DROP TABLE s3;

CREATE EXTERNAL TABLE dynamodb(hashKey STRING, recordTimeStamp BIGINT, fullColumn map<String, String>)
    STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' 
    TBLPROPERTIES ( 
     "dynamodb.table.name" = "myTable",
     "dynamodb.throughput.read.percent" = ".1000", 
     "dynamodb.column.mapping" = "hashKey:HashKey,recordTimeStamp:RangeKey"); 

CREATE EXTERNAL TABLE s3(map<String, String>)
     ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
     LOCATION 's3://bucketname/path/subpath/';

INSERT OVERWRITE TABLE s3 SELECT item fullColumn FROM dynamodb WHERE recordTimeStamp < "2012-01-01";
```

La table suivante illustre la syntaxe de requête pour la sélection de n'importe quelle combinaison d'éléments de DynamoDB.


| Exemple de requête | Description du résultat | 
| --- | --- | 
| SÉLECTIONNEZ\$1 PARMI table\$1name ; | Sélectionne tous les éléments (lignes) dans une table donnée et inclut des données à partir de toutes les colonnes disponibles pour ces éléments. | 
| SÉLECTIONNEZ \$1 À PARTIR DE table\$1name field\$1name WHERE = value ; | Sélectionne certains éléments (lignes) dans une table donnée et inclut des données à partir de toutes les colonnes disponibles pour ces éléments. | 
| SÉLECTIONNEZ column1\$1namecolumn2\$1name, column3\$1name PARMI table\$1name ; | Sélectionne tous les éléments (lignes) dans une table donnée et inclut des données à partir de certaines colonnes disponibles pour ces éléments. | 
| SÉLECTIONNEZ column1\$1namecolumn2\$1name, column3\$1name D'table\$1nameOÙ field\$1name = value ; | Sélectionne certains éléments (lignes) dans une table donnée et inclut des données à partir de certaines colonnes disponibles pour ces éléments. | 

### Copier des données entre des tables DynamoDB dans différentes régions AWS
<a name="emr-hive-cross-region-ddb-copy"></a>

Amazon EMR Hive fournit une propriété `dynamodb.region` que vous pouvez définir pour chaque table DynamoDB. Lorsque `dynamodb.region` est définie différemment sur deux tables, toute données que vous copiez entre les tables se produit automatiquement entre les régions spécifiées.

 L'exemple suivant vous montre comment créer une table DynamoDB avec un script Hive qui définit la propriété `dynamodb.region` :

**Note**  
Les propriétés de région par table remplacent les propriétés Hive globales.

```
CREATE EXTERNAL TABLE dynamodb(hashKey STRING, recordTimeStamp BIGINT, map<String, String> fullColumn)
    STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' 
    TBLPROPERTIES ( 
     "dynamodb.table.name" = "myTable",
     "dynamodb.region" = "eu-west-1", 
     "dynamodb.throughput.read.percent" = ".1000", 
     "dynamodb.column.mapping" = "hashKey:HashKey,recordTimeStamp:RangeKey");
```

### Définition des valeurs de débit de DynamoDB par table
<a name="emr-hive-set-ddb-throughput"></a>

Amazon EMR Hive vous permet de définir le DynamoDB readThroughputPercent et les writeThroughputPercent paramètres par table dans la définition de la table. Le script Hive Amazon EMR suivant montre comment définir les valeurs de débit. Pour plus d'informations sur les valeurs de débit DynamoDB, consultez [Spécification d'exigences de lecture et d'écriture pour des tables](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithDDTables.html#ProvisionedThroughput). 

```
CREATE EXTERNAL TABLE dynamodb(hashKey STRING, recordTimeStamp BIGINT, map<String, String> fullColumn)
    STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' 
    TBLPROPERTIES ( 
     "dynamodb.table.name" = "myTable",
     "dynamodb.throughput.read.percent" = ".4",
     "dynamodb.throughput.write.percent" = "1.0",
     "dynamodb.column.mapping" = "hashKey:HashKey,recordTimeStamp:RangeKey");
```

# Configuration d'un metastore externe pour Hive
<a name="emr-metastore-external-hive"></a>

Par défaut, Hive enregistre les informations de metastore dans une base de données MySQL sur le système de fichiers du nœud primaire. Le metastore contient une description de la table et des données sous-jacentes sur lesquelles il est construit, notamment les noms de partition, les types de données, etc. Lorsqu'un cluster est suspendu, tous les nœuds de cluster sont arrêtés, y compris le nœud primaire. Lorsque cela arrive, les données locales sont perdues, car les systèmes de fichiers du nœud utilisent un magasin éphémère. Pour que le metastore persiste, vous devez créer un *metastore externe* qui existe en dehors du cluster.

Vous avez deux options pour un metastore externe :
+ AWS Glue Data Catalog (Amazon EMR version 5.8.0 ou ultérieure uniquement).

  Pour de plus amples informations, veuillez consulter [Utiliser le catalogue de données AWS Glue comme métastore pour Hive](emr-hive-metastore-glue.md).
+ Amazon RDS ou Amazon Aurora.

  Pour de plus amples informations, veuillez consulter [Utilisation d'une base de données MySQL externe ou d'Amazon Aurora](emr-hive-metastore-external.md).

**Note**  
Si vous utilisez Hive 3 et que vous rencontrez trop de connexions au métastore Hive, configurez le paramètre `datanucleus.connectionPool.maxPoolSize` pour qu'il ait une valeur inférieure ou augmentez le nombre de connexions que le serveur de base de données peut gérer. L'augmentation du nombre de connexions est due à la façon dont Hive calcule le nombre maximum de connexions JDBC. Pour calculer la valeur optimale en termes de performances, consultez la section [Propriétés de configuration de Hive](https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-datanucleus.connectionPool.maxPoolSize.1).

# Utiliser le catalogue de données AWS Glue comme métastore pour Hive
<a name="emr-hive-metastore-glue"></a>

À l'aide d'Amazon EMR version 5.8.0 ou ultérieure, vous pouvez configurer Hive pour utiliser le catalogue de données AWS Glue comme métastore. Cette configuration est recommandée si vous avez besoin d'un metastore persistant ou d'un metastore partagé par différents clusters, services, applications ou comptes AWS .

AWS Glue est un service d'extraction, de transformation et de chargement (ETL) entièrement géré qui permet de classer vos données de manière simple et rentable, de les nettoyer, de les enrichir et de les déplacer de manière fiable entre différents magasins de données. Le catalogue de données AWS Glue fournit un référentiel de métadonnées unifié couvrant une variété de sources de données et de formats de données, s'intégrant à Amazon EMR ainsi qu'à Amazon RDS, Amazon Redshift, Redshift Spectrum, Athena et à toute application compatible avec le métastore Apache Hive. AWS Les robots d'exploration Glue peuvent automatiquement déduire un schéma à partir des données sources dans Amazon S3 et stocker les métadonnées associées dans le catalogue de données. Pour plus d'informations sur le catalogue de données, consultez la section [Remplissage du catalogue de données AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html) dans le *AWS Glue Developer Guide*.

Des frais distincts s'appliquent pour AWS Glue. Il existe un tarif mensuel pour le stockage et l'accès aux métadonnées du catalogue de données, un taux horaire facturé par minute pour les tâches AWS Glue ETL et le temps d'exécution des robots d'exploration, et un taux horaire facturé par minute pour chaque point de terminaison de développement provisionné. Le catalogue de données vous permet de stocker jusqu'à un million d'objets sans aucuns frais. Au-delà d'un million d'objets, des frais de 1 USD vous seront facturés tous les 100 000 objets. Dans le catalogue de données, sont considérés comme des objets une table, une partition ou une base de données. Pour de plus amples informations, consultez [Tarification Glue](https://aws.amazon.com/glue/pricing).

**Important**  
Si vous avez créé des tables à l'aide d'Amazon Athena ou d'Amazon Redshift Spectrum avant le 14 août 2017, les bases de données et les tables sont stockées dans un catalogue géré par Athena, distinct du catalogue de données Glue. AWS Pour intégrer Amazon EMR à ces tables, vous devez passer au catalogue de données AWS Glue. Pour plus d'informations, consultez la section [Mise à niveau vers le catalogue de données AWS Glue](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html) dans le guide de l'*utilisateur Amazon Athena*.

## Spécifier le catalogue de données AWS Glue comme métastore
<a name="emr-hive-glue-configure"></a>

Vous pouvez spécifier le catalogue de données AWS Glue comme métastore à l'aide de l'API AWS Management Console AWS CLI, ou Amazon EMR. Lorsque vous utilisez la CLI ou l'API, vous utilisez la classification de configuration de Hive pour spécifier le catalogue de données. En outre, avec Amazon EMR 5.16.0 et versions ultérieures, vous pouvez utiliser la classification de configuration pour spécifier un catalogue de données dans un autre. Compte AWS Lorsque vous utilisez la console, vous pouvez spécifier le catalogue de données à l'aide des **Options avancées** ou des **Options rapides**.

------
#### [ Console ]

**Pour spécifier AWS Glue Data Catalog comme métastore Hive avec la console**

1. [Connectez-vous au et ouvrez la AWS Management Console console Amazon EMR à l'adresse /emr. https://console.aws.amazon.com](https://console.aws.amazon.com/emr)

1. Sous **EMR sur EC2** dans le volet de navigation de gauche, choisissez **Clusters**, puis **Créer un cluster**.

1. **Sous **Ensemble d'applications**, choisissez **Core Hadoop** ou **HBase**Custom.** Si vous personnalisez votre cluster, assurez-vous de sélectionner Hive ou HCatalog comme l'une de vos applications.

1. Sous **Paramètres du catalogue de données AWS Glue**, cochez la case **Utiliser les métadonnées des tables Hive**.

1. Choisissez toutes les autres options qui s'appliquent à votre cluster. 

1. Pour lancer cluster, choisissez **Créer un cluster**.

------
#### [ CLI ]

**Pour spécifier le catalogue de données AWS Glue en tant que métastore Hive avec AWS CLI**

Pour plus d'informations sur la spécification d'une classification de configuration à l'aide de l'API AWS CLI et EMR, consultez. [Configuration des applications](emr-configure-apps.md)
+ Spécifiez la valeur de `hive.metastore.client.factory.class` à l'aide de la classification de configuration `hive-site` comme illustré dans l'exemple suivant :

  ```
  [
    {
      "Classification": "hive-site",
      "Properties": {
        "hive.metastore.client.factory.class": "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory"
      }
    }
  ]
  ```

  Dans les versions 5.28.0, 5.28.1, 5.29.0 ou 6.x d'EMR, si vous créez un cluster en utilisant le catalogue de données AWS Glue comme métastore, définissez le sur. `hive.metastore.schema.verification` `false` Cela empêche Hive et HCatalog de valider le schéma du métastore par rapport à MySQL. Sans cette configuration, le groupe d'instances principal sera suspendu après la reconfiguration sur Hive ou. HCatalog 

  ```
  [
    {
      "Classification": "hive-site",
      "Properties": {
        "hive.metastore.client.factory.class": "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory",
        "hive.metastore.schema.verification": "false"
      }
    }
  ]
  ```

  Si vous disposez déjà d'un cluster sur EMR version 5.28.0, 5.28.1 ou 5.29.0, vous pouvez définir le groupe d'instances maître `hive.metastore.schema.verification` sur `false` avec les informations suivantes :

  ```
     
      Classification = hive-site
      Property       = hive.metastore.schema.verification
      Value          = false
  ```

  Pour spécifier un catalogue de données dans un autre AWS compte, ajoutez la `hive.metastore.glue.catalogid` propriété comme indiqué dans l'exemple suivant. Remplacez `acct-id` par le compte AWS du catalogue de données.

  ```
  [
    {
      "Classification": "hive-site",
      "Properties": {
        "hive.metastore.client.factory.class": "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory",
        "hive.metastore.schema.verification": "false",
        "hive.metastore.glue.catalogid": "acct-id"
      }
    }
  ]
  ```

------

## Autorisations IAM
<a name="emr-hive-glue-permissions"></a>

Le profil d'instance EC2 d'un cluster doit disposer des autorisations IAM pour les actions AWS Glue. En outre, si vous activez le chiffrement pour les objets AWS Glue Data Catalog, le rôle doit également être autorisé à chiffrer, déchiffrer et générer les objets AWS KMS key utilisés pour le chiffrement.

### Autorisations pour les actions AWS Glue
<a name="emr-hive-glue-permissions-actions"></a>

Aucune action n'est requise si vous utilisez le profil d'instance EC2 par défaut pour Amazon EMR. La politique `AmazonElasticMapReduceforEC2Role` gérée attachée au `EMR_EC2_DefaultRole` autorise toutes les actions AWS Glue nécessaires. Toutefois, si vous spécifiez un profil d'instance EC2 personnalisé et des autorisations, vous devez configurer les actions AWS Glue appropriées. Utilisez la stratégie gérée `AmazonElasticMapReduceforEC2Role` comme point de départ. Pour plus d'informations, consultez [Rôle de service pour les instances EC2 de cluster (profil d'instance EC2)](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role-for-ec2.html) dans le *Guide de gestion Amazon EMR*.

### Autorisations pour chiffrer et déchiffrer le catalogue de données Glue AWS
<a name="emr-hive-glue-permissions-encrypt"></a>

Votre profil d'instance a besoin d'autorisations pour chiffrer et déchiffrer les données au moyen de votre clé. Vous n'avez *pas* besoin de configurer ces autorisations si les deux déclarations suivantes s'appliquent :
+ Vous activez le chiffrement des objets du catalogue de données AWS Glue à l'aide de clés gérées pour AWS Glue.
+ Vous utilisez un cluster Compte AWS identique au AWS Glue Data Catalog.

Sinon, vous devez ajouter l'instruction suivante à la politique d'autorisations attachée à votre profil d'instance EC2. 

Pour plus d'informations sur le chiffrement du catalogue de données AWS Glue, consultez la section [Chiffrer votre catalogue de données](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html) dans le *guide du développeur de AWS Glue*.

### Autorisations basées sur les ressources
<a name="emr-hive-glue-permissions-resource"></a>

Si vous utilisez AWS Glue conjointement avec Hive, Spark ou Presto dans Amazon EMR, AWS Glue prend en charge les politiques basées sur les ressources afin de contrôler l'accès aux ressources du catalogue de données. Ces ressources comprennent les bases de données, les tables, les connexions et les fonctions définies par l'utilisateur. Pour plus d'informations, consultez [Politiques de ressources AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html) dans le *Guide du développeur AWS Glue*.

Lorsque vous utilisez des politiques basées sur les ressources pour limiter l'accès à AWS Glue depuis Amazon EMR, le principal que vous spécifiez dans la politique d'autorisation doit être l'ARN du rôle associé au profil d'instance EC2 spécifié lors de la création d'un cluster. Par exemple, pour une politique basée sur les ressources attachée à un catalogue, vous pouvez spécifier l'ARN du rôle de service par défaut pour les instances EC2 du cluster, *EMR\$1EC2\$1DefaultRole* en utilisant le `Principal` format illustré dans l'exemple suivant :

```
arn:aws:iam::acct-id:role/EMR_EC2_DefaultRole
```

Il *acct-id* peut être différent de l'identifiant du compte AWS Glue. Cela permet d'accéder aux clusters EMR à partir de comptes différents. Vous pouvez spécifier plusieurs principaux, chacun provenant d'un compte différent.

## Considérations relatives à l'utilisation de AWS Glue Data Catalog
<a name="emr-hive-glue-considerations-hive"></a>

Tenez compte des éléments suivants lorsque vous utilisez le catalogue de données AWS Glue comme métastore avec Hive :
+ L'ajout d'un auxiliaire JARs à l'aide du shell Hive n'est pas pris en charge. Pour contourner le problème, utilisez la classification `hive-site` de configuration pour définir la `hive.aux.jars.path` propriété, qui ajoute un auxiliaire JARs au chemin de classe Hive.
+ Les [transactions Hive](https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions) ne sont pas prises en charge.
+ Il n'est pas possible de renommer des tables depuis AWS Glue.
+ Lorsque vous créez une table Hive sans spécifier de `LOCATION`, les données de la table sont stockées à l'emplacement spécifié par la propriété `hive.metastore.warehouse.dir`. Par défaut, il s'agit d'un emplacement dans HDFS. Si un autre cluster doit accéder à la table, il échoue, sauf s'il dispose d'autorisations adéquates sur le cluster qui a créé la table. En outre, le stockage dans HDFS étant transitoire, si le cluster est résilié, les données de la table sont perdues et la table doit être recréée. Nous vous recommandons de spécifier un `LOCATION` dans Amazon S3 lorsque vous créez une table Hive à l'aide de AWS Glue. Vous pouvez également utiliser la classification de configuration `hive-site` pour spécifier un emplacement dans Amazon S3 pour `hive.metastore.warehouse.dir`, qui s'applique à toutes les tables Hive. Si une table est créée dans un emplacement HDFS et que le cluster qui l'a créée est toujours en cours d'exécution, vous pouvez mettre à jour l'emplacement de la table vers Amazon S3 depuis AWS Glue. Pour plus d'informations, consultez [Working with Tables on the AWS Glue Console](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html) dans le *AWS Glue Developer Guide*. 
+ Les valeurs de partition contenant des guillemets et des apostrophes ne sont pas prises en charge, par exemple `PARTITION (owner="Doe's").`.
+ Les [statistiques sur les colonnes](https://cwiki.apache.org/confluence/display/Hive/StatsDev#StatsDev-ColumnStatistics) sont prises en charge à partir de la version emr-5.31.0.
+ L'utilisation de l'[autorisation Hive](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization) n'est pas prise en charge. Comme alternative, envisagez d'utiliser les [politiques basées sur les ressources AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html). Pour plus d'informations, consultez [Utiliser des politiques basées sur les ressources pour Amazon EMR Access to Glue AWS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html) Data Catalog.
+ Les [contraintes Hive](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Constraints) ne sont pas prises en charge.
+ [L'optimisation basée sur les coûts dans Hive](https://cwiki.apache.org/confluence/display/Hive/Cost-based+optimization+in+Hive) n'est pas prise en charge.
+ Le paramètre `hive.metastore.partition.inherit.table.properties` n'est pas pris en charge. 
+ L'utilisation des constantes de métastore suivantes n'est pas prise en charge : `BUCKET_COUNT, BUCKET_FIELD_NAME, DDL_TIME, FIELD_TO_DIMENSION, FILE_INPUT_FORMAT, FILE_OUTPUT_FORMAT, HIVE_FILTER_FIELD_LAST_ACCESS, HIVE_FILTER_FIELD_OWNER, HIVE_FILTER_FIELD_PARAMS, IS_ARCHIVED, META_TABLE_COLUMNS, META_TABLE_COLUMN_TYPES, META_TABLE_DB, META_TABLE_LOCATION, META_TABLE_NAME, META_TABLE_PARTITION_COLUMNS, META_TABLE_SERDE, META_TABLE_STORAGE, ORIGINAL_LOCATION`.
+ Lorsque vous utilisez une expression de prédicat, les valeurs explicites doivent se trouver sur le côté droit de l'opérateur de comparaison, sinon les requêtes risquent d'échouer.
  + **Correct** : `SELECT * FROM mytable WHERE time > 11`
  + **Incorrect** : `SELECT * FROM mytable WHERE 11 > time`
+ Les versions 5.32.0 et 6.3.0 et ultérieures d'Amazon EMR prennent en charge l'utilisation de fonctions définies par l'utilisateur () dans les expressions de prédicat. UDFs Lorsque vous utilisez des versions antérieures, vos requêtes peuvent échouer en raison de la manière dont Hive essaie d'optimiser l'exécution des requêtes.
+ Les [tables temporaires](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables) ne sont pas prises en charge.
+ Nous vous recommandons de créer des tableaux à l'aide d'applications via Amazon EMR plutôt que de les créer directement à l'aide de Glue AWS . La création d'une table via AWS Glue peut entraîner l'absence de champs obligatoires et des exceptions de requête.
+ Dans EMR 5.20.0 ou version ultérieure, l'élagage parallèle des partitions est activé automatiquement pour Spark et Hive lorsque AWS Glue Data Catalog est utilisé comme métastore. Cette modification réduit considérablement le temps de planification des requêtes en exécutant plusieurs requêtes en parallèle pour récupérer des partitions. Le nombre total de segments pouvant être exécutés simultanément est compris entre 1 et 10. La valeur par défaut est 5, ce qui est recommandé. Vous pouvez le modifier en spécifiant la propriété `aws.glue.partition.num.segments` dans la classification de configuration `hive-site`. En cas de limitation, vous pouvez désactiver la fonctionnalité en remplaçant la valeur par 1. Pour en savoir plus, consultez [Structure d'un segment AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-Segment).

# Utilisation d'une base de données MySQL externe ou d'Amazon Aurora
<a name="emr-hive-metastore-external"></a>

Pour utiliser une base de données MySQL externe ou Amazon Aurora comme métastore Hive, vous devez remplacer les valeurs de configuration par défaut du métastore dans Hive afin de spécifier l'emplacement de la base de données externe, soit sur une instance MySQL Amazon RDS, soit sur une instance Amazon Aurora Postgre. SQLinstance

**Note**  
Hive ne prend pas en charge et n'empêche pas l'accès simultané en écriture aux tables du metastore. Si vous partagez des informations du metastore entre deux clusters, vous devez veiller à ne pas écrire dans la même table du metastore simultanément, sauf si vous écrivez dans des partitions différentes de la même table du metastore.

La procédure suivante vous montre comment remplacer les valeurs de configuration par défaut pour l'emplacement du metastore Hive et démarrer un cluster en utilisant l'emplacement du metastore reconfiguré.

**Pour créer un metastore situé en dehors du cluster EMR**

1. Créez une base de données MySQL ou Aurora PostgreSQL. Si vous utilisez PostgreSQL, vous devez le configurer après avoir provisionné votre cluster. Seul MySQL est pris en charge lors de la création du cluster. Pour plus d'informations sur les différences entre Aurora MySQL et Aurora PostgreSQL, consultez [Présentation d'Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Overview.html) et [Utilisation d'Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html). Pour plus d'informations sur la création d'une base de données Amazon RDS en général, consultez [https://aws.amazon.com/rds/](https://aws.amazon.com/rds/).

1. Modifiez vos groupes de sécurité pour autoriser les connexions JDBC entre votre base de données et le groupe de sécurité **ElasticMapReduce-Master**. Pour plus d'informations sur la modification de vos groupes de sécurité pour l'accès, consultez la section [Utilisation des groupes de sécurité gérés par Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html).

1. Définissez les valeurs de configuration JDBC dans `hive-site.xml` :
**Important**  
Si vous fournissez des informations sensibles, telles que des mots de passe, à l'API de configuration d'Amazon EMR, ces informations s'affichent pour les comptes qui disposent d'autorisations suffisantes. Si vous êtes inquiet que ces informations puissent apparaître à d'autres utilisateurs, créez le cluster avec un compte d'administrateur et limitez pour les autres utilisateurs (les utilisateurs IAM ou ceux dotés d'informations d'identification déléguées) l'accès aux services sur ce cluster en créant un rôle qui refuse explicitement les autorisations pour la clé d'API `elasticmapreduce:DescribeCluster`.

   1. Créez un fichier de configuration appelé `hiveConfiguration.json` contenant les modifications apportées à `hive-site.xml` comme illustré dans l'exemple suivant.

       *hostname*Remplacez-le par l'adresse DNS de votre instance Amazon RDS exécutant la base de données *username* et *password* par les informations d'identification de votre base de données. Pour plus d'informations sur la connexion aux instances de base de données MySQL et Aurora, consultez [Connexion à une instance de base de données exécutant le moteur de base de données MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html) et [Connexion à un cluster de base de données Athena](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Connect.html) dans le *Guide de l'utilisateur Amazon RDS*. `javax.jdo.option.ConnectionURL` est la chaîne de connexion JDBC d'un metastore JDBC. `javax.jdo.option.ConnectionDriverName` est le nom de classe de pilote d'un metastore JDBC.

      Les pilotes JDBC de MySQL sont installés par Amazon EMR. 

      La propriété value ne peut pas contenir d'espaces ni de retours chariot. Elle doit figurer entièrement sur une seule ligne.

      ```
      [
          {
            "Classification": "hive-site",
            "Properties": {
              "javax.jdo.option.ConnectionURL": "jdbc:mysql://hostname:3306/hive?createDatabaseIfNotExist=true",
              "javax.jdo.option.ConnectionDriverName": "org.mariadb.jdbc.Driver",
              "javax.jdo.option.ConnectionUserName": "username",
              "javax.jdo.option.ConnectionPassword": "password"
            }
          }
        ]
      ```

   1. Référencez le `hiveConfiguration.json` fichier lorsque vous créez le cluster, comme indiqué dans la AWS CLI commande suivante. Le fichier est stocké localement dans cette commande. Vous pouvez également charger le fichier sur Amazon S3 et le référencer depuis cet endroit, par exemple, `s3://DOC-EXAMPLE-BUCKET/hiveConfiguration.json`.
**Note**  
Les caractères de continuation de ligne Linux (\$1) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).

      ```
      aws emr create-cluster --release-label emr-7.12.0 --instance-type m5.xlarge --instance-count 2 \
      --applications Name=Hive --configurations file://hiveConfiguration.json --use-default-roles
      ```

1. Connectez-vous au nœud primaire de votre cluster. 

   Pour plus d'informations sur la façon de se connecter au nœud primaire, consultez [Connexion au nœud primaire à l'aide de SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html) dans le *Guide de gestion d'Amazon EMR*.

1. Créez vos tables Hive en spécifiant l'emplacement sur Amazon S3 en entrant une commande similaire à :

   ```
   CREATE EXTERNAL TABLE IF NOT EXISTS table_name
   (
   key int,
   value int
   )
   LOCATION s3://DOC-EXAMPLE-BUCKET/hdfs/
   ```

1. Ajoutez votre script Hive au cluster en cours d'exécution.

Votre cluster Hive s'exécute en utilisant le métastore situé dans Amazon RDS. Lancez tous les clusters Hive supplémentaires qui partagent ce metastore en spécifiant l'emplacement du metastore. 

# Utilisation du pilote Hive JDBC
<a name="HiveJDBCDriver"></a>

Vous pouvez utiliser des outils de business intelligence populaires tels que Microsoft Excel et Tableau avec Amazon EMR pour explorer et visualiser vos données. MicroStrategy QlikView Un grand nombre de ces outils ont besoin d'un pilote JDBC (Java DataBase Connectivity) ou ODBC (Open DataBase Connectivity). Amazon EMR prend en charge la connectivité JDBC et ODBC à un cluster Spark, Hive ou Presto.

L'exemple ci-dessous montre comment utiliser SQL en Workbench/J tant que client SQL pour se connecter à un cluster Hive dans Amazon EMR. Pour obtenir des pilotes supplémentaires, consultez [Utilisation des outils d'aide à la décision avec Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-bi-tools.html).

Avant d'installer et d'utiliser SQL Workbench/J, téléchargez le package du pilote et installez ce dernier. Les pilotes inclus dans le package prennent en charge les versions Hive disponibles dans Amazon EMR versions 4.0 et versions ultérieures. Pour obtenir des notes de mise à jour et une documentation détaillées, consultez la documentation PDF incluse dans le package.
+ **Les derniers packages de pilotes JDBC et ODBC**

  [http://awssupportdatasvcs.com/bootstrap-actions/Simba/](http://awssupportdatasvcs.com/bootstrap-actions/Simba/)

**Pour installer et configurer SQL Workbench**

1. Téléchargez le Workbench/J client SQL correspondant à votre système d'exploitation depuis[http://www.sql-workbench.net/downloads.html](http://www.sql-workbench.net/downloads.html).

1. Installez SQL Workbench/J. Pour plus d'informations, consultez la section [Installation et démarrage de SQL Workbench/J](http://www.sql-workbench.net/manual/install.html) dans le manuel d'utilisation de SQL Manual. Workbench/J 

1. **Utilisateurs Linux, Unix et Mac OS X** : dans une session de terminal, créez un tunnel SSH vers le nœud principal de votre cluster à l'aide de la commande suivante. Remplacez-le *master-public-dns-name* par le nom DNS public du nœud principal et *path-to-key-file* par l'emplacement et le nom de fichier de votre fichier de clé privée Amazon EC2 (`.pem`).

   ```
   ssh -o ServerAliveInterval=10 -i path-to-key-file -N -L 10000:localhost:10000 hadoop@master-public-dns-name
   ```

   **Utilisateurs Windows** : Dans une session PuTTY, créez un tunnel SSH pour le nœud principal de votre cluster (à l'aide du réacheminement de port local) avec `10000` pour **Port source** et `master-public-dns-name:10000` pour **Destination**. Remplacez `master-public-dns-name` par le nom DNS public du nœud maître.

1. Ajoutez le pilote JDBC à SQL Workbench.

   1. Dans la boîte de dialogue **Select Connection Profile (Sélectionner le profil de connexion)**, cliquez sur **Manage Drivers (Gérer les pilotes)**. 

   1. Cliquez sur l'icône **Create a new entry (Créer une nouvelle entrée)** (page blanche).

   1. Dans le champ **Name (Nom)**, saisissez **Hive JDBC**.

   1. Pour **Library (Bibliothèque)**, cliquez sur l'icône **Select the JAR file(s) (Sélectionner le(s) fichier(s) JAR)**.

   1. Accédez à l'emplacement contenant les pilotes extraits. Sélectionnez les pilotes inclus dans la version du package de pilotes JDBC que vous avez téléchargée, puis cliquez sur **Ouvrir**.

      Par exemple, votre package de pilotes JDBC peut inclure les éléments suivants. JARs

      ```
      hive_metastore.jar
      hive_service.jar
      HiveJDBC41.jar
      libfb303-0.9.0.jar
      libthrift-0.9.0.jar
      log4j-1.2.14.jar
      ql.jar
      slf4j-api-1.5.11.jar
      slf4j-log4j12-1.5.11.jar
      TCLIServiceClient.jar
      zookeeper-3.4.6.jar
      ```

   1. Dans la boîte de dialogue **Please select one driver (Veuillez sélectionner un pilote)**, sélectionnez `com.amazon.hive.jdbc41.HS2Driver`, **OK**.

1. Lorsque vous revenez à la boîte de dialogue **Manage Drivers (Gérer les pilotes)** vérifiez que le champ **Classname (Nom de classe)** est renseigné et cliquez sur **OK**. 

1. Lorsque vous revenez à la boîte de dialogue **Select Connection Profile (Sélectionner le profil de connexion)**, vérifiez que le champ **Driver (Pilote)** est défini sur **Hive JDBC** et fournissez la chaîne de connexion JDBC suivante dans le champ **URL** : `jdbc:hive2://localhost:10000/default`.

1. Sélectionnez **OK** pour vous connecter. Une fois la connexion établie, les détails de la connexion apparaissent en haut de la Workbench/J fenêtre SQL.

Pour plus d'informations sur l'utilisation de Hive et de l'interface JDBC, consultez [HiveClient](https://cwiki.apache.org/confluence/display/Hive/HiveClient)et [Hive JDBCInterface dans la documentation d'Apache Hive](https://cwiki.apache.org/confluence/display/Hive/HiveJDBCInterface).

# Amélioration des performances de Hive
<a name="emr-hive-s3-performance"></a>

Amazon EMR offre des fonctionnalités permettant d'optimiser les performances lors de l'utilisation de Hive pour interroger, lire et écrire des données sauvegardées dans Amazon S3.

S3 Select peut améliorer la performance de requête pour les fichiers CSV et JSON dans certaines applications en « poussant vers le bas » le traitement à Amazon S3.

Le validateur optimisé EMRFS S3 est une alternative à la [OutputCommitter](https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/OutputCommitter.html)classe, qui élimine les opérations de liste et de renommage afin d'améliorer les performances lors de l'écriture de fichiers Amazon S3 à l'aide d'EMRFS.

**Topics**
+ [Activation du validateur optimisé Hive EMRFS S3](hive-optimized-committer.md)
+ [Utilisation de S3 Select avec Hive pour améliorer les performances](emr-hive-s3select.md)
+ [Optimisation MSCK](emr-msck-optimization.md)

# Activation du validateur optimisé Hive EMRFS S3
<a name="hive-optimized-committer"></a>

Le Hive EMRFS S3 Optimized Committer est une méthode alternative permettant à EMR Hive d'écrire des fichiers pour des requêtes d'insertion lors de l'utilisation d'EMRFS. Le Committer élimine les opérations de liste et de renommage effectuées sur Amazon S3 et améliore les performances de l'application. La fonctionnalité est disponible à partir de EMR 5.34 et EMR 6.5.

## Activation du contributeur
<a name="enabling-hive-committer"></a>

Si vous souhaitez activer EMR Hive pour utiliser `HiveEMRFSOptimizedCommitter` pour valider les données par défaut pour toutes les tables gérées et externes par Hive, utilisez la configuration `hive-site` suivante dans les clusters EMR 6.5.0 ou EMR 5.34.0.

```
[
   {
      "classification": "hive-site",
      "properties": {
         "hive.blobstore.use.output-committer": "true"
      }
   }
]
```

**Note**  
N'activez pas cette fonction lorsque `hive.exec.parallel` est défini sur `true`.

## Limitations
<a name="hive-committer-limitations"></a>

Les restrictions de base suivantes s’appliquent aux balises :
+ L'activation de Hive pour fusionner automatiquement de petits fichiers n'est pas prise en charge. La logique de validation Hive par défaut sera utilisée même lorsque le validateur optimisé est activé.
+ Les tables Hive ACID ne sont pas prises en charge. La logique de validation Hive par défaut sera utilisée même lorsque le validateur optimisé est activé.
+ La nomenclature des noms de fichiers pour les fichiers écrits est passée de Hive `<task_id>_<attempt_id>_<copy_n>` à `<task_id>_<attempt_id>_<copy_n>_<query_id>`. Par exemple, un fichier nommé 

  `s3://warehouse/table/partition=1/000000_0` sera remplacé par `s3://warehouse/table/partition=1/000000_0-hadoop_20210714130459_ba7c23ec-5695-4947-9d98-8a40ef759222-1`. Le `query_id` ici est une combinaison du nom d'utilisateur, de l'horodatage et de l'UUID.
+ Lorsque des partitions personnalisées se trouvent sur des systèmes de fichiers différents (HDFS, S3), cette fonctionnalité est automatiquement désactivée. La logique de validation Hive par défaut sera utilisée lorsqu'elle sera activée.

# Utilisation de S3 Select avec Hive pour améliorer les performances
<a name="emr-hive-s3select"></a>

**Important**  
Amazon S3 Select n’est plus disponible pour les nouveaux clients. Les clients existants d’Amazon S3 Select peuvent continuer à utiliser cette fonctionnalité comme d’habitude. [En savoir plus](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) 

À partir de la version 5.18.0 d'Amazon EMR, vous pouvez utiliser [S3 Select](https://aws.amazon.com/blogs/aws/s3-glacier-select/) avec Hive sur Amazon EMR. S3 Select permet aux applications de ne récupérer qu’un sous-ensemble de données d’un objet. Pour Amazon EMR, le travail de calcul impliqué dans le filtrage d'ensembles larges de données pour le traitement est « poussé en bas », du cluster vers Amazon S3, ce qui peut améliorer la performance de certaines applications et peut réduire la quantité de données transférée entre Amazon EMR et Amazon S3.

S3 Select est pris en charge avec les tables Hive en fonction des fichiers JSON et CSV, et en définissant la variable de configuration `s3select.filter` sur `true` durant votre session Hive. Pour plus d’informations et d’exemples, consultez [Spécification de S3 Select dans votre code](#emr-hive-s3select-specify).

## S3 Select est-il adapté à mon application ?
<a name="emr-hive-s3select-apps"></a>

Nous vous recommandons de tester vos applications avec et sans S3 Select pour voir si son utilisation peut être adaptée à votre application.

Utilisez les consignes suivantes pour déterminer si votre application peut utiliser S3 Select :
+ Votre requête exclut plus de la moitié de l'ensemble de données d'origine.
+ Vos prédicats de filtre de requête utilisent les colonnes qui ont un type de données pris en charge par Amazon S3 Select. Pour plus d'informations, consultez [Types de données](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-data-types.html) dans le *Guide de l'utilisateur Amazon Simple Storage Service*.
+ Votre connexion réseau entre Amazon S3 et le cluster Amazon EMR a une bonne vitesse de transfert et une bande passante disponible. Amazon S3 ne compresse pas les réponses HTTP, de sorte que la taille de la réponse est susceptible d'augmenter pour les fichiers d'entrée compressés.

## Considérations et restrictions
<a name="emr-hive-s3select-considerations"></a>
+ Le chiffrement côté serveur d'Amazon S3 avec des clés de chiffrement fournies par le client (SSE-C) et le chiffrement côté client ne sont pas pris en charge. 
+ La propriété `AllowQuotedRecordDelimiters` n'est pas prise en charge. Si cette propriété est spécifiée, la requête échoue.
+ Seuls les fichiers CSV et JSON au format UTF-8 sont pris en charge. Le format multiligne CSVs et le format JSON ne sont pas pris en charge.
+ Seuls les fichiers non compressés ou gzip ou bzip2 sont pris en charge.
+ Les caractères de commentaire ne sont pas pris en charge dans la dernière ligne.
+ Des lignes vides à la fin d'un fichier ne sont pas traitées.
+ Hive sur Amazon EMR prend en charge les types de données primitifs que S3 Select prend en charge. Pour plus d'informations, consultez [Types de données](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-data-types.html) dans le *Guide de l'utilisateur Amazon Simple Storage Service*.

## Spécification de S3 Select dans votre code
<a name="emr-hive-s3select-specify"></a>

Pour utiliser S3 Select dans votre table Hive, créez la table en spécifiant `com.amazonaws.emr.s3select.hive.S3SelectableTextInputFormat` comme nom de classe `INPUTFORMAT` et spécifiez une valeur pour la propriété `s3select.format` à l'aide de la clause `TBLPROPERTIES`.

S3 Select est désactivé par défaut lorsque vous exécutez des requêtes. Activez S3 Select en définissant `s3select.filter` sur `true` dans votre session Hive, comme illustré ci-dessous. Les exemples suivants montrent comment spécifier S3 Select lors de la création d'une table à partir de fichiers CSV et JSON sous-jacents, puis comment interroger la table à l'aide d'une instruction de sélection simple.

**Example Instruction CREATE TABLE pour une table basée sur CSV**  

```
CREATE TABLE mys3selecttable (
col1 string,
col2 int,
col3 boolean
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS
INPUTFORMAT
  'com.amazonaws.emr.s3select.hive.S3SelectableTextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION 's3://path/to/mycsvfile/'
TBLPROPERTIES (
  "s3select.format" = "csv",
  "s3select.headerInfo" = "ignore"
);
```

**Example Instruction CREATE TABLE pour une table basée sur JSON**  

```
CREATE TABLE mys3selecttable (
col1 string,
col2 int,
col3 boolean
)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS
INPUTFORMAT
  'com.amazonaws.emr.s3select.hive.S3SelectableTextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION 's3://path/to/json/'
TBLPROPERTIES (
  "s3select.format" = "json"
);
```

**Example Instruction SELECT TABLE**  

```
SET s3select.filter=true;
SELECT * FROM mys3selecttable WHERE col2 > 10;
```

# Optimisation MSCK
<a name="emr-msck-optimization"></a>

Hive stocke une liste de partitions pour chaque table dans son métastore. Toutefois, lorsque des partitions sont directement ajoutées ou supprimées du système de fichiers, le métastore Hive n'est pas au courant de ces modifications. La [commande MSCK](https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl#LanguageManualDDL-RecoverPartitions(MSCKREPAIRTABLE)) met à jour les métadonnées de partition dans le métastore Hive pour les partitions directement ajoutées ou supprimées du système de fichiers. La syntaxe de cette commande est la suivante :

```
MSCK [REPAIR] TABLE table_name [ADD/DROP/SYNC PARTITIONS];
```

Hive implémente cette commande comme suit :

1. Hive récupère toutes les partitions de la table dans le métastore. À partir de la liste des chemins de partition qui n'existent pas dans le système de fichiers, crée une liste de partitions à supprimer du métastore.

1. Hive rassemble les chemins de partition présents dans le système de fichiers, les compare à la liste des partitions du métastore et génère une liste des partitions qui doivent être ajoutées au métastore.

1. Hive met à jour le métastore en utilisant le mode `ADD`, `DROP` ou `SYNC`.

**Note**  
Lorsque le métastore contient de nombreuses partitions, l'étape visant à vérifier si une partition n'existe pas dans le système de fichiers prend du temps, car l'appel d'API `exists` du système de fichiers doit être effectué pour chaque partition.

Dans Amazon EMR 6.5.0, Hive a introduit un indicateur appelé `hive.emr.optimize.msck.fs.check`. Lorsqu'il est activé, cet indicateur permet à Hive de vérifier la présence d'une partition dans la liste des chemins de partition du système de fichiers générée à l'étape 2 ci-dessus au lieu d'effectuer des appels d'API du système de fichiers. Dans Amazon EMR 6.8.0, Hive a activé cette optimisation par défaut, éliminant ainsi le besoin de définir l'indicateur `hive.emr.optimize.msck.fs.check`.

# Utilisation de Live Long and Process (LLAP) de Hive
<a name="emr-hive-llap"></a>

Amazon EMR 6.0.0 prend en charge la fonctionnalité Live Long and Process (LLAP) pour Hive. LLAP utilise des démons persistants avec une mise en cache intelligente en mémoire pour améliorer les performances des requêtes par rapport au mode d'exécution précédent du conteneur Tez par défaut.

Les démons Hive LLAP sont gérés et exécutés en tant que service YARN. Étant donné qu'un service YARN peut être considéré comme une application YARN longue durée, certaines de vos ressources de cluster sont dédiées à Hive LLAP et ne peuvent pas être utilisées pour d'autres charges de travail. Pour plus d'informations, consultez [LLAP](https://cwiki.apache.org/confluence/display/Hive/LLAP) et [API YARN Service](https://hadoop.apache.org/docs/r3.2.1/hadoop-yarn/hadoop-yarn-site/yarn-service/YarnServiceAPI.html).

## Activer Hive LLAP sur Amazon EMR
<a name="emr-llap-enable"></a>

Pour activer Hive LLAP sur Amazon EMR, fournissez la configuration suivante lorsque vous lancez un cluster. 

```
[
  {
    "Classification": "hive",
    "Properties": {
      "hive.llap.enabled": "true"
    }
  }
]
```

Pour plus d'informations, consultez [Configuration des applications](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html).

Par défaut, Amazon EMR alloue environ 60 % des ressources YARN de cluster aux démons Hive LLAP. Vous pouvez configurer le pourcentage de ressource YARN de cluster allouée à Hive LLAP et le nombre de tâches et de nœuds principaux à prendre en compte pour l'allocation LLAP Hive.

Par exemple, la configuration suivante démarre Hive LLAP avec trois démons sur trois nœuds de tâches ou nœuds principaux et alloue 40 % de la ressource YARN de ces trois nœuds aux démons LLAP Hive.

```
[
  {
    "Classification": "hive",
    "Properties": {
      "hive.llap.enabled": "true",
      "hive.llap.percent-allocation": "0.4",
      "hive.llap.num-instances": "3"
    }
  }
]
```

Vous pouvez utiliser les configurations `hive-site` suivantes dans l'API de classification pour remplacer les paramètres de ressource LLAP par défaut.


| Propriété | Description | 
| --- | --- | 
| hive.llap.daemon.yarn.container.mb | Taille totale du conteneur du démon LLAP (en Mo) | 
| hive.llap.daemon.memory.per.instance.mb |  Mémoire totale utilisée par les exécuteurs dans le conteneur de démon LLAP (en Mo)  | 
| hive.llap.io.memory.size |  Taille du cache pour l'entrée ou la sortie LLAP  | 
| hive.llap.daemon.num.executors |  Nombre d'exécuteurs par démon LLAP  | 

## Démarrez manuellement le LLAP de Hive sur votre cluster.
<a name="emr-llap-manually"></a>

Toutes les dépendances et configurations utilisées par LLAP sont compressées dans l'archive tar LLAP dans le cadre du démarrage du cluster. Si LLAP est activé avec `"hive.llap.enabled": "true"`, nous vous recommandons d'utiliser la reconfiguration Amazon EMR pour apporter des modifications à la configuration LLAP.

Sinon, pour toute modification manuelle de `hive-site.xml`, vous devez reconstruire l'archive tar LLAP à l'aide de la commande `hive --service llap`, comme le montre l'exemple suivant. 

```
# Define how many resources you want to allocate to Hive LLAP

LLAP_INSTANCES=<how many llap daemons to run on cluster>
LLAP_SIZE=<total container size per llap daemon>
LLAP_EXECUTORS=<number of executors per daemon>
LLAP_XMX=<Memory used by executors>
LLAP_CACHE=<Max cache size for IO allocator>

yarn app -enableFastLaunch

hive --service llap \
--instances $LLAP_INSTANCES \
--size ${LLAP_SIZE}m \
--executors $LLAP_EXECUTORS \
--xmx ${LLAP_XMX}m \
--cache ${LLAP_CACHE}m \
--name llap0 \
--auxhbase=false \
--startImmediately
```

## Contrôle de statut de LLAP de Hive
<a name="emr-llap-check"></a>

Utilisez la commande suivante pour vérifier l'état de Hive LLAP via Hive.

```
hive --service llapstatus
```

Utilisez la commande suivante pour vérifier l'état de Hive LLAP à l'aide de YARN.

```
yarn app -status (name-of-llap-service)

# example: 
yarn app -status llap0 | jq
```

## Démarrage ou arrêt de LLAP de Hive
<a name="emr-llap-start"></a>

Étant donné que le LLAP de Hive s'exécute en tant que service YARN permanent, vous devez arrêter ou redémarrer le service YARN pour arrêter ou redémarrer le LLAP de Hive. Les commandes suivantes illustrent ce problème. 

```
yarn app -stop llap0
yarn app -start llap0
```

## Redimensionner le nombre de démons LLAP Hive
<a name="emr-llap-resize"></a>

Utilisez la commande suivante pour réduire le nombre d'instances LLAP. 

```
yarn app -flex llap0 -component llap -1
```

Pour plus d'informations, consultez [Ajustement du composant d'un service](https://hadoop.apache.org/docs/r3.2.1/hadoop-yarn/hadoop-yarn-site/yarn-service/QuickStart.html#Flex_a_component_of_a_service). 

# Chiffrement dans Hive
<a name="hive-encryption"></a>

Cette section décrit les types de chiffrement pris en charge par Amazon EMR.

# Chiffrement modulaire du parquet dans Hive
<a name="hive-parquet-modular-encryption"></a>

Le chiffrement modulaire Parquet fournit un contrôle d'accès et un chiffrement au niveau des colonnes afin d'améliorer la confidentialité et l'intégrité des données stockées au format de fichier Parquet. Cette fonctionnalité est disponible dans Amazon EMR Hive à partir de la version 6.6.0.

Les solutions de sécurité et d'intégrité précédemment prises en charge, notamment le chiffrement de fichiers ou le chiffrement de la couche de stockage, sont décrites dans la section [Options de chiffrement](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) du guide de gestion Amazon EMR. Ces solutions peuvent être utilisées pour les fichiers Parquet, mais l'exploitation des nouvelles fonctionnalités du mécanisme de cryptage intégré de Parquet permet un accès granulaire au niveau des colonnes, ainsi que des améliorations en termes de performances et de sécurité. Pour en savoir plus sur cette fonctionnalité, consultez la page github d'Apache intitulée [Parquet Modular Encryption](https://github.com/apache/parquet-format/blob/master/Encryption.md).

Les utilisateurs transmettent les configurations aux lecteurs et rédacteurs Parquet à l'aide des configurations Hadoop. Les configurations détaillées permettant aux utilisateurs de configurer les lecteurs et les enregistreurs pour activer le chiffrement ainsi que les fonctionnalités avancées sont documentées dans [PARQUET-1854 : Properties-driven Interface to Parquet Encryption Management](https://docs.google.com/document/d/1boH6HPkG0ZhgxcaRkGk3QpZ8X_J91uXZwVGwYN45St4/edit) (Interface pilotée par les propriétés pour la gestion du chiffrement de Parquet). 

## Exemples d’utilisation
<a name="usage-examples"></a>

L'exemple suivant couvre la création et l'écriture dans une table Hive en utilisant AWS KMS pour gérer les clés de chiffrement.

1. Implémentez un KmsClient pour le AWS KMS service tel que décrit dans le document [PARQUET-1373 : Outils de gestion des clés de chiffrement](https://docs.google.com/document/d/1bEu903840yb95k9q2X-BlsYKuXoygE4VnMDl9xz_zhk/edit). L'exemple suivant montre un extrait de code d'implémentation.

   ```
   package org.apache.parquet.crypto.keytools;
   
   import com.amazonaws.AmazonClientException;
   import com.amazonaws.AmazonServiceException;
   import com.amazonaws.regions.Regions;
   import com.amazonaws.services.kms.AWSKMS;
   import com.amazonaws.services.kms.AWSKMSClientBuilder;
   import com.amazonaws.services.kms.model.DecryptRequest;
   import com.amazonaws.services.kms.model.EncryptRequest;
   import com.amazonaws.util.Base64;
   import org.apache.hadoop.conf.Configuration;
   import org.apache.parquet.crypto.KeyAccessDeniedException;
   import org.apache.parquet.crypto.ParquetCryptoRuntimeException;
   import org.apache.parquet.crypto.keytools.KmsClient;
   import org.slf4j.Logger;
   import org.slf4j.LoggerFactory;
   
   import java.nio.ByteBuffer;
   import java.nio.charset.Charset;
   import java.nio.charset.StandardCharsets;
   
   public class AwsKmsClient implements KmsClient {
   
       private static final AWSKMS AWSKMS_CLIENT = AWSKMSClientBuilder
               .standard()
               .withRegion(Regions.US_WEST_2)
               .build();
       public static final Logger LOG = LoggerFactory.getLogger(AwsKmsClient.class);
   
       private String kmsToken;
       private Configuration hadoopConfiguration;
   
       @Override
       public void initialize(Configuration configuration, String kmsInstanceID, String kmsInstanceURL, String accessToken) throws KeyAccessDeniedException {
           hadoopConfiguration = configuration;
           kmsToken = accessToken;
   
       }
   
       @Override
       public String wrapKey(byte[] keyBytes, String masterKeyIdentifier) throws KeyAccessDeniedException {
           String value = null;
           try {
               ByteBuffer plaintext = ByteBuffer.wrap(keyBytes);
   
               EncryptRequest req = new EncryptRequest().withKeyId(masterKeyIdentifier).withPlaintext(plaintext);
               ByteBuffer ciphertext = AWSKMS_CLIENT.encrypt(req).getCiphertextBlob();
   
               byte[] base64EncodedValue = Base64.encode(ciphertext.array());
               value = new String(base64EncodedValue, Charset.forName("UTF-8"));
           } catch (AmazonClientException ae) {
               throw new KeyAccessDeniedException(ae.getMessage());
           }
           return value;
       }
   
       @Override
       public byte[] unwrapKey(String wrappedKey, String masterKeyIdentifier) throws KeyAccessDeniedException {
           byte[] arr = null;
           try {
               ByteBuffer ciphertext  = ByteBuffer.wrap(Base64.decode(wrappedKey.getBytes(StandardCharsets.UTF_8)));
               DecryptRequest request = new DecryptRequest().withKeyId(masterKeyIdentifier).withCiphertextBlob(ciphertext);
               ByteBuffer decipheredtext = AWSKMS_CLIENT.decrypt(request).getPlaintext();
               arr = new byte[decipheredtext.remaining()];
               decipheredtext.get(arr);
           } catch (AmazonClientException ae) {
               throw new KeyAccessDeniedException(ae.getMessage());
           }
           return arr;
       }
   }
   ```

1. Créez vos clés de AWS KMS chiffrement pour le pied de page ainsi que pour les colonnes auxquelles vos rôles IAM ont accès, comme décrit dans la section [Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dans le guide du *AWS Key Management Service développeur*. Le rôle IAM par défaut est EMR\$1ECS\$1Default.

1. Dans l'application Hive sur un cluster Amazon EMR, ajoutez le client ci-dessus à l'aide de l'instruction `ADD JAR`, comme décrit dans la [documentation Apache Hive Resources](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli#LanguageManualCli-HiveResources). Voici un exemple de déclaration :

   ```
   ADD JAR 's3://location-to-custom-jar';
   ```

   Une autre méthode consiste à ajouter le fichier JAR à l'`auxlib` de Hive à l'aide d'une action d'amorçage. Voici un exemple de ligne à ajouter à l'action boostrap :

   ```
   aws s3 cp 's3://location-to-custom-jar' /usr/lib/hive/auxlib 
   ```

1. Définissez les configurations suivantes :

   ```
   set parquet.crypto.factory.class=org.apache.parquet.crypto.keytools.PropertiesDrivenCryptoFactory;
   set parquet.encryption.kms.client.class=org.apache.parquet.crypto.keytools.AwsKmsClient;
   ```

1. Créez une table Hive au format Parquet, spécifiez les AWS KMS clés dans SERDEPROPERTIES et insérez-y des données :

   ```
   CREATE TABLE my_table(name STRING, credit_card STRING)
   ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe’
   WITH SERDEPROPERTIES (
     'parquet.encryption.column.key’=<aws-kms-key-id-for-column-1>: credit_card’,
     'parquet.encryption.footer.key’='<aws-kms-key-id-for-footer>’)
   STORED AS parquet
   LOCATION “s3://<bucket/<warehouse-location>/my_table”;
   
   INSERT INTO my_table SELECT 
   java_method ('org.apache.commons.lang.RandomStringUtils','randomAlphabetic',5) as name,
   java_method ('org.apache.commons.lang.RandomStringUtils','randomAlphabetic',10) as credit_card
   from (select 1) x lateral view posexplode(split(space(100),' ')) pe as i,x;
   
   select * from my_table;
   ```

1. Vérifiez que lorsque vous créez une table externe au même endroit sans accès aux AWS KMS clés (par exemple, l'accès au rôle IAM est refusé), vous ne pouvez pas lire les données.

   ```
   CREATE EXTERNAL TABLE ext_table (name STRING, credit_card STRING)
   ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe’
   STORED AS parquet
   LOCATION “s3://<bucket>/<warehouse-location>/my_table”;
   
   SELECT * FROM ext_table;
   ```

1. La dernière instruction doit générer l'exception suivante :

   ```
   Failed with exception java.io.IOException:org.apache.parquet.crypto.KeyAccessDeniedException: Footer key: access denied
   ```

# Chiffrement en transit en 2 HiveServer
<a name="hs2-encryption-intransit"></a>

À partir de la version 6.9.0 d'Amazon EMR, HiveServer 2 (HS2) est compatible TLS/SSL dans le cadre de la configuration de sécurité. [Chiffrement en transit en 2 HiveServer](#hs2-encryption-intransit) Cela affecte la façon dont vous vous connectez à l' HS2 exécution sur un cluster Amazon EMR avec le chiffrement en transit activé. Pour vous connecter à HS2, vous devez modifier les valeurs `TRUSTSTORE_PATH` des `TRUSTSTORE_PASSWORD` paramètres et dans l'URL JDBC. L'URL suivante est un exemple de connexion JDBC pour HS2 avec les paramètres requis : 

```
jdbc:hive2://HOST_NAME:10000/default;ssl=true;sslTrustStore=TRUSTSTORE_PATH;trustStorePassword=TRUSTSTORE_PASSWORD
```

Utilisez les instructions appropriées pour le chiffrement sur cluster 2 ou hors cluster 2 ci-dessous HiveServer.

------
#### [ On-cluster HS2 access ]

Si vous accédez à HiveServer 2 à l'aide du client Beeline après avoir accédé au nœud principal en SSH, faites référence `/etc/hadoop/conf/ssl-server.xml` pour trouver les valeurs des `TRUSTSTORE_PASSWORD` paramètres `TRUSTSTORE_PATH` et à l'aide de la configuration `ssl.server.truststore.location` et. `ssl.server.truststore.password`

Les exemples de commandes suivants peuvent vous aider à récupérer ces configurations :

```
TRUSTSTORE_PATH=$(sed -n '/ssl.server.truststore.location/,+2p' /etc/hadoop/conf/ssl-server.xml | awk -F "[><]" '/value/{print $3}')
TRUSTSTORE_PASSWORD=$(sed -n '/ssl.server.truststore.password/,+2p' /etc/hadoop/conf/ssl-server.xml | awk -F "[><]" '/value/{print $3}')
```

------
#### [ Off-cluster HS2 access ]

 Si vous accédez à HiveServer 2 depuis un client extérieur au cluster Amazon EMR, vous pouvez utiliser l'une des approches suivantes pour obtenir le et : `TRUSTSTORE_PATH` `TRUSTSTORE_PASSWORD`
+ Convertissez le fichier PEM créé lors de la [configuration de sécurité](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html) en fichier JKS et utilisez le même dans l'URL de connexion JDBC. Par exemple, avec openssl et keytool, utilisez les commandes suivantes :

  ```
  openssl pkcs12 -export -in trustedCertificates.pem -inkey privateKey.pem -out trustedCertificates.p12 -name "certificate"
  keytool -importkeystore -srckeystore trustedCertificates.p12 -srcstoretype pkcs12 -destkeystore trustedCertificates.jks
  ```
+ Vous pouvez également faire référence à `/etc/hadoop/conf/ssl-server.xml` pour trouver les valeurs des paramètres `TRUSTSTORE_PATH` et `TRUSTSTORE_PASSWORD` à l'aide de la configuration `ssl.server.truststore.location` et `ssl.server.truststore.password`. Téléchargez le fichier magasin de confiance sur la machine cliente et utilisez le chemin sur la machine cliente comme `TRUSTSTORE_PATH`.

  Pour plus d'informations sur l'accès aux applications depuis un client extérieur au cluster Amazon EMR, consultez [Utiliser le pilote JDBC Hive](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/HiveJDBCDriver.html). 

------

# Historique des versions de Hive
<a name="Hive-release-history"></a>

Le tableau suivant répertorie la version de Hive incluse dans chaque version d'Amazon EMR, ainsi que les composants installés avec l'application. Pour connaître les versions des composants de chaque version, consultez la section Version des composants de votre version dans [Versions Amazon EMR 7.x](emr-release-7x.md), [Versions Amazon EMR 6.x](emr-release-6x.md) ou [Versions Amazon EMR 5.x](emr-release-5x.md).


**Informations sur la version de Hive**  

| Étiquette de version Amazon EMR | Version de Hive | Composants installés avec Hive | 
| --- | --- | --- | 
| emr-7,12.0 | 3.1.3-amzn-21 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.11.0 | 3.1.3-amzn-20 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.10.0 | 3.1.3-amzn-19 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.9.0 | 3.1.3-amzn-18 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7,8.0 | 3.1.3-amzn-17 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7,7.0 | 3.1.3-amzn-16 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.6.0 | 3.1.3-amzn-15 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.5.0 | 3.1.3-amzn-14 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.4.0 | 3.1.3-amzn-13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.3.0 | 3.1.3-amzn-12 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.2.0 | 3.1.3-amzn-11 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-5.36.2 | 2.3.9-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-7.1.0 | 3.1.3-amzn-10 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-7.0.0 | 3.1.3-amzn-9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.15.0 | 3.1.3-amzn-8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.14.0 | 3.1.3-amzn-7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.13.0 | 3.1.3-amzn-6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.12.0 | 3.1.3-amzn-5 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.11.1 | 3.1.3-amzn-4.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.11.0 | 3.1.3-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.10.1 | 3.1.3-amzn-3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.10.0 | 3.1.3-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, tez-on-worker, zookeeper-client, zookeeper-server | 
| emr-6.9.1 | 3.1.3-amzn-2.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.9.0 | 3.1.3-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.8.1 | 3.1.3-amzn-1.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.8.0 | 3.1.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.7.0 | 3.1.3-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-5.36.1 | 2.3.9-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.36.0 | 2.3.9-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-6.6.0 | 3.1.2-amzn-7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-5.35.0 | 2.3.9-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-6.5.0 | 3.1.2-amzn-6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.4.0 | 3.1.2-amzn-5 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.3.1 | 3.1.2-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.3.0 | 3.1.2-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.2.1 | 3.1.2-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.2.0 | 3.1.2-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.1.1 | 3.1.2-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.1.0 | 3.1.2-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.0.1 | 3.1.2-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-6.0.0 | 3.1.2-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn, zookeeper-client, zookeeper-server | 
| emr-5.34.0 | 2.3.8-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.33.1 | 2.3.7-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.33.0 | 2.3.7-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.32.1 | 2.3.7-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.32.0 | 2.3.7-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.31.1 | 2.3.7-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.31.0 | 2.3.7-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.30.2 | 2.3.6-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.30.1 | 2.3.6-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| emr-5.30.0 | 2.3.6-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mariadb-server, tez-on-yarn | 
| mr-5.29.0 | 2.3.6-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mysql-server, tez-on-yarn | 
| emr-5.28.1 | 2.3.6-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mysql-server, tez-on-yarn | 
| emr-5.28.0 | 2.3.6-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, hudi, mysql-server, tez-on-yarn | 
| emr-5.27.1 | 2.3.5-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.27.0 | 2.3.5-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.26.0 | 2.3.5-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.25.0 | 2.3.5-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.24.1 | 2.3.4-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.24.0 | 2.3.4-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.23.1 | 2.3.4-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.23.0 | 2.3.4-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.22.0 | 2.3.4-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.21.2 | 2.3.4-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.21.1 | 2.3.4-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.21.0 | 2.3.4-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.20.1 | 2.3.4-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.20.0 | 2.3.4-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.19.1 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.19.0 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.18.1 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.18.0 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.17.2 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.17.1 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.17.0 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-s3-select, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.16.1 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.16.0 | 2.3.3-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.15.1 | 2.3.3-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.15.0 | 2.3.3-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.14.2 | 2.3.2-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.14.1 | 2.3.2-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.14.0 | 2.3.2-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.13.1 | 2.3.2-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.13.0 | 2.3.2-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.12.3 | 2.3.2-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.12.2 | 2.3.2-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.12.1 | 2.3.2-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.12.0 | 2.3.2-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.11.4 | 2.3.2-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.11.3 | 2.3.2-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.11.2 | 2.3.2-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.11.1 | 2.3.2-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.11.0 | 2.3.2-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.10.1 | 2.3.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.10.0 | 2.3.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.9.1 | 2.3.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.9.0 | 2.3.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.8.3 | 2.3.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.8.2 | 2.3.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.8.1 | 2.3.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.8.0 | 2.3.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.7.1 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.7.0 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.6.1 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.6.0 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.5.4 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.5.3 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.5.2 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.5.1 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.5.0 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.4.1 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.4.0 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hive-hbase, hcatalog-server, hive-server2, mysql-server, tez-on-yarn | 
| emr-5.3.2 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.3.1 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.3.0 | 2.1.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.2.3 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.2.2 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.2.1 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.2.0 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.1.1 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.1.0 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.0.3 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.0.2 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.0.1 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-5.0.0 | 2.1.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, hive-server, mysql-server, tez-on-yarn | 
| emr-4.9.6 | 1.0.0-amzn-9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.9.5 | 1.0.0-amzn-9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.9.4 | 1.0.0-amzn-9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.9.3 | 1.0.0-amzn-9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.9.2 | 1.0.0-amzn-9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.9.1 | 1.0.0-amzn-9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.8.5 | 1.0.0-amzn-8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.8.4 | 1.0.0-amzn-8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.8.3 | 1.0.0-amzn-8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.8.2 | 1.0.0-amzn-7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.8.1 | 1.0.0-amzn-7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.8.0 | 1.0.0-amzn-7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.7.4 | 1.0.0-amzn-6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.7.3 | 1.0.0-amzn-6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.7.2 | 1.0.0-amzn-6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.7.1 | 1.0.0-amzn-5 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.7.0 | 1.0.0-amzn-5 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, hive-server, mysql-server | 
| emr-4.6.1 | 1.0.0-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hive-metastore-server, hive-server, mysql-server | 
| emr-4.6.0 | 1.0.0-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hive-metastore-server, hive-server, mysql-server | 
| emr-4.5.0 | 1.0.0-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hive-metastore-server, hive-server, mysql-server | 
| emr-4.4.0 | 1.0.0-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hive-metastore-server, hive-server, mysql-server | 
| emr-4.3.0 | 1.0.0-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hive-metastore-server, hive-server, mysql-server | 
| emr-4.2.0 | 1.0.0-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hive-metastore-server, hive-server, mysql-server | 
| emr-4.1.0 | 1.0.0-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hive-metastore-server, hive-server, mysql-server | 
| emr-4.0.0 | 1.0.0-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hive-metastore-server, hive-server, mysql-server | 

# Notes de mise à jour de Hive par version
<a name="Hive-release-history-versions"></a>

**Topics**
+ [Amazon EMR 7.10.0 - Notes de mise à jour de Hive](Hive-release-history-7100.md)
+ [Amazon EMR 7.9.0 - Notes de mise à jour de Hive](Hive-release-history-790.md)
+ [Amazon EMR 7.8.0 - Notes de mise à jour de Hive](Hive-release-history-780.md)
+ [Amazon EMR 7.7.0 - Notes de mise à jour de Hive](Hive-release-history-770.md)
+ [Amazon EMR 7.6.0 - Notes de mise à jour de Hive](Hive-release-history-760.md)
+ [Amazon EMR 7.5.0 - Notes de mise à jour de Hive](Hive-release-history-750.md)
+ [Amazon EMR 7.4.0 - Notes de mise à jour de Hive](Hive-release-history-740.md)
+ [Amazon EMR 7.3.0 - Notes de mise à jour de Hive](Hive-release-history-730.md)
+ [Amazon EMR 7.2.0 - Notes de mise à jour de Hive](Hive-release-history-720.md)
+ [Amazon EMR 7.1.0 - Notes de mise à jour de Hive](Hive-release-history-710.md)
+ [Amazon EMR 7.0.0 - Notes de mise à jour de Hive](Hive-release-history-700.md)
+ [Amazon EMR 6.15.0 – Notes de mise à jour de Hive](Hive-release-history-6150.md)
+ [Amazon EMR 6.14.0 - Notes de mise à jour de Hive](Hive-release-history-6140.md)
+ [Amazon EMR 6.13.0 - Notes de mise à jour de Hive](Hive-release-history-6130.md)
+ [Amazon EMR 6.12.0 - Notes de mise à jour de Hive](Hive-release-history-6120.md)
+ [Amazon EMR 6.11.0 - Notes de mise à jour de Hive](Hive-release-history-6110.md)
+ [Amazon EMR 6.10.0 - Notes de mise à jour de Hive](Hive-release-history-6100.md)
+ [Amazon EMR 6.9.0 - Notes de mise à jour de Hive](Hive-release-history-690.md)
+ [Amazon EMR 6.8.0 - Notes de mise à jour de Hive](Hive-release-history-680.md)
+ [Amazon EMR 6.7.0 - Notes de mise à jour de Hive](Hive-release-history-670.md)
+ [Amazon EMR 6.6.0 - Notes de mise à jour de Hive](Hive-release-history-660.md)

# Amazon EMR 7.10.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-7100"></a>

## Amazon EMR 7.10.0 - Changements apportés à Hive
<a name="Hive-release-history-changes-7100"></a>


****  

| Type | Description | 
| --- | --- | 
| Correctif de bogue. | Fixation latérale Hive pour [TEZ-4595](https://issues.apache.org/jira/browse/TEZ-4595). | 

**Problèmes connus**
+ AWS EMR d'EMR-7.10.0 utilise désormais S3A comme système de fichiers par défaut (en remplacement d'EMRFS), ce qui signifie que les opérations Hive ne créeront plus d'objets `_$folder$` marqueurs dans S3, et les fichiers manifestes intermédiaires utilisés dans les requêtes d'écriture Hive sont désormais stockés dans S3 par rapport au HDFS d'EMRFS. Pour les considérations relatives à l'utilisation de S3A, reportez-vous au [guide de migration](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-s3a-migrate.html).
+ Entre EMR-7.3.0 et EMR-7.10.0, un bogue lié à l'intégration de Hive Iceberg entraîne l'échec de la HBase création de tables dans Hive lorsque Glue Data Catalog est utilisé comme métastore. AWS Veuillez contacter l'équipe d' AWS assistance si vous rencontrez ce problème. 

# Amazon EMR 7.9.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-790"></a>

## Amazon EMR 7.9.0 - Changements concernant Hive
<a name="Hive-release-history-changes-790"></a>


****  

| Type | Description | 
| --- | --- | 
| Correctif de bogue. | Le Hive Blobstore Committer ne doit pas être utilisé si la table créée via CTAS est de type ACID. | 
| Correctif de bogue. | [HIVE-26096](https://issues.apache.org/jira/browse/HIVE-26096) : La sélection sur une MultiDelimitSerDe table à colonne unique lance AIOBE (\$13158). | 
| Upgrade | [https://issues.apache.org/jira/browse/HIVE-27877](https://issues.apache.org/jira/browse/HIVE-27877) | 

**Problèmes connus**
+ Pour les requêtes Hive Insert Overwrite avec Amazon S3 Express One Zone comme emplacement de sortie, définissez la configuration du site principal : sur. `fs.s3a.directory.operations.purge.uploads` `false`
+ Entre EMR-7.3.0 et EMR-7.10.0, un bogue lié à l'intégration de Hive Iceberg entraîne l'échec de la HBase création de tables dans Hive lorsque Glue Data Catalog est utilisé comme métastore. AWS Veuillez contacter l'équipe d' AWS assistance si vous rencontrez ce problème.

# Amazon EMR 7.8.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-780"></a>

## Amazon EMR 7.8.0 - Changements concernant Hive
<a name="Hive-release-history-changes-780"></a>


****  

| Type | Description | 
| --- | --- | 
| Correctif de bogue. | Corrige CVE-2024-23953 : Apache Hive : attaque chronométrée contre une signature dans LLAP. | 

**Problèmes connus**
+ Pour les requêtes Hive Insert Overwrite avec Amazon S3 Express One Zone comme emplacement de sortie, définissez la configuration du site principal : sur. `fs.s3a.directory.operations.purge.uploads` `false`

# Amazon EMR 7.7.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-770"></a>

## Amazon EMR 7.7.0 - Changements concernant Hive
<a name="Hive-release-history-changes-770"></a>


****  

| Type | Description | 
| --- | --- | 
| Correctif de bogue. | Corrige CVE-2024-29869 : Apache Hive : fichier d'informations d'identification créé avec des autorisations non restrictives. | 
| Correctif de bogue. |  SemanticException Corrige l'activation d'une politique de filtrage au niveau des lignes dans Apache Ran. | 
| Correctif de bogue. | Désactivez Tez Async Init RR lorsque LLAP ou ACID est activé. | 

**Problèmes connus**
+ Pour les requêtes Hive Insert Overwrite avec Amazon S3 Express One Zone comme emplacement de sortie, définissez la configuration du site principal : sur. `fs.s3a.directory.operations.purge.uploads` `false`

# Amazon EMR 7.6.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-760"></a>

## Amazon EMR 7.6.0 - Changements apportés à Hive
<a name="Hive-release-history-changes-760"></a>


****  

| Type | Description | 
| --- | --- | 
| Amélioration | Ajout d'une fonction de listage rapide des préfixes S3 pour les tables partitionnées ORC non ACID | 
| Fonctionnalité | Ajout du support pour les requêtes Magic Committers for Hive Write sur le système S3 AFile | 

**Problèmes connus**
+ Pour les requêtes Hive Insert Overwrite avec Amazon S3 Express One Zone comme emplacement de sortie, définissez la configuration du site principal : sur. `fs.s3a.directory.operations.purge.uploads` `false`

### Amazon EMR 7.6.0 - Nouvelles configurations
<a name="Hive-release-history-changes-760-new-configs"></a>


****  

| Classification | Nom | Par défaut | Description | 
| --- | --- | --- | --- | 
| hive-site | `hive.exec.fast.s3.partition.discovery.enabled` | true | S'il faut utiliser la découverte rapide des partitions S3 pour le calcul du fractionnement. Cela permettra d'obtenir une liste basée sur des préfixes pour les formats de fichiers pris en charge : ORC. Notez que cette fonctionnalité utilise un paramètre d'API S3 que la classe de stockage S3 Express One Zone ne prend pas en charge. Lorsque vous les utilisez, désactivez cette fonctionnalité. | 
| hive-site | `hive.exec.fast.s3.partition.discovery.max.thread.threshold` | 128 | Le degré de parallélisme maximal pour une découverte rapide des partitions S3. | 
| hive-site | `hive.exec.fast.s3.partition.discovery.parallelism` | 10 | Degré de parallélisme d'une seule opération de découverte rapide de partitions S3. Cette configuration n'a d'effet que si elle `hive.exec.fast.s3.partition.discovery.enabled` est définie sur `true` | 
| hive-site | `hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` | true | Drapeau pour activer Magic Committer with Hive devrait-il suivre tous les validations en attente en mémoire ? Le validateur Magic dispose d'une option permettant de stocker les données de validation en mémoire, ce qui peut accélérer l' TaskCommit opération en effectuant moins d'appels S3. Cette configuration remplace la configuration Hadoop `fs.s3a.committer.magic.track.commits.in.memory.enabled` | 
| hive-site | `hive.blobstore.output-committer.dp.skip.task.staging.dir.creation` | true | Drapeau pour activer Magic Committer doit-il créer les chemins de mise en scène DP dans le blobstore ? Cet indicateur n'est applicable que lors du suivi des validations en mémoire lorsque Hive utilise Magic Committer via. `hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` Par défaut, il est défini sur true mais il ne prend effet que s'il `hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` est activé et enregistre des appels S3 supplémentaires pour créer des chemins de tentative de tâche dans le blobstore. | 
| hive-site | `hive.blobstore.output-committer.magic.disable.fs.cache.for.llap` | true | Indicateur permettant d'activer si les caches Blobstore FS doivent être désactivés dans les flux d'écriture pour LLAP lors de l'utilisation de Magic Committer. Ce drapeau apparaît lorsque LLAP est activé et est défini par défaut sur true. | 

# Amazon EMR 7.5.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-750"></a>

## Amazon EMR 7.5.0 - Changements concernant Hive
<a name="Hive-release-history-changes-750"></a>


****  

| Type | Description | 
| --- | --- | 
| Amélioration | Le temps maximum d'attente pour l'ouverture de la session Tez pendant que vous essayez d'utiliser la session existante dans HiveCLI a été augmenté à 10 secondes | 
| Amélioration | Configurations optimisées pour améliorer les performances dans les requêtes de sélection simples avec LIMIT | 

# Amazon EMR 7.4.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-740"></a>

## Amazon EMR 7.4.0 - Changements concernant Hive
<a name="Hive-release-history-changes-740"></a>


****  

| Type | Description | 
| --- | --- | 
| Upgrade | [HIVE-28191](https://issues.apache.org/jira/browse/HIVE-28191) : mise à niveau de la version Hadoop vers la version 3.4.0 | 
| Upgrade |  Mettre à jour le protobuf partagé de Hadoop vers la version 3.21 | 
| Upgrade | Mettre à jour commons-cli vers la version 1.5.0 | 
| Upgrade | Mettre à jour commons-compress vers la version 1.24.0 | 
| Upgrade | Mettre à jour commons-io vers la version 2.14.0 | 
| Upgrade | Mettre à jour commons-lang3 vers la version 3.21.0 | 
| Amélioration | Changez le temps d'attente pour l'ouverture de la session Tez tout en essayant d'utiliser la session existante dans HiveCLI à 10 secondes | 
| Amélioration | Activez le mécanisme de court-circuit dans Tez DAG pour des requêtes de sélection simples avec LIMIT | 
| Amélioration | [HIVE-21100](https://issues.apache.org/jira/browse/HIVE-21100) : Autoriser l'aplatissement des sous-répertoires de table résultant de l'utilisation du moteur TEZ et de la clause UNION | 
| Correctif de bogue. | [HIVE-25095](https://issues.apache.org/jira/browse/HIVE-25095) : la commande Beeline/hive -e ne peut pas traiter une requête avec un guillemet | 
| Correctif de bogue. | [HIVE-13781 :](https://issues.apache.org/jira/browse/HIVE-13781) Le Tez Job a échoué FileNotFoundException lorsque le répertoire de partition n'existe pas  | 
| Correctif de bogue. | [HIVE-28480](https://issues.apache.org/jira/browse/HIVE-28480) : Désactiver l'incompatibilité du générateur de hachage SMB sur une partition entre les branches de jointure dans les versions précédentes de RS | 

### Amazon EMR 7.4.0 - Nouvelles configurations
<a name="Hive-release-history-changes-740-new-configs"></a>


****  

| Classification | Nom | Par défaut | Description | 
| --- | --- | --- | --- | 
| hive-site | hive.ignore.failure.partition.dir .not.found | false | Ignore l'échec si la partition de table existe mais que le chemin de stockage réel de l'objet n'existe pas. | 
| hive-site | sous-répertoires hive.tez.union.flatten.subdirectories | false | Lorsque vous écrivez des données dans une table et que UNION ALL est la dernière étape de la requête, Hive on Tez crée un sous-répertoire pour chaque branche de UNION ALL. Lorsque cette propriété est activée, les sous-répertoires sont supprimés, les fichiers sont renommés et déplacés vers le répertoire parent. Notez que cela n'a aucun effet lorsque hive.blobstore.use.output-committer est activé. | 

# Amazon EMR 7.3.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-730"></a>

## Amazon EMR 7.3.0 - Changements concernant Hive
<a name="Hive-release-history-changes-730"></a>


****  

| Type | Description | 
| --- | --- | 
| Fonctionnalité | [HIVE-18728](https://issues.apache.org/jira/browse/HIVE-18728) — Web HCat sécurisé avec SSL. | 
| Amélioration | Support de configuration des informations d'identification du keystore SSL pour l'interface utilisateur Web du démon LLAP. | 
| Amélioration | Fournissez une option permettant de contrôler la vérification du nom d'hôte SSL pour le serveur de métastore Hive. | 
| Correctif de bogue. | [HIVE-26541](https://issues.apache.org/jira/browse/HIVE-26541) — NPE lors du démarrage du service Web. HCat  | 
| Correctif de bogue. | [HIVE-23011](https://issues.apache.org/jira/browse/HIVE-23011) — L'optimiseur de travail partagé doit vérifier les prédicats résiduels lors de la comparaison des jointures. | 
| Correctif de bogue. | Corrigez **javax.security.sasl. SaslException**: Aucune couche de protection commune entre le client et le serveur entre HMS et Namenode lorsque le chiffrement en transit est activé. | 
| Correctif de bogue. | Corrigez l'**IOException**endroit où la fin de la division des orcs se chevauche avec le début de l'emplacement d'un bloc. | 
| Correctif de bogue. | Utilisez un délimiteur de nom de colonne au lieu de toujours le diviser par virgule lorsque les noms de colonne contiennent une virgule et d'utiliser. CSVSerde | 

### Amazon EMR 7.3.0 - Nouvelles configurations
<a name="Hive-release-history-changes-730-new-configs"></a>


****  

| Classification | Nom | Par défaut | Description | 
| --- | --- | --- | --- | 
| hcatalog-webhcat-site | templeton.use.ssl | false | Définissez ce paramètre sur true pour utiliser le cryptage SSL pour le HCat serveur Web. | 
| hcatalog-webhcat-site | templeton.keystore.path |  | Emplacement du keystore des certificats SSL pour le HCat serveur Web. | 
| hcatalog-webhcat-site | templeton.keystore.password |  | Mot de passe du keystore du certificat SSL pour le HCat serveur Web. | 
| hcatalog-webhcat-site | templeton.ssl.protocol.blacklist | SSLv2, SSLv3 | Versions SSL à désactiver pour le HCat serveur Web. | 
| hcatalog-webhcat-site | templeton.host | 0.0.0.0 | Adresse de l'hôte que le HCat serveur Web écoutera. | 
| hive-site | hive.metastore.ssl.enable.hostname.verification | false | Contrôlez la vérification du nom d'hôte lors de la prise de SSL/TLS contact. | 
| hive-site | hive.llap.daemon.web.ssl.keystore.path |  | Emplacement du keystore du certificat SSL pour l'interface utilisateur Web du démon LLAP. | 
| hive-site | hive.llap.daemon.web.ssl.keystore.password |  | Mot de passe du keystore du certificat SSL pour l'interface utilisateur Web du démon LLAP. | 
| hive-site | hive.metastore.hadoop.rpc.protection.override .to.authentication | false | Lorsqu'il est activé, HMS remplace toujours la valeur de hadoop.rpc.protection pour l'authentification dans son ensemble de configurations. | 

# Amazon EMR 7.2.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-720"></a>

## Amazon EMR 7.2.0 - Changements concernant Hive
<a name="Hive-release-history-changes-720"></a>


****  

| Type | Description | 
| --- | --- | 
| Upgrade | [Parquet 1.13.1](https://github.com/apache/parquet-java/blob/apache-parquet-1.13.1/CHANGES.md) — Le parquet est mis à niveau vers la version 113.1. | 
| Amélioration | [HIVE-12930 —](https://issues.apache.org/jira/browse/HIVE-12930) Support du shuffle SSL pour LLAP. | 
| Amélioration | [HIVE-23062](https://issues.apache.org/jira/browse/HIVE-23062) — Hive va vérifier l'URL de Yarn RM en mode TLS et Yarn HA pour une file d'attente Tez personnalisée. | 
| Correctif de bogue. | [HIVE-27952](https://issues.apache.org/jira/browse/HIVE-27952) — Hive ne parvient pas à créer SslContextFactory lorsqu'il possède plusieurs certificats. KeyStore  | 
| Correctif de bogue. | [HIVE-28085 — Impossible](https://issues.apache.org/jira/browse/HIVE-28085) d'accéder YarnQueueHelper à YARN compatible HTTPS. WebService | 
| Correctif de bogue. | [HIVE-26436](https://issues.apache.org/jira/browse/HIVE-26436) — Hive on MR NullPointerException lorsque InitializeOp n'a pas été appelé et que close a été appelé. Si l'opérateur n'a pas été initialisé, ignorez la fermeture. | 

### Amazon EMR 7.2.0 - Nouvelles configurations
<a name="Hive-release-history-changes-720-new-configs"></a>


****  

| Classification | Nom | Par défaut | Description | 
| --- | --- | --- | --- | 
| hive-site | hive.llap.shuffle.ssl.enabled | false | Définissez ce paramètre sur true avec *tez.runtime.shuffle.ssl.enable pour activer le shuffle SSL pour LLAP.* | 

# Amazon EMR 7.1.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-710"></a>

## Amazon EMR 7.1.0 - Changements concernant Hive
<a name="Hive-release-history-changes-6150"></a>


****  

| Type | Description | 
| --- | --- | 
| Correctif de bogue. | [HIVE-24381](https://issues.apache.org/jira/browse/HIVE-24381) — La saisie de texte compressé renvoie 0 ligne si l'option Skip header/footer est incluse. | 
| Correctif de bogue. | [HIVE-24190](https://issues.apache.org/jira/browse/HIVE-24190) — LLAP : ShuffleHandler peut renvoyer DISK\$1ERROR\$1EXCEPTION conformément à TEZ-4233. | 
| Correctif de bogue. | [HIVE-23073](https://issues.apache.org/jira/browse/HIVE-23073) — Shade Netty. | 
| Correctif de bogue. | [HIVE-23073](https://issues.apache.org/jira/browse/HIVE-23073) — Shade Netty et passe à Netty 4.1.48.Final. | 
| Correctif de bogue. | [HIVE-23148](https://issues.apache.org/jira/browse/HIVE-23148) — Le flux de clients externes Llap est interrompu à cause du netty shading. | 
| Correctif de bogue. | [HIVE-25180](https://issues.apache.org/jira/browse/HIVE-25180) — Améliore Netty. | 
| Correctif de bogue. | [HIVE-24524](https://issues.apache.org/jira/browse/HIVE-24524) — LLAP ShuffleHandler : passez à Netty4 et supprimez la dépendance Netty3 de Hive dans la mesure du possible. | 
| Correctif de bogue. | [HIVE-28000](https://issues.apache.org/jira/browse/HIVE-28000) — Hive QL : la clause « not in » donne des résultats incorrects lorsque la coercition de type ne peut pas avoir lieu. | 
| Correctif de bogue. | [HIVE-27993](https://issues.apache.org/jira/browse/HIVE-27993) — Netty4 ShuffleHandler doit utiliser 1 thread de boss. | 
| Upgrade | Met à jour Netty vers la version 4.1.100.Final | 
| Upgrade | Améliore Jetty vers la version 9.4.53.v20231009 | 
| Upgrade | Améliore Zookeeper vers la version 3.9.1 | 

## Amazon EMR 7.1.0 - Changements concernant Hive
<a name="emr-Hive-710-issues"></a>
+ Amazon EMR 7.1 met à niveau Hive vers Netty 4.1.100.Final afin de résoudre les failles de sécurité de Netty3. Comme il dépend de netty3, Hive n' hive-druid-handlera pas le fichier `hive-druid-handler` JAR dans le chemin de classe de Hive dans Amazon EMR 7.1. Une prochaine version d'Amazon EMR l'inclura dans le classpath de Hive une fois que le gestionnaire Druid sera compatible avec les versions 4.1.100.Final ou ultérieures de Netty. Contactez l' AWS assistance si vous avez besoin du fichier `hive-druid-handler` JAR dans les versions 7.1 ou supérieures d'Amazon EMR.

# Amazon EMR 7.0.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-700"></a>

## Amazon EMR 7.0.0 - Changements concernant Hive
<a name="Hive-release-history-changes-700"></a>


****  

| Type | Description | 
| --- | --- | 
| Upgrade | Hive Runtime utilise désormais Java 17 par défaut. Reportez-vous au [guide de mise à jour d'EMR 7.0.0](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-700-release.html) pour plus de détails. | 
| Rétroportage | [HIVE-17709](https://issues.apache.org/jira/browse/HIVE-17709) : supprimer les références Sun.Misc.Cleaner | 
| Correctif de bogue. | Désactiver Tez Async Init RR lorsque LLAP ou ACID est activé  | 

# Amazon EMR 6.15.0 – Notes de mise à jour de Hive
<a name="Hive-release-history-6150"></a>

## Amazon EMR 6.15.0 – Changements concernant Hive
<a name="Hive-release-history-changes-6150"></a>


****  

| Type | Description | 
| --- | --- | 
| Fonctionnalité | Prise en charge pour [TEZ-4397](https://issues.apache.org/jira/browse/TEZ-4397) – Pour l’ouverture fractionnée asynchrone Tez, Hive prend désormais en charge les configurations Tez décrites dans la rubrique [Ouverture fractionnée asynchrone Tez](tez-configure.md#tez-configure-async). | 
| Correctif de bogue | [HIVE-25400](https://issues.apache.org/jira/browse/HIVE-25400) – Déplace la mise à jour du décalage dans `BytesColumnVector` vers `setValPreallocated`. | 
| Correctif de bogue | [HIVE-25190](https://issues.apache.org/jira/browse/HIVE-25190) – Corrige de nombreuses petites allocations dans `BytesColumnVector`. | 
| Correctif de bogue. | Empaqueter des modules netty avec le serveur llap pour éviter les *NoClassDefFound*exceptions lors du démarrage de *LLapDaemon* sur des nœuds de travail. | 
| Upgrade | Permet de mettre à niveau Apache Hadoop vers la version 3.3.6. | 
| Upgrade | [HIVE-26684](https://issues.apache.org/jira/browse/HIVE-26684) – Mise à niveau de `maven-shade-plugin` vers la version 3.4.1. | 
| Amélioration | Pour accélérer le démarrage du cluster Amazon EMR, réduisez le délai d’inactivité du script de démarrage HCatalog de 15 secondes. | 

# Amazon EMR 6.14.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-6140"></a>

## Amazon EMR 6.14.0 - Changements concernant Hive
<a name="Hive-release-history-changes-6140"></a>


****  

| Type | Description | 
| --- | --- | 
|  Amélioration  |  [HIVE-26762](https://issues.apache.org/jira/browse/HIVE-26762) : suppression de l'élagage des opérandes dans `HiveFilterSetOpTransposeRule` | 
|  Correctif de bogue  |  [HIVE-27582](https://issues.apache.org/jira/browse/HIVE-27582) : Ne pas mettre en cache HBase le format d'entrée de la table dans FetchOperator | 
|  Correctif de bogue  |  [HIVE-26452](https://issues.apache.org/jira/browse/HIVE-26452) : NPE lors de la conversion de JOIN en MAPJOIN et colonne JOIN référencée plusieurs fois | 
|  Correctif de bogue  |  [HIVE-26416](https://issues.apache.org/jira/browse/HIVE-26416) : `AcidUtils.isRawFormatFile()` lance `InvalidProtocolBufferException` pour le fichier non-ORC  | 
|  Correctif de bogue  |  [HIVE-26105](https://issues.apache.org/jira/browse/HIVE-26105) : **Afficher les colonnes** affiche des valeurs supplémentaires si la colonne **Commentaires** contient un caractère chinois spécifique  | 
|  Correctif de bogue  |  [HIVE-25864](https://issues.apache.org/jira/browse/HIVE-25864) : l'optimisation des requêtes Hive crée un plan erroné pour le transfert des prédicats avec fonction de fenêtrage  | 
|  Correctif de bogue  |  [HIVE-25224](https://issues.apache.org/jira/browse/HIVE-25224) : plusieurs instructions INSERT impliquant des tables avec différentes `bucketing_versions` renvoient des messages d'erreur | 
|  Correctif de bogue  |  [HIVE-24151](https://issues.apache.org/jira/browse/HIVE-24151) : `MultiDelimitSerDe` déplace les données si les chaînes contiennent des caractères non-ASCII | 
|  Correctif de bogue  |  [HIVE-23606](https://issues.apache.org/jira/browse/HIVE-23606) : (LLAP) retard dans le nettoyage de `DirectByteBuffer` pour `EncodedReaderImpl` | 
|  Correctif de bogue  |  [HIVE-22165](https://issues.apache.org/jira/browse/HIVE-22165) : la synchronisation introduite par [HIVE-14296](https://issues.apache.org/jira/browse/HIVE-14296) sur `SessionManager.closeSession` entraîne une latence élevée sur un serveur Hive très fréquenté  | 
|  Correctif de bogue  |  [HIVE-21304](https://issues.apache.org/jira/browse/HIVE-21304) : renforcement de l'utilisation de la version de compartimentation | 

# Amazon EMR 6.13.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-6130"></a>

## Amazon EMR 6.13.0 - Changements concernant Hive
<a name="Hive-release-history-changes-6130"></a>


****  

| Type | Description | 
| --- | --- | 
|  Amélioration  |  Mettre à niveau les scripts Python pour qu'ils prennent en charge Python3  | 
|  Amélioration  |  [HIVE-27097](https://issues.apache.org/jira/browse/HIVE-27097) : Améliorer la stratégie de nouvelle tentative pour le client et le serveur MetaStore   | 
|  Correctif de bogue.  |  [HIVE-21778](https://issues.apache.org/jira/browse/HIVE-21778) : CBO : « La structure n'est pas nulle » est considérée comme nulle, ce qui entraîne toujours l'absence de filtre dans la requête  | 
|  Correctif de bogue.  |  [HIVE-21009](https://issues.apache.org/jira/browse/HIVE-21009) : ajout de la possibilité pour l'utilisateur de définir un utilisateur de liaison  | 
|  Correctif de bogue.  |  [HIVE-22661](https://issues.apache.org/jira/browse/HIVE-22661) : le compactage échoue sur une table non compartimentée avec des données chargées dans le chemin  | 
|  Correctif de bogue.  |  [HIVE-19718](https://issues.apache.org/jira/browse/HIVE-19718) : l'ajout de partitions en masse permet également d'extraire une table pour chaque partition  | 
|  Correctif de bogue.  |  [HIVE-22173](https://issues.apache.org/jira/browse/HIVE-22173) : la requête avec plusieurs vues latérales se bloque pendant la compilation  | 
|  Correctif de bogue.  |  [HIVE-27088](https://issues.apache.org/jira/browse/HIVE-27088) : résultats incorrects lorsque les jointures internes et externes avec des filtres de post-jointure sont fusionnées  | 
|  Correctif de bogue.  |  [HIVE-21935](https://issues.apache.org/jira/browse/HIVE-21935) : vectorisation de Hive : performances dégradées avec la vectorisation UDF  | 
|  Correctif de bogue.  |  [HIVE-25299](https://issues.apache.org/jira/browse/HIVE-25299) : la conversion de l'horodatage en types de données numériques est incorrecte pour les fuseaux horaires autres que l'UTC  | 
|  Correctif de bogue.  |  [HIVE-24626](https://issues.apache.org/jira/browse/HIVE-24626) : LLAP : les fils de lecture peuvent être privés si tous les threads de l'ascenseur d'E/S sont occupés pour être mis en file d'attente vers un autre lecteur avec une file d'attente complète  | 
|  Correctif de bogue.  |  [HIVE-27029](https://issues.apache.org/jira/browse/HIVE-27029) : la requête hive échoue avec une erreur de fermeture du système de fichiers, refonte effectuée pour HIVE-26352  | 
|  Correctif de bogue.  |  [HIVE-26352](https://issues.apache.org/jira/browse/HIVE-26352) : la vérification de l'accès à la file d'attente Tez échoue avec une exception GSS lors du compactage  | 
|  Correctif de bogue.  |  [HIVE-24590](https://issues.apache.org/jira/browse/HIVE-24590) : la journalisation des opérations divulgue toujours les appendices log4j  | 
|  Correctif de bogue.  |  [HIVE-24552 : Possibilité](https://issues.apache.org/jira/browse/HIVE-24552) de fuite ou d'accumulation de connexions HMS dans loadDynamicPartitions  | 
|  Correctif de bogue.  |  [HIVE-27069](https://issues.apache.org/jira/browse/HIVE-27069) : résultats incorrects avec la jointure par mappage de compartiment  | 
|  Correctif de bogue.  |  [HIVE-27344](https://issues.apache.org/jira/browse/HIVE-27344) : Ajouter une vérification nulle dans \$1close RecordReaderImpl  | 
|  Correctif de bogue.  |  [HIVE-27439](https://issues.apache.org/jira/browse/HIVE-27439) : prise en charge de l'espace en décimal  | 
|  Correctif de bogue.  |  [HIVE-27267](https://issues.apache.org/jira/browse/HIVE-27267) : résultats incorrects lors de la jointure par mappage de compartiment sur une colonne décimale avec sous-requête  | 
|  Correctif de bogue.  |  [HIVE-21986](https://issues.apache.org/jira/browse/HIVE-21986) : Interface utilisateur HiveServer Web : définition de l'en-tête de réponse par Strict-Transport-Security défaut  | 
|  Correctif de bogue.  |  [HIVE-22148](https://issues.apache.org/jira/browse/HIVE-22148) : les jetons de délégation S3A ne sont pas ajoutés dans la configuration des tâches du compacteur.  | 
|  Correctif de bogue.  |  [HIVE-22622](https://issues.apache.org/jira/browse/HIVE-22622) : Hive permet de créer une structure avec des noms d'attributs dupliqués  | 
|  Correctif de bogue.  |  [HIVE-22008](https://issues.apache.org/jira/browse/HIVE-22008) : l'opérateur LIKE doit correspondre à une entrée multiligne  | 
|  Correctif de bogue.  |  [HIVE-23144](https://issues.apache.org/jira/browse/HIVE-23144) : LLAP : Laisse le nettoyage sur ServiceStop QueryTracker   | 
|  Correctif de bogue.  |  [HIVE-22391](https://issues.apache.org/jira/browse/HIVE-22391) : NPE lors de la vérification du cache des résultats des requêtes Hive  | 
|  Correctif de bogue.  |  [HIVE-23305](https://issues.apache.org/jira/browse/HIVE-23305) : NullPointerException dans LlapTaskSchedulerService AddNode en raison des conditions de course  | 
|  Correctif de bogue.  |  [HIVE-22178](https://issues.apache.org/jira/browse/HIVE-22178) : Parquet jeté après FilterPredicate CastException SchemaEvolution  | 
|  Correctif de bogue.  |  [HIVE-21517](https://issues.apache.org/jira/browse/HIVE-21517) : Corriger AggregateStatsCache  | 
|  Correctif de bogue.  |  [HIVE-21825](https://issues.apache.org/jira/browse/HIVE-21825) : Améliore le message d'erreur du client lorsque HA est activé Active/Passive   | 
|  Correctif de bogue.  |  [HIVE-23389 : FilterMergeRule peut conduire](https://issues.apache.org/jira/browse/HIVE-23389) à AssertionError  | 
|  Correctif de bogue.  |  [HIVE-22767](https://issues.apache.org/jira/browse/HIVE-22767) : Beeline n'analyse pas correctement les points-virgules dans les commentaires  | 
|  Correctif de bogue.  |  [HIVE-22996](https://issues.apache.org/jira/browse/HIVE-22996) : l' BasicStats analyse doit vérifier de manière proactive la présence d'une chaîne nulle ou vide  | 
|  Correctif de bogue.  |  [HIVE-22808 : ne gère](https://issues.apache.org/jira/browse/HIVE-22808) pas HiveRelFieldTrimmer HiveTableFunctionScan  | 
|  Correctif de bogue.  |  [HIVE-22437](https://issues.apache.org/jira/browse/HIVE-22437) : le cache de métadonnées LLAP NPE lors du verrouillage des métadonnées.  | 
|  Correctif de bogue.  |  [HIVE-22606](https://issues.apache.org/jira/browse/HIVE-22606) : AvroSerde enregistre avro.schema.literal au niveau INFO  | 
|  Correctif de bogue.  |  [HIVE-22713](https://issues.apache.org/jira/browse/HIVE-22713) : une propagation constante ne doit pas être effectuée pour la structure Join-Fil(\$1)-RS  | 
|  Correctif de bogue.  |  [HIVE-21624](https://issues.apache.org/jira/browse/HIVE-21624) : LLAP : les métriques du processeur au niveau du thread sont cassées  | 
|  Correctif de bogue.  |  [HIVE-22815](https://issues.apache.org/jira/browse/HIVE-22815) : réduisez la création inutile d'objets de système de fichiers dans MROutput  | 
|  Correctif de bogue.  |  [HIVE-23060](https://issues.apache.org/jira/browse/HIVE-23060) : échec de la requête avec erreur « Grouping sets expression is not in GROUP BY key. » Une erreur s'est produite à proximité du jeton »  | 
|  Correctif de bogue.  |  [HIVE-22236](https://issues.apache.org/jira/browse/HIVE-22236) : impossible de créer une vue en sélectionnant la vue contenant une sous-requête `NOT IN`  | 
|  Correctif de bogue.  |  [HIVE-19886](https://issues.apache.org/jira/browse/HIVE-19886) : Les journaux peuvent être dirigés vers 2 fichiers si -hiveconf hive.log.file est utilisé.  | 
|  Correctif de bogue.  |  [HIVE-20620](https://issues.apache.org/jira/browse/HIVE-20620) : collisions de manifest lors de l'insertion dans des tables MM triées par compartiments avec partitionnement dynamique  | 
|  Correctif de bogue.  |  [HIVE-14557](https://issues.apache.org/jira/browse/HIVE-14557) : Nullpointer lorsque Mapjoin et Mapjoin sont activés SkewJoin  | 
|  Correctif de bogue.  |  [HIVE-20471](https://issues.apache.org/jira/browse/HIVE-20471) : problèmes pour obtenir le chemin de base de données par défaut  | 
|  Correctif de bogue.  |  [HIVE-20598](https://issues.apache.org/jira/browse/HIVE-20598) : Corriger les fautes de frappe dans les calculs HiveAlgorithmsUtil  | 
|  Correctif de bogue.  |  [HIVE-14737](https://issues.apache.org/jira/browse/HIVE-14737) : problème lors de l'accès à /logs dans une interface utilisateur Web de Hive Server 2 activée pour Kerberos  | 
|  Correctif de bogue.  |  [HIVE-20733](https://issues.apache.org/jira/browse/HIVE-20733) : Le UDFOPEqual NS générique ne peut pas utiliser = dans les descriptions des plans  | 
|  Correctif de bogue.  |  [HIVE-20848](https://issues.apache.org/jira/browse/HIVE-20848) : Après la configuration, la UpdateInputAccessTimeHook requête échoue avec Table Not Found.  | 
|  Correctif de bogue.  |  [HIVE-18929](https://issues.apache.org/jira/browse/HIVE-18929) : La méthode humanReadableInt du HiveStringUtils fichier .java comporte une condition de race.  | 
|  Correctif de bogue.  |  [HIVE-20841](https://issues.apache.org/jira/browse/HIVE-20841) : LLAP : rendre les ports dynamiques configurables  | 
|  Correctif de bogue.  |  [HIVE-20930](https://issues.apache.org/jira/browse/HIVE-20930) : VectorCoalesce en mode FILTRE, cela ne prend pas effet  | 
|  Correctif de bogue.  |  [HIVE-21007](https://issues.apache.org/jira/browse/HIVE-21007) : Semi-join \$1 Union peut mener à de mauvais plans  | 
|  Correctif de bogue.  |  [HIVE-21074](https://issues.apache.org/jira/browse/HIVE-21074) : l'élimination des requêtes dans les tables compartimentées de Hive ne fonctionne pas pour la condition IS NOT NULL.  | 
|  Correctif de bogue.  |  [HIVE-21223](https://issues.apache.org/jira/browse/HIVE-21223) : CachedStore renvoie une partition nulle lorsque la partition n'existe pas  | 
|  Correctif de bogue.  |  [HIVE-19625](https://issues.apache.org/jira/browse/HIVE-19625) : NPE potentiel et masquage d'une exception réelle dans Hive\$1copyFiles  | 
|  Correctif de bogue.  |  [HIVE-17020](https://issues.apache.org/jira/browse/HIVE-17020) : Un dédup RS agressif peut supprimer de manière incorrecte une branche d'arbre OP  | 
|  Correctif de bogue.  |  [HIVE-20168 : Journalisation masquée](https://issues.apache.org/jira/browse/HIVE-20168) ReduceSinkOperator   | 
|  Correctif de bogue.  |  [HIVE-20879](https://issues.apache.org/jira/browse/HIVE-20879) : L'utilisation de null dans une expression de projection entraîne CastException  | 
|  Correctif de bogue.  |  [HIVE-20888](https://issues.apache.org/jira/browse/HIVE-20888) TxnHandler : sort () appelé sur des listes immuables  | 
|  Correctif de bogue.  |  [HIVE-19948](https://issues.apache.org/jira/browse/HIVE-19948) : HiveCli ne divise pas correctement la commande par point-virgule si des guillemets sont à l'intérieur de la chaîne  | 
|  Correctif de bogue.  |  [HIVE-20621](https://issues.apache.org/jira/browse/HIVE-20621) : GetOperationStatus appelé dans resultset.next provoquant une lenteur incrémentielle  | 
|  Correctif de bogue.  |  [HIVE-20854](https://issues.apache.org/jira/browse/HIVE-20854) : Valeurs par défaut raisonnables : l'intervalle de battement de cœur Zookeeper de Hive est de 20 minutes, passer à 2  | 
|  Correctif de bogue.  |  [HIVE-20330](https://issues.apache.org/jira/browse/HIVE-20330) : Le HCat chargeur ne peut pas gérer plusieurs InputJobInfo objets pour une tâche comportant plusieurs entrées  | 
|  Correctif de bogue.  |  [HIVE-20787](https://issues.apache.org/jira/browse/HIVE-20787) : Le boîtier MapJoinBytesTableContainer DummyRow ne gère pas la réutilisation  | 
|  Correctif de bogue.  |  [HIVE-20331](https://issues.apache.org/jira/browse/HIVE-20331) : la requête avec union all, lateral view et Join échoue avec « cannot find parent in the child operator »  | 
|  Correctif de bogue.  |  [HIVE-19968](https://issues.apache.org/jira/browse/HIVE-19968) : l'exception UDF n'est pas déclenchée  | 
|  Correctif de bogue.  |  [HIVE-20410](https://issues.apache.org/jira/browse/HIVE-20410) : l'annulation de l'insertion et de la réécriture sur la table transactionnelle provoque l'erreur « Not enough history available for… »  | 
|  Correctif de bogue.  |  [HIVE-20059](https://issues.apache.org/jira/browse/HIVE-20059) : le streaming Hive devrait essayer le préfixe shade sans condition, sauf exception  | 
|  Correctif de bogue.  |  [HIVE-19424](https://issues.apache.org/jira/browse/HIVE-19424) : Entrée NPE MetaDataFormatters  | 
|  Correctif de bogue.  |  [HIVE-20355](https://issues.apache.org/jira/browse/HIVE-20355) : Paramètre de nettoyage de .setSchema HiveConnection  | 
|  Correctif de bogue.  |  [HIVE-20858](https://issues.apache.org/jira/browse/HIVE-20858) : Le sérialiseur n'est pas correctement initialisé avec la configuration dans Utilities. createEmptyBuckets  | 
|  Correctif de bogue.  |  [HIVE-20424](https://issues.apache.org/jira/browse/HIVE-20424) : schematool ne doit pas polluer l'historique de Beeline  | 
|  Correctif de bogue.  |  [HIVE-20338](https://issues.apache.org/jira/browse/HIVE-20338) : LLAP : identifiant de fichier synthétique forcé pour les systèmes de fichiers dotés du protocole HDFS avec une sémantique de mutation POSIX  | 
|  Correctif de bogue.  |  [HIVE-11708](https://issues.apache.org/jira/browse/HIVE-11708) : Les opérateurs logiques se déclenchent avec NULL ClassCastExceptions   | 
|  Correctif de bogue.  |  [HIVE-21082](https://issues.apache.org/jira/browse/HIVE-21082) : dans HPL/SQL, l'instruction declare ne prend pas en charge les variables de type caractère  | 
|  Correctif de bogue.  |  [HIVE-16690](https://issues.apache.org/jira/browse/HIVE-16690) : configuration de la limite du produit cartésien Tez en fonction de la taille du cluster LLAP  | 
|  Correctif de bogue.  |  [HIVE-14516 :](https://issues.apache.org/jira/browse/HIVE-14516). OrcInputFormat SplitGenerator. Appel interne  | 
|  Correctif de bogue.  |  [HIVE-20981](https://issues.apache.org/jira/browse/HIVE-20981) : streaming/fuites AbstractRecordWriter HeapMemoryMonitor  | 
|  Correctif de bogue.  |  [HIVE-20043](https://issues.apache.org/jira/browse/HIVE-20043) : HiveServer 2 : SessionState possède un bloc de synchronisation statique autour d'un AtomicBoolean  | 
|  Correctif de bogue.  |  [HIVE-20191](https://issues.apache.org/jira/browse/HIVE-20191) : l'application du PreCommit correctif n'échoue pas si le correctif est vide  | 
|  Correctif de bogue.  |  [HIVE-20400](https://issues.apache.org/jira/browse/HIVE-20400) : la création d'une table doit toujours utiliser un chemin entièrement qualifié pour éviter toute ambiguïté potentielle avec FS  | 
|  Correctif de bogue.  |  Ajoutez une vérification nulle pour skewedInfo avant d'accéder aux colonnes asymétriques  | 

# Amazon EMR 6.12.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-6120"></a>

## Amazon EMR 6.12.0 - Changements concernant Hive
<a name="Hive-release-history-changes-6120"></a>


****  

| Type | Description | 
| --- | --- | 
| Amélioration | Ajout de la prise en charge de l'exécution JDK 11 et JDK 17 | 
| Amélioration | Ajoutez la possibilité de demander des noms de colonnes de mots clés réservés et sensibles aux majuscules lors de l'utilisation de S3 Select. Pour l'utiliser, définissez la propriété de la table au format « s3select.column.mapping » = "column1:fieldName1, column2:fieldName2,..." | 
| Amélioration | [HIVE-23133](https://issues.apache.org/jira/browse/HIVE-23133) : les opérations numériques peuvent avoir des résultats différents selon les architectures matérielles | 
| Amélioration | [HIVE-27145](https://issues.apache.org/jira/browse/HIVE-27145) : À utiliser StrictMath pour les fonctions mathématiques restantes en tant que suivi de HIVE-23133 | 
| Correctif de bogue. | [Correction de l'incompatibilité des caractères génériques dans get\$1partitions\$1by\$1filter et get\$1num\$1partitions\$1by\$1filter HMS causée par le portage du HIVE-22900 dans EMR Hive 6.4.0 APIs ](https://issues.apache.org/jira/browse/HIVE-22900) | 
| Correctif de bogue. | [HIVE-26736](https://issues.apache.org/jira/browse/HIVE-26736) : échec de l'autorisation pour les vues imbriquées comportant une clause WITH | 
| Correctif de bogue. | [HIVE-22416](https://issues.apache.org/jira/browse/HIVE-22416) : les journaux des opérations liés à MR sont manquants lorsque l'exécution parallèle est activée | 
| Correctif de bogue. | [HIVE-19653](https://issues.apache.org/jira/browse/HIVE-19653) : pushdown de prédicat incorrect pour groupby avec des ensembles de regroupement | 
| Correctif de bogue. | [HIVE-22094](https://issues.apache.org/jira/browse/HIVE-22094) : échec des requêtes avec ClassCastException : hive.ql.exec.vector. DecimalColumnVectorne peut pas être converti en Hive.QL.Exec.Vector.Decimal64 ColumnVector | 
| Correctif de bogue. | [HIVE-26340](https://issues.apache.org/jira/browse/HIVE-26340) : l'opérateur PTF vectorisé échoue si la requête comporte une fonction window en majuscules | 
| Correctif de bogue. | [HIVE-26184](https://issues.apache.org/jira/browse/HIVE-26184) : COLLECT\$1SET avec GROUP BY est très lent lorsque certaines clés sont très asymétriques | 
| Correctif de bogue. | [HIVE-26373](https://issues.apache.org/jira/browse/HIVE-26373) : ClassCastException lors de la lecture des horodatages d'une table contenant des données Avro HBase  | 
| Correctif de bogue. | [HIVE-26388](https://issues.apache.org/jira/browse/HIVE-26388) : ClassCastException lorsqu'il y a une colonne autre que de type chaîne dans la table source de la requête CTAS Upgrade [HIVE-26172 : Hive - Upgrade Ant vers la version 1.10.11 en raison de CVE-2021-36373](https://issues.apache.org/jira/browse/HIVE-26172) et CVE-2021-36374 | 
| Correctif de bogue. | [HIVE-26114](https://issues.apache.org/jira/browse/HIVE-26114) : corriger la connexion jdbc (hiveserver2) en utilisant la commande dfs avec un espace de préfixe provoquera une exception | 
| Correctif de bogue. | [HIVE-26396](https://issues.apache.org/jira/browse/HIVE-26396) : la fonction trunc a un problème d'interception de précision et le résultat a de nombreux 0 | 
| Correctif de bogue. | [HIVE-26446](https://issues.apache.org/jira/browse/HIVE-26446) : Impossible de renseigner le champ HiveProtoLoggingHook pour les tables partitionnées. TablesWritten  | 
| Correctif de bogue. | [HIVE-26639](https://issues.apache.org/jira/browse/HIVE-26639) : ConstantVectorExpression et ExplainTask ne devrait pas s'appuyer sur le jeu de caractères par défaut | 
| Correctif de bogue. | [HIVE-22670](https://issues.apache.org/jira/browse/HIVE-22670) : ArrayIndexOutOfBoundsException lorsqu'un lecteur vectorisé est utilisé pour lire un dossier de parquet | 
| Correctif de bogue. | [HIVE-23607](https://issues.apache.org/jira/browse/HIVE-23607) : Problème d'autorisation : la création d'une vue sur une autre vue réussit mais la modification de la vue échoue | 
| Correctif de bogue. | [HIVE-25498](https://issues.apache.org/jira/browse/HIVE-25498) : une requête comportant plus de 31 fonctions « count distinct » renvoie un résultat erroné | 
| Correctif de bogue. | [HIVE-25780](https://issues.apache.org/jira/browse/HIVE-25780) : DistinctExpansion crée plus de 64 ensembles de regroupement II | 
| Correctif de bogue. | [HIVE-23868](https://issues.apache.org/jira/browse/HIVE-23868) : Spécification de la fonction de fenêtrage : support 0 précédant/suivant | 
| Correctif de bogue. | [HIVE-24539](https://issues.apache.org/jira/browse/HIVE-24539) : la génération du OrcInputFormat schéma doit respecter le délimiteur de colonne | 
| Correctif de bogue. | [HIVE-23476](https://issues.apache.org/jira/browse/HIVE-23476) : LAP : préalloue également des arènes pour le cas de mmap | 
| Correctif de bogue. | [HIVE-25806](https://issues.apache.org/jira/browse/HIVE-25806) : Fuite possible LlapCacheAwareFs - Parquet, LLAP IO | 
| Correctif de bogue. | [HIVE-23498](https://issues.apache.org/jira/browse/HIVE-23498) : Désactiver la méthode HTTP Trace sur ThriftHttpCliService | 
| Correctif de bogue. | [HIVE-25729](https://issues.apache.org/jira/browse/HIVE-25729) : ThriftUnionObjectInspector doit être notifié lorsqu'il est complètement activé | 
| Correctif de bogue. | [HIVE-23846](https://issues.apache.org/jira/browse/HIVE-23846) : Évitez la sérialisation et la désérialisation inutiles des vecteurs de bits | 
| Correctif de bogue. | [HIVE-24233](https://issues.apache.org/jira/browse/HIVE-24233) : sauf que la sous-requête lance un pointeur nul avec cbo désactivé | 
| Correctif de bogue. | [HIVE-24276](https://issues.apache.org/jira/browse/HIVE-24276) : Vulnérabilité liée à HiveServer 2 scripts intersites (XSS) dans loggerconf jsp | 
| Correctif de bogue. | [HIVE-25721](https://issues.apache.org/jira/browse/HIVE-25721) : Le résultat de la jointure externe est erroné | 
| Correctif de bogue. | [HIVE-25223](https://issues.apache.org/jira/browse/HIVE-25223) : Sélectionner avec limite ne renvoie aucune ligne sur une table non native | 
| Correctif de bogue. | [HIVE-25794](https://issues.apache.org/jira/browse/HIVE-25794) : CombineHiveRecordReader : les instructions de log dans une boucle entraînent une pression sur la mémoire | 
| Correctif de bogue. | [HIVE-23602](https://issues.apache.org/jira/browse/HIVE-23602) : Utiliser le package Java simultané pour le set de descripteurs d'opérations | 
| Correctif de bogue. | [HIVE-24045](https://issues.apache.org/jira/browse/HIVE-24045) : Aucune journalisation liée à la création de la base de données par défaut | 
| Correctif de bogue. | [HIVE-24305](https://issues.apache.org/jira/browse/HIVE-24305) : Le schéma décimal avro ne se remplit pas correctement si la valeur est entre guillemets scale/precision  | 
| Correctif de bogue. | [HIVE-25040](https://issues.apache.org/jira/browse/HIVE-25040) : Supprimer la cascade de bases de données ne peut pas supprimer les fonctions persistantes | 
| Correctif de bogue. | [HIVE-23501](https://issues.apache.org/jira/browse/HIVE-23501) : AOOB VectorDeserializeRow lorsque les types complexes sont convertis en types primitifs | 
| Correctif de bogue. | [HIVE-23704](https://issues.apache.org/jira/browse/HIVE-23704) : Le serveur HTTP Thrift ne gère pas correctement le gestionnaire d'authentification | 
| Correctif de bogue. | [HIVE-23529](https://issues.apache.org/jira/browse/HIVE-23529) : Le CTAS est interrompu pour uniontype lorsque row\$1deserialize | 
| Correctif de bogue. | [HIVE-24144 : La](https://issues.apache.org/jira/browse/HIVE-24144) getIdentifierQuote chaîne renvoie une valeur incorrecte HiveDatabaseMetaData  | 
| Correctif de bogue. | [HIVE-23850](https://issues.apache.org/jira/browse/HIVE-23850) : Autoriser PPD lorsque le sujet n'est pas une colonne avec des ensembles de regroupement présents | 
| Correctif de bogue. | [HIVE-25919](https://issues.apache.org/jira/browse/HIVE-25919) : ClassCastException lorsque vous insérez un prédicat de colonne booléen HBase StorageHandler | 
| Correctif de bogue. | [HIVE-25261](https://issues.apache.org/jira/browse/HIVE-25261) : La nouvelle tentative HMSHandler devrait inclure une brève description MetaException de la cible | 
| Correctif de bogue. | [HIVE-24792](https://issues.apache.org/jira/browse/HIVE-24792) : Fuite de fil potentielle en cours d'exploitation | 
| Correctif de bogue. | [HIVE-23409](https://issues.apache.org/jira/browse/HIVE-23409) : Si la réouverture de TezSession l'application échoue en raison de la panne du service Timeline, le formulaire par défaut SessionPool est fermé TezSession après une nouvelle tentative | 
| Correctif de bogue. | [HIVE-23615](https://issues.apache.org/jira/browse/HIVE-23615) : Ne pas déférencer les pointeurs nuls dans la classe de commandes Beeline | 
| Correctif de bogue. | [HIVE-24849](https://issues.apache.org/jira/browse/HIVE-24849) : Création d'un délai d'expiration du socket de table externe lorsque l'emplacement contient un grand nombre de fichiers (affecte la version 3.1.2) | 
| Correctif de bogue. | [HIVE-25209](https://issues.apache.org/jira/browse/HIVE-25209) : Requête SELECT avec fonction SUM produisant un résultat inattendu | 
| Correctif de bogue. | [HIVE-23666](https://issues.apache.org/jira/browse/HIVE-23666) : checkHashMode L'efficacité est ignorée lorsqu'un opérateur groupby n'a pas d'ensemble de regroupement | 
| Correctif de bogue. | [HIVE-23873](https://issues.apache.org/jira/browse/HIVE-23873) : L'interrogation de la table Hive JDBCStorage Handler échoue avec NPE lorsque le CBO est désactivé | 
| Correctif de bogue. | [HIVE-24149](https://issues.apache.org/jira/browse/HIVE-24149) : HiveStreamingConnection ne ferme pas la connexion HMS | 
| Correctif de bogue. | [HIVE-25561](https://issues.apache.org/jira/browse/HIVE-25561) : La tâche supprimée ne doit pas valider le fichier. (affecte les versions 2.x et 3.x) | 
| Correctif de bogue. | [HIVE-25683](https://issues.apache.org/jira/browse/HIVE-25683) : Fermez le lecteur. AcidUtils isRawFormatDossier | 
| Correctif de bogue. | [HIVE-24294](https://issues.apache.org/jira/browse/HIVE-24294) : TezSessionPool les sessions peuvent être lancées AssertionError | 
| Correctif de bogue. | [HIVE-24182 : Problème](https://issues.apache.org/jira/browse/HIVE-24182) d'autorisation de ranger avec un permanent UDFs | 
| Correctif de bogue. | [HIVE-22805](https://issues.apache.org/jira/browse/HIVE-22805) : La vectorisation avec un tableau ou une map conditionnelle n'est pas implémentée et provoque une erreur | 
| Correctif de bogue. | [HIVE-22828](https://issues.apache.org/jira/browse/HIVE-22828) : Decimal64 : les instructions NVL et CASE convertissent implicitement decimal64 en 128 | 
| Correctif de bogue. | [HIVE-21398](https://issues.apache.org/jira/browse/HIVE-21398) : Les colonnes contenant des statistiques estimées ne doivent pas être considérées comme des clés uniques | 
| Correctif de bogue. | [HIVE-22490](https://issues.apache.org/jira/browse/HIVE-22490) : L'ajout de fichiers jar contenant des caractères spéciaux dans leur chemin génère une erreur | 
| Correctif de bogue. | [HIVE-22700](https://issues.apache.org/jira/browse/HIVE-22700) : Les compactages peuvent entraîner une fuite de mémoire lorsqu'ils ne sont pas autorisés | 
| Correctif de bogue. | [HIVE-22053](https://issues.apache.org/jira/browse/HIVE-22053) : Le nom de la fonction n'est pas normalisé lors de la création de la fonction | 
| Correctif de bogue. | [HIVE-22595](https://issues.apache.org/jira/browse/HIVE-22595) : Les insertions de partitions dynamiques échouent sur la table Avro avec schéma externe | 
| Correctif de bogue. | [HIVE-21795](https://issues.apache.org/jira/browse/HIVE-21795) : La ligne récapitulative du cumul peut être manquante lorsqu'un mapjoin se produit sur une table partitionnée | 
| Correctif de bogue. | [HIVE-22987](https://issues.apache.org/jira/browse/HIVE-22987) : ClassCastException dans when est nul VectorCoalesce DataTypePhysicalVariation  | 
| Correctif de bogue. | [HIVE-22219](https://issues.apache.org/jira/browse/HIVE-22219) : La désactivation d'un gestionnaire de nœuds bloque le redémarrage du service LLAP | 
| Correctif de bogue. | [HIVE-21793](https://issues.apache.org/jira/browse/HIVE-21793) : CBO récupère les statistiques des colonnes même si hive.stats.fetch.column.stats est défini sur false | 
| Correctif de bogue. | [HIVE-22163](https://issues.apache.org/jira/browse/HIVE-22163) : CBO : l'activation du CBO active l'estimation des statistiques, même lorsque l'estimation est désactivée | 
| Correctif de bogue. | [HIVE-18735](https://issues.apache.org/jira/browse/HIVE-18735) : Create table like perd l'attribut transactionnel | 
| Correctif de bogue. | [HIVE-22433 : Gestionnaire](https://issues.apache.org/jira/browse/HIVE-22433) de stockage Hive JDBC : résultats incorrects extraits de BOOLEAN et TIMESTAMP de la source de données JDBC DataType  | 
| Correctif de bogue. | [HIVE-19430](https://issues.apache.org/jira/browse/HIVE-19430) :. ObjectStore cleanNotificationEvents OutOfMemory sur un grand nombre d'événements en attente | 
| Correctif de bogue. | [HIVE-20785](https://issues.apache.org/jira/browse/HIVE-20785) : Nom de clé incorrect dans le JDBC. DatabaseMetaData getPrimaryKeys méthode | 
| Correctif de bogue. | [HIVE-16116](https://issues.apache.org/jira/browse/HIVE-16116) : Beeline lance un NPE lorsque beeline.hiveconfvariables=\$1\$1 dans beeline.properties | 
| Correctif de bogue. | [HIVE-20066](https://issues.apache.org/jira/browse/HIVE-20066) : hive.load.data.owner est comparé au principal complet | 
| Correctif de bogue. | [HIVE-20489](https://issues.apache.org/jira/browse/HIVE-20489) : Explain plan of query se bloque | 
| Correctif de bogue. | [HIVE-21033](https://issues.apache.org/jira/browse/HIVE-21033) : L'oubli de fermer l'opération coupe encore 2 sorties HiveServer | 
| Correctif de bogue. | [HIVE-19888](https://issues.apache.org/jira/browse/HIVE-19888) : Avertissement trompeur « METASTORE\$1FILTER\$1HOOK sera ignoré » de SessionState | 
| Correctif de bogue. | [HIVE-20303](https://issues.apache.org/jira/browse/HIVE-20303) : INSERT OVERWRITE TABLE db.table PARTITION (...) S'IL N'EXISTE PAS, lance InvalidTableException | 
| Correctif de bogue. | [HIVE-16144](https://issues.apache.org/jira/browse/HIVE-16144) : CompactionInfo n'existe pas equals/hashCode mais est utilisé dans Set | 
| Correctif de bogue. | [HIVE-20818](https://issues.apache.org/jira/browse/HIVE-20818) : Les vues créées avec une sous-requête WHERE considéreront les vues référencées dans la sous-requête comme une entrée directe | 
| Correctif de bogue. | [HIVE-21005 : LLAP : lecture](https://issues.apache.org/jira/browse/HIVE-21005) d'un plus grand nombre de bandes par fuite ZlibCodecs | 
| Correctif de bogue. | [HIVE-20771](https://issues.apache.org/jira/browse/HIVE-20771) : LazyBinarySerDe échoue sur les structures vides. | 
| Correctif de bogue. | [HIVE-18852](https://issues.apache.org/jira/browse/HIVE-18852) : Message d'erreur trompeur lors de la validation de la table modifiée | 
| Correctif de bogue. | [HIVE-21124](https://issues.apache.org/jira/browse/HIVE-21124) : HPL/SQL ne supporte pas l'instruction CREATE TABLE LIKE | 
| Correctif de bogue. | [HIVE-20935](https://issues.apache.org/jira/browse/HIVE-20935) : le chargement de l'archive tar du package LLAP échoue dans EC2, provoquant un échec du démarrage du service LLAP | 
| Correctif de bogue. | [HIVE-20409](https://issues.apache.org/jira/browse/HIVE-20409) : Hive ACID : Update/delete/merge ne nettoie pas le répertoire de mise en scène HDFS | 
| Correctif de bogue. | [HIVE-20570](https://issues.apache.org/jira/browse/HIVE-20570) : Union ALL avec hive.optimize.union.remove=true a un plan incorrect | 
| Correctif de bogue. | [HIVE-20421](https://issues.apache.org/jira/browse/HIVE-20421) : Entité de caractère « \$1b » illégale dans hive-default.xml.template | 
| Correctif de bogue. | [HIVE-19133 :](https://issues.apache.org/jira/browse/HIVE-19133) Les indicateurs de performance par phase de HS2 WebUI ne s'affichent pas correctement | 
| Correctif de bogue. | [HIVE-18977](https://issues.apache.org/jira/browse/HIVE-18977) : La liste des partitions renvoie des résultats différents avec JDO et Direct SQL | 
| Correctif de bogue. | [HIVE-20034](https://issues.apache.org/jira/browse/HIVE-20034) : Annuler les modifications apportées à la gestion des MetaStore exceptions à des fins de rétrocompatibilité | 
| Correctif de bogue. | [HIVE-20672](https://issues.apache.org/jira/browse/HIVE-20672) : Le thread de connexion LlapTaskSchedulerService doit signaler chaque intervalle fixe | 
| Correctif de bogue. | [HIVE-12812](https://issues.apache.org/jira/browse/HIVE-12812) : Activez mapred.input.dir.recursive par défaut pour prendre en charge l'union avec la fonction d'agrégation | 
| Correctif de bogue. | [HIVE-20147](https://issues.apache.org/jira/browse/HIVE-20147) : L'ingestion du streaming Hive est satisfaite de la journalisation synchronisée | 
| Correctif de bogue. | [HIVE-19203](https://issues.apache.org/jira/browse/HIVE-19203) : Problème de sécurité des threads dans HiveMetaStore | 
| Correctif de bogue. | [HIVE-20091](https://issues.apache.org/jira/browse/HIVE-20091) : Tez : ajouter des informations de sécurité pour la sortie FileSinkOperator  | 
| Correctif de bogue. | [HIVE-16906](https://issues.apache.org/jira/browse/HIVE-16906) : Hive ATSHook doit vérifier la présence de yarn.timeline-service.enabled avant de se connecter à ATS | 
| Correctif de bogue. | [HIVE-20714](https://issues.apache.org/jira/browse/HIVE-20714) : SHOW tblproperties pour une seule propriété renvoie la valeur dans la colonne du nom | 
| Correctif de bogue. | [HIVE-24730](https://issues.apache.org/jira/browse/HIVE-24730) : Les classes Shims remplacent silencieusement les valeurs de hive-site.xml et tez-site.xml | 
| Correctif de bogue. | [HIVE-22055](https://issues.apache.org/jira/browse/HIVE-22055) : le nombre sélectionné donne un résultat incorrect après le chargement des données depuis un fichier texte | 

# Amazon EMR 6.11.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-6110"></a>

## Amazon EMR 6.11.0 - Changements concernant Hive
<a name="Hive-release-history-changes-6110"></a>


****  

| Type | Description | 
| --- | --- | 
| Amélioration | Ajout de la prise en charge de la suppression multithread de partitions afin d'améliorer les performances de suppression de partitions | 
| Amélioration | Support de lecture des fichiers de requête Hive codés | 
| Amélioration | Gestionnaire Tez Shuffle activé par défaut pour les tâches Hive on Tez | 
| Bogue | Ajout d'une option pour activer la distribution déterministe des clés aux réducteurs afin de corriger un résultat incorrect lorsque hive.groupby.skewindata est activé (rapporté dans [HIVE-20220](https://issues.apache.org/jira/browse/HIVE-20220)) | 
| Bogue | Correction d'un échec du calcul des statistiques lorsque le nom de partition par défaut est configuré | 
| Bogue | Respectez tous les paramètres de classification SSL personnalisés transmis lorsque le protocole SSL est configuré prêt à l'emploi pour HiveServer 2 dans un cluster avec le chiffrement en transit activé | 
| Rétroportage | [HIVE-23617](https://issues.apache.org/jira/browse/HIVE-23617) : Problèmes d'API de stockage résolus FindBug | 
| Rétroportage |  [HIVE-26408](https://issues.apache.org/jira/browse/HIVE-26408) : Vectorisation : corrigez la désallocation des colonnes à gratter, ne réutilisez pas un enfant comme sortie ConstantVectorExpression  | 
| Rétroportage | [HIVE-23614 : Passez toujours à](https://issues.apache.org/jira/browse/HIVE-23614) HiveConfig removeTempOr DuplicateFiles | 
| Rétroportage | [HIVE-23354](https://issues.apache.org/jira/browse/HIVE-23354) : Supprimer la vérification de la taille du fichier dans compareTempOr DuplicateFiles | 
| Rétroportage | [HIVE-20344](https://issues.apache.org/jira/browse/HIVE-20344) : Corrigé PrivilegeSynchronizer pour le lancer de SBA. AccessControlException La propriété hive.privilege.synchronizer a également été introduite pour désactiver le synchronisateur de privilèges | 
| Rétroportage | [HIVE-15826 :](https://issues.apache.org/jira/browse/HIVE-15826) Support de la configuration de « serialization.encoding » pour tous SerDes | 
| Rétroportage | [HIVE-18284](https://issues.apache.org/jira/browse/HIVE-18284) : Corrige le NPE lors de l'insertion de données avec la clause « distribute by » avec optimisation du tri Dynpart | 
| Rétroportage | [HIVE-24930](https://issues.apache.org/jira/browse/HIVE-24930) : Le court-circuit Operator.setDone() provenant de l'opération enfant n'est pas utilisé dans le chemin de code vectorisé (si ChildSize == 1) | 
| Rétroportage | [HIVE-24523](https://issues.apache.org/jira/browse/HIVE-24523) : Le chemin de lecture vectorisé pour LazySimpleSerde ne respecte pas le SERDEPROPERTIES pour l'horodatage | 
| Rétroportage | [HIVE-23265](https://issues.apache.org/jira/browse/HIVE-23265) : Les ensembles de lignes dupliqués sont renvoyés avec les paramètres Limit et Offset définis | 
| Rétroportage | [HIVE-21492 : VectorizedParquetRecordReader impossible](https://issues.apache.org/jira/browse/HIVE-21492) de lire le fichier de parquet généré à l'aide d'un outil économique/personnalisé | 
| Rétroportage | [HIVE-22540](https://issues.apache.org/jira/browse/HIVE-22540) : Vectorisation : les colonnes Decimal64 ne fonctionnent pas avec. VectorizedBatchUtil makeLikeColumnVecteur () | 
| Rétroportage | [HIVE-22588](https://issues.apache.org/jira/browse/HIVE-22588) : Vider les lignes restantes pour le reste des ensembles de regroupement lors du changement de mode groupby vectoriel | 
| Rétroportage | [HIVE-22551](https://issues.apache.org/jira/browse/HIVE-22551) : BytesColumnVector InitBuffer doit nettoyer le vecteur et la longueur de manière cohérente | 
| Rétroportage | [HIVE-22448](https://issues.apache.org/jira/browse/HIVE-22448) : CBO : étendre le nombre multiple de manière distincte à l'aide d'une clé de regroupement | 
| Rétroportage | [HIVE-22248](https://issues.apache.org/jira/browse/HIVE-22248) : Corriger les problèmes persistants liés aux statistiques | 
| Rétroportage | [HIVE-22210](https://issues.apache.org/jira/browse/HIVE-22210) : La vectorisation peut réutiliser les colonnes de sortie de calcul impliquées dans le filtrage | 
| Rétroportage | [HIVE-21531](https://issues.apache.org/jira/browse/HIVE-21531) : Vectorisation : tous les hashcodes NULL ne sont pas calculés avec Murmur3 | 
| Rétroportage | [HIVE-20419](https://issues.apache.org/jira/browse/HIVE-20419) : Vectorisation : empêche la mutation de VectorPartitionDesc après son utilisation dans une clé de hachage | 
| Rétroportage | [HIVE-19388](https://issues.apache.org/jira/browse/HIVE-19388) : lors de l'initialisation ClassCastException VectorMapJoinCommonOperator  | 
| Rétroportage | [HIVE-21584](https://issues.apache.org/jira/browse/HIVE-21584) : Préparation à Java 11 : le chargeur de classe système n'est pas un chargeur URLClass | 
| Rétroportage | [HIVE-25107](https://issues.apache.org/jira/browse/HIVE-25107) : La journalisation des chemins de classe doit être au niveau DEBUG (\$12271) | 
| Rétroportage | [HIVE-22097](https://issues.apache.org/jira/browse/HIVE-22097) : java.util incompatible. ArrayListpour Java 11 | 
| Rétroportage | [HIVE-23938](https://issues.apache.org/jira/browse/HIVE-23938) : LLAP : JDK11 - certains arguments jvm liés à la rotation des fichiers journaux GC ne peuvent plus être utilisés | 
| Rétroportage | [HIVE-26226](https://issues.apache.org/jira/browse/HIVE-26226) : Exclure jdk.tools dep de hive-metastore dans upgrade-acid | 
| Rétroportage | [HIVE-17879](https://issues.apache.org/jira/browse/HIVE-17879) : mettre à jour le plug-in Datanucleus Maven | 
| Rétroportage | [HIVE-27004](https://issues.apache.org/jira/browse/HIVE-27004) : DateTimeFormatterBuilder \$1 appendZoneText ne peut pas analyser 'UTC\$1' dans les versions Java supérieures à 8 | 
| Rétroportage | [HIVE-16812](https://issues.apache.org/jira/browse/HIVE-16812) : VectorizedOrcAcidRowBatchReader ne filtre pas les événements de suppression | 
| Rétroportage | [RUCHE 17917](https://issues.apache.org/jira/browse/HIVE-17917) :. VectorizedOrcAcidRowBatchReader computeOffsetAndOptimisation du godet | 
| Rétroportage | [HIVE-19985](https://issues.apache.org/jira/browse/HIVE-19985) : ACID : ignore le décodage des sections ROW\$1\$1ID pour les requêtes en lecture seule | 
| Rétroportage | [HIVE-20635](https://issues.apache.org/jira/browse/HIVE-20635) : VectorizedOrcAcidRowBatchReader ne filtre pas les événements de suppression pour les fichiers originaux | 
| Upgrade | Mettre à niveau Javadoc vers 3.3.1 | 
| Upgrade | Mettre à niveau Javassist vers la version 3.24.1-GA | 
| Upgrade | Mise à jour apache-directory-server en 2.0.0-M14 | 

## Nouvelles configurations
<a name="Hive-release-history-changes-6110-new-configurations"></a>


****  

| Nom | Classification | Description | 
| --- | --- | --- | 
| hive.metastore.fs.drop.partition.threads | hive-site | Nombre de threads principaux dans le pool de threads de la partition de dépôt. | 
| hive.metastore.fs.drop.partition.keepalive.time | hive-site | Durée en secondes pendant laquelle un thread asynchrone de partition inactif (issu du pool de threads) attendra l'arrivée d'une nouvelle tâche avant de se terminer. | 
| hive.metastore.fs.drop.partition.threadpool.max.queue.size | hive-site | Taille de file d'attente maximale à utiliser dans le pool de threads pour supprimer des partitions du système de fichiers. | 
| hive.groupby.enable.deterministic.distribution | hive-site | Activez la distribution déterministe des clés aux réducteurs. Il transmettra une valeur initiale constante lors de l'appel de la fonction rand utilisée pour le partitionnement aléatoire. | 
| hive.privilege.synchronizer | hive-site | S'il faut synchroniser périodiquement les privilèges de l'autorisateur externe en HiveServer 2. | 
| hive.cli.query.file.encoding | hive-site | Codage de fichier pour tous les types de fichiers de requête (fichier de requête, fichier de requête d'initialisation, fichier rc, etc.) fournis dans les arguments cli. | 
| hive.emr.tez.shuffle.enabled | hive-site | Les jobs Hive on Tez utilisent désormais tez\$1shuffle par défaut au lieu de mapreduce\$1shuffle comme gestionnaire de shuffle par défaut. | 

## Configurations obsolètes
<a name="Hive-release-history-changes-6110-old-configurations"></a>

Les propriétés de configuration suivantes sont obsolètes en raison de [HIVE-23354](https://issues.apache.org/jira/browse/HIVE-23354) et ne sont plus prises en charge avec les versions 6.11.0 et ultérieures d'Amazon EMR.


| Nom | Valeur par défaut | 
| --- | --- | 
| `hive.mapred.reduce.tasks.speculative.execution` | `false` | 
| `tez.am.speculation.enabled` | `false` | 

# Amazon EMR 6.10.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-6100"></a>

## Amazon EMR 6.10.0 - Changements concernant Hive
<a name="Hive-release-history-changes-6100"></a>


****  

| Type | Description | 
| --- | --- | 
| Fonctionnalité | Activez les contrôles d'accès AWS Lake Formation basés pour les requêtes Apache Hive (écriture) [via IAM Passthrough (API Hivecli/Steps](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html)). | 
| Amélioration | Désactiver la configuration hive.log.explain.output par défaut pour réduire la taille du journal | 
| Rétroportage | [HIVE-26408](https://issues.apache.org/jira/browse/HIVE-26408) : Vectorisation : corrigez la désallocation des colonnes à gratter, ne réutilisez pas un enfant comme sortie ConstantVectorExpression  | 
| Rétroportage | [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) : Corrige le nombre de réducteurs erronés dans les requêtes d'insertion avec partition dynamique en raison de l'absence de statistiques causée par [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703). | 
| Rétroportage | [HIVE-22891](https://issues.apache.org/jira/browse/HIVE-22891) : Ignorer l' PartitionDesc extraction CombineHiveRecord pour le mode d'exécution non LLAP  | 
| Rétroportage | [HIVE-23804](https://issues.apache.org/jira/browse/HIVE-23804) : Ajouter une base de données par défaut pour les tables spécifiques aux statistiques des colonnes dans le schéma de métastore Hive pour les rendre rétrocompatibles | 
| Rétroportage | [HIVE-25277](https://issues.apache.org/jira/browse/HIVE-25277) : Suppression lente de la partition Hive pour les magasins d'objets Cloud, ce qui coûte cher ListFiles | 
| Rétroportage | [HIVE-19202](https://issues.apache.org/jira/browse/HIVE-19202) : Le CBO a échoué à cause d'un NullPointerException HiveAggregate isBucketedInput() | 
| Rétroportage | [HIVE-19048](https://issues.apache.org/jira/browse/HIVE-19048) : Fix Beeline : les erreurs Initscript sont ignorées | 
| Rétroportage | [HIVE-21085](https://issues.apache.org/jira/browse/HIVE-21085) : Le registre des vues matérialisées démarre une session tez non externe | 
| Rétroportage | [HIVE-21675](https://issues.apache.org/jira/browse/HIVE-21675) : CREATE VIEW IF NOT EXISTS renvoie une erreur plutôt que « OK » si la vue existe déjà. Il s'agit d'une régression par rapport à Hive 2.  | 
| Rétroportage | [HIVE-21646](https://issues.apache.org/jira/browse/HIVE-21646) : Tez : Empêche d'échapper au contexte TezTasks de journalisation des threads | 
| Rétroportage | [HIVE-22054](https://issues.apache.org/jira/browse/HIVE-22054) : Évitez les listes récursives pour vérifier si un répertoire est vide | 
| Rétroportage | [HIVE-16587](https://issues.apache.org/jira/browse/HIVE-16587) : NPE lors de l'insertion de types complexes avec des valeurs nulles imbriquées | 
| Rétroportage | [HIVE-22647](https://issues.apache.org/jira/browse/HIVE-22647) : Activer le pool de sessions par défaut | 
| Rétroportage | [HIVE-13288](https://issues.apache.org/jira/browse/HIVE-13288) : Message d'exception confus dans .LocalizeResource DagUtils | 
| Rétroportage | [HIVE-23870](https://issues.apache.org/jira/browse/HIVE-23870) : Optimisez plusieurs conversions de texte dans. WritableHiveCharObjectInspector getPrimitiveJavaObjet/ HiveCharWritable | 
| Rétroportage | [HIVE-21498](https://issues.apache.org/jira/browse/HIVE-21498) : mise à niveau de Thrift vers la version 0.13.0 | 
| Rétroportage | [HIVE-24378](https://issues.apache.org/jira/browse/HIVE-24378) : Les espaces de début et de fin ne sont pas supprimés avant la conversion décimale | 
| Rétroportage | [HIVE-21341](https://issues.apache.org/jira/browse/HIVE-21341) : Valeurs par défaut raisonnables : hive.server2.idle.operation.timeout et hive.server2.idle.session.timeout sont trop élevés | 
| Rétroportage | [HIVE-22465](https://issues.apache.org/jira/browse/HIVE-22465) : Ajouter la configuration SSL dans TezConfigurationFactory | 
| Rétroportage | [HIVE-24710](https://issues.apache.org/jira/browse/HIVE-24710) : Optimisation de l'itération PTF pour le nombre (\$1) afin de réduire les coûts du processeur et des E/S | 
| Rétroportage | [HIVE-15406](https://issues.apache.org/jira/browse/HIVE-15406) : Envisagez de vectoriser la nouvelle fonction « trunc » | 
| Rétroportage | [HIVE-21541](https://issues.apache.org/jira/browse/HIVE-21541) : correction des en-têtes asf manquants dans HIVE-15406 | 
| Rétroportage | [HIVE-24808](https://issues.apache.org/jira/browse/HIVE-24808) : Dates analysées dans le cache | 
| Rétroportage | [HIVE-24746](https://issues.apache.org/jira/browse/HIVE-24746) : PTF : TimestampValueBoundaryScanner peut être optimisé lors du calcul de la portée | 
| Rétroportage | [HIVE-25059](https://issues.apache.org/jira/browse/HIVE-25059) : L'événement Alter est converti pour être renommé lors de la réplication | 
| Rétroportage | [HIVE-25142](https://issues.apache.org/jira/browse/HIVE-25142) : Le remaniement dans la table de hachage rapide de la jointure cartographique entraîne la corruption des clés volumineuses | 
| Rétroportage | [HIVE-23756](https://issues.apache.org/jira/browse/HIVE-23756) : Ajout de contraintes supplémentaires au fichier package.jdo | 
| Rétroportage | [HIVE-25150](https://issues.apache.org/jira/browse/HIVE-25150) : Les caractères de tabulation ne sont pas supprimés avant la conversion décimale, comme le caractère d'espace qui est corrigé dans le cadre de HIVE-24378 | 
| Rétroportage | [HIVE-25093](https://issues.apache.org/jira/browse/HIVE-25093) : date\$1format () UDF renvoie une sortie uniquement dans le fuseau horaire UTC | 
| Rétroportage | [HIVE-25268](https://issues.apache.org/jira/browse/HIVE-25268) : date\$1format udf renvoie des résultats erronés pour les dates antérieures à 1900 si le fuseau horaire local est autre que UTC | 
| Rétroportage | [HIVE-25338](https://issues.apache.org/jira/browse/HIVE-25338) : AIOBE dans une configuration UDF si l'entrée est vide | 
| Rétroportage | [HIVE-22400](https://issues.apache.org/jira/browse/HIVE-22400) : la minute UDF avec le temps renvoie la valeur NULL | 
| Rétroportage | [HIVE-25058](https://issues.apache.org/jira/browse/HIVE-25058) : PTF : TimestampValueBoundaryScanner peut être optimisé lors du calcul de la plage pt2 - isDistanceGreater | 
| Rétroportage | [HIVE-25449](https://issues.apache.org/jira/browse/HIVE-25449) : datediff () donne un mauvais résultat lorsqu'il est exécuté dans une tâche tez avec un fuseau horaire autre que l'UTC | 
| Rétroportage | [HIVE-23688](https://issues.apache.org/jira/browse/HIVE-23688) : Vectorisation : IndexArrayOutOfBoundsException pour une colonne de type carte qui inclut une valeur nulle | 
| Rétroportage | [HIVE-22247](https://issues.apache.org/jira/browse/HIVE-22247) : Hive se HFile OutputFormat lance FileNotFoundException lorsque la sortie de tâche de la partition est vide | 
| Rétroportage | [HIVE-25570](https://issues.apache.org/jira/browse/HIVE-25570) : Hive doit envoyer le chemin URL complet pour l'autorisation de la commande insert overwrite location | 
| Rétroportage | [HIVE-22903](https://issues.apache.org/jira/browse/HIVE-22903) : La vectorisation row\$1number () réinitialise le numéro de ligne après un lot en cas d'expression constante dans la clause de partition | 
| Rétroportage | [HIVE-25549](https://issues.apache.org/jira/browse/HIVE-25549) : Résultats erronés pour la fonction de fenêtre avec une expression dans la clause PARTITION BY ou ORDER BY | 
| Rétroportage | [HIVE-25579](https://issues.apache.org/jira/browse/HIVE-25579) : LOAD overwrite ajoute plutôt que de remplacer | 
| Rétroportage | [HIVE-25659](https://issues.apache.org/jira/browse/HIVE-25659) : Les requêtes SQL directes de Metastore avec IN/ (NOT IN) doivent être divisées en fonction du nombre maximum de paramètres autorisés par SQL DB | 
| Rétroportage | [HIVE-20502](https://issues.apache.org/jira/browse/HIVE-20502) : Corrigez le NPE lors de l'exécution de skewjoin\$1mapjoin10.q lorsque les statistiques des colonnes sont utilisées. | 
| Rétroportage | [HIVE-25765](https://issues.apache.org/jira/browse/HIVE-25765) : la propriété skip.header.line.count ignore les lignes de chaque bloc lorsque la taille du fichier est plus grande FetchOperator  | 
| Bogue | Corrigez NPE lors de l'insertion dans certains scénarios lorsque hive.stats.column.autogather et hive.groupby.skewindata sont tous les deux activés  | 
| Bogue | Corriger NPE lorsque la valeur mapred.tasktracker.expiry.interval n'est pas définie | 

# Amazon EMR 6.9.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-690"></a>

## Amazon EMR 6.9.0 - Changements concernant Hive
<a name="Hive-release-history-changes-690"></a>


****  

| Type | Description | 
| --- | --- | 
| Upgrade | Mise à niveau de Jetty vers [9.4.48.v20220622](https://github.com/eclipse/jetty.project/releases/tag/jetty-9.4.48.v20220622) | 
| Upgrade | Prise en charge pour Hadoop 3.3.3. | 
| Fonctionnalité | Intégration d'Amazon EMR Hive à Lake Formation pour les charges de travail interactives à l'aide de l'API GCSC. | 
| Fonctionnalité | Intégration de Hive d'Amazon EMR avec Iceberg. | 
| Amélioration | Activez le protocole SSL en HiveServer 2 lorsque le [chiffrement en transit](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html#emr-encryption-intransit) est activé à l'aide des configurations de sécurité Amazon EMR. | 
| Amélioration | Activez le commit optimisé Hive EMRFS pour Amazon S3 par défaut. Pour plus d'informations, voir,[Activation du validateur optimisé Hive EMRFS S3](hive-optimized-committer.md). | 
| Amélioration | [Ajoutez `HiveHBaseTableInputFormatV2` qui hérite uniquement de la version mappée de InputFormat pour corriger SPARK-34210.](https://issues.apache.org/jira/browse/SPARK-34210) Définissez hive.hbase.inputformat.v2 sur true pour l'utiliser. | 
| Amélioration | Attendez que TeZam se lance en arrière-plan avec [hive.cli.tez.session.async]() au lieu de l'arrêter et d'en lancer un nouveau immédiatement. Utilisez hive.emr.cli.tez.session.open.timeout pour définir ce délai en secondes.  | 
| Amélioration | Ajoutez l'option [hive.conf.restricted.list.append]() pour ajouter les configurations séparées par des virgules à la liste des configurations restreintes existante hive.conf.restricted.list. | 
| Amélioration | Message d'erreur plus clair lorsque la requête Hive échoue car l'emplacement n'est pas défini pour la base de données. | 
| Rétroportage | [HIVE-24484](https://issues.apache.org/jira/browse/HIVE-24484) : mise à niveau de Hadoop vers la version 3.3.1 et de Tez vers la version 0.10.2  | 
| Rétroportage | [HIVE-22398](https://issues.apache.org/jira/browse/HIVE-22398) : Supprimez la gestion des files d'attente YARN via. ShimLoader  | 
| Rétroportage | [HIVE-23190](https://issues.apache.org/jira/browse/HIVE-23190) : LLAP : modifier IndexCache pour transmettre l'objet du système de fichiers à. TezSpillRecord | 
| Rétroportage | [HIVE-22185](https://issues.apache.org/jira/browse/HIVE-22185) : HADOOP-15832 posera des problèmes lors des tests utilisant des clusters. MiniYarn  | 
| Rétroportage | [HIVE-21670](https://issues.apache.org/jira/browse/HIVE-21670) : Remplacement par mockito-all dépendance mockito-core. | 
| Rétroportage | [HIVE-24542](https://issues.apache.org/jira/browse/HIVE-24542) : Préparez la goyave pour les améliorations. | 
| Rétroportage | [HIVE-23751](https://issues.apache.org/jira/browse/HIVE-23751) : QTest : Remplacez la \$1mkdirs() méthode pour l'aligner après HADOOP-16582ProxyFileSystem. | 
| Rétroportage | [HIVE-21603](https://issues.apache.org/jira/browse/HIVE-21603) : Préparation à Java 11 : mise à jour de la version PowerMock.  | 
| Rétroportage | [HIVE-24083](https://issues.apache.org/jira/browse/HIVE-24083) : hcatalog erreur dans Hadoop 3.3.0 : type d'authentification requis. | 
| Rétroportage | [HIVE-24282](https://issues.apache.org/jira/browse/HIVE-24282) : Afficher les colonnes ne doit pas trier les colonnes de sortie sauf mention explicite. | 
| Rétroportage | [HIVE-20656](https://issues.apache.org/jira/browse/HIVE-20656) : Valeurs par défaut sensibles : les configurations de mémoire d'agrégation de cartes sont trop agressives. | 
| Rétroportage | [HIVE-25443](https://issues.apache.org/jira/browse/HIVE-25443) : Arrow SerDe ne peut pas serialize/deserialize complexer les types de données lorsqu'il y a plus de 1024 valeurs | 
| Rétroportage | [HIVE-19792](https://issues.apache.org/jira/browse/HIVE-19792) : Mise à niveu de orc vers la version 1.5.2 et activez les tests d'évolution du schéma decimal\$164.  | 
| Rétroportage | [HIVE-20437](https://issues.apache.org/jira/browse/HIVE-20437) : Gérer l'évolution du schéma à partir de nombres flottants, doubles et décimaux.  | 
| Rétroportage | [HIVE-21987](https://issues.apache.org/jira/browse/HIVE-21987) : Hive ne parvient pas à lire Parquet int32 annoté en décimal.  | 
| Rétroportage | [HIVE-20038](https://issues.apache.org/jira/browse/HIVE-20038) : Les requêtes de mise à jour sur des tables non segmentées et partitionnées génèrent un NPE. | 

## Amazon EMR 6.9.0 - Problèmes connus liés à Hive
<a name="emr-Hive-690-issues"></a>
+ Avec Amazon EMR 6.6.0 à 6.9.x, les requêtes INSERT avec partition dynamique et clause ORDER BY ou SORT BY auront toujours deux réducteurs. Ce problème est dû à la modification d'OSS [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703), qui place l'optimisation des partitions dynamiques de tri dans le cadre d'une décision basée sur les coûts. Si votre charge de travail ne nécessite pas le tri des partitions dynamiques, nous vous recommandons de définir la propriété `hive.optimize.sort.dynamic.partition.threshold` sur `-1` pour désactiver la nouvelle fonctionnalité et obtenir le nombre de réducteurs correctement calculé. Ce problème est résolu dans OSS Hive dans le cadre de [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) et dans Amazon EMR 6.10.0.

# Amazon EMR 6.8.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-680"></a>

## Amazon EMR 6.8.0 - Changements concernant Hive
<a name="Hive-release-history-changes-680"></a>


| Type | Description | 
| --- | --- | 
| Amélioration | Réduisez les appels au système de fichiers dans la commande msck. Améliorations des performances (environ 15 à 20 fois sur plus de 10 000 partitions) | 
| Rétroportage | [HIVE-20678](https://issues.apache.org/jira/browse/HIVE-20678) : Hive HBase TableOutputFormat doit être implémenté pour garantir la compatibilité HiveOutputFormat  | 
| Rétroportage | [HIVE-21040](https://issues.apache.org/jira/browse/HIVE-21040) : msck fait une liste de fichiers inutiles au dernier niveau de l'arborescence des répertoires | 
| Rétroportage | [HIVE-21460](https://issues.apache.org/jira/browse/HIVE-21460) : Le chargement des données suivi d'une requête select \$1 entraîne des résultats incorrects | 
| Rétroportage | [HIVE-21660](https://issues.apache.org/jira/browse/HIVE-21660) : Mauvais résultat lors de l'utilisation de tout l'union et de la vue ultérieure avec explode | 
| Rétroportage | [HIVE-22505](https://issues.apache.org/jira/browse/HIVE-22505) : ClassCastException causé par une mauvaise sélection d'opérateur vectorisé | 
| Rétroportage | [HIVE-22513](https://issues.apache.org/jira/browse/HIVE-22513) : La propagation constante de la colonne coulée lors des opérations de filtrage peut entraîner des résultats incorrects | 
| Rétroportage | [HIVE-23435](https://issues.apache.org/jira/browse/HIVE-23435) : Résultat complet de la jointure externe : lignes manquantes | 
| Rétroportage | [HIVE-24209](https://issues.apache.org/jira/browse/HIVE-24209) : Conversion incorrecte des arguments de recherche pour l'opération NOT BETWEEN lorsque la vectorisation est activée | 
| Rétroportage | [HIVE-24934](https://issues.apache.org/jira/browse/HIVE-24934) : aucune VectorizedExpressions annotation n'est nécessaire dans Generic Check UDFSQCount | 
| Rétroportage | [HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278) : HiveProjectJoinTransposeRule peut effectuer des transformations non valides avec des expressions de fenêtrage | 
| Rétroportage | [HIVE-25505](https://issues.apache.org/jira/browse/HIVE-25505) : Résultats incorrects avec en-tête. skip.header.line.count si la première ligne est vide | 
| Rétroportage | [HIVE-26080](https://issues.apache.org/jira/browse/HIVE-26080) : Mise à niveau d'accumulo-core vers la version 1.10.1 | 
| Rétroportage | [HIVE-26235](https://issues.apache.org/jira/browse/HIVE-26235) : La condition OR sur la colonne binaire renvoie un résultat vide | 
| Bogue | Corriger les journaux d'avertissement de plusieurs liaisons SLF4 J dans stderr lors du lancement | 
| Bogue | Corrigez l'échec de la requête SHOW TABLE EXTENDED avec une erreur Wrong FS lorsque la partition et la table se trouvent sur des systèmes de fichiers différents. | 

## Amazon EMR 6.8.0 - Problèmes connus liés à Hive
<a name="emr-Hive-680-issues"></a>
+ Avec Amazon EMR 6.6.0 à 6.9.x, les requêtes INSERT avec partition dynamique et clause ORDER BY ou SORT BY auront toujours deux réducteurs. Ce problème est dû à la modification d'OSS [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703), qui place l'optimisation des partitions dynamiques de tri dans le cadre d'une décision basée sur les coûts. Si votre charge de travail ne nécessite pas le tri des partitions dynamiques, nous vous recommandons de définir la propriété `hive.optimize.sort.dynamic.partition.threshold` sur `-1` pour désactiver la nouvelle fonctionnalité et obtenir le nombre de réducteurs correctement calculé. Ce problème est résolu dans OSS Hive dans le cadre de [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) et dans Amazon EMR 6.10.0.

# Amazon EMR 6.7.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-670"></a>

## Amazon EMR 6.7.0 - Changements concernant Hive
<a name="Hive-release-history-changes-670"></a>


| Type | Description | 
| --- | --- | 
| Fonctionnalité | [Intégration d'Amazon EMR Hive](https://aws.amazon.com/about-aws/whats-new/2022/07/fine-grained-access-controls-job-scoped-iam-roles-integration-aws-lake-formation-apache-spark-hive-amazon-emr-ec2-clusters/) avec. LakeFormation | 
| Fonctionnalité | Journalisation d'audit supplémentaire pour le commit optimisé Hive EMRFS pour Amazon S3. Configuration Hive : hive.blobstore.output-committer.logging, par défaut : false | 
| Fonctionnalité | Le répertoire cible supprimé lors de l'insertion est remplacé par un résultat de sélection vide sur une table/static partition non partitionnée afin qu'elle se comporte de la même manière que Hive 2.x. Configuration Hive : hive.emr.iow.clean.target.dir, par défaut : false | 
| Bogue | Correction d'un échec de requête intermittent lors de l'utilisation du validateur Hive EMRFS Amazon S3 optimisé avec tri des compartiments de partition. | 
| Upgrade | La version de Hive a été mise à niveau vers 3.1.3. Reportez-vous aux [notes de mise à jour d'Apache Hive 3.1.3](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12346277&styleName=Html&projectId=12310843) pour plus de détails.  | 
| Upgrade | Parquet mis à niveu vers la version [1.12.2](https://github.com/apache/parquet-mr/blob/apache-parquet-1.12.2/CHANGES.md). | 
| Rétroportage | [HIVE-20065](https://issues.apache.org/jira/browse/HIVE-20065) : Metastore ne doit pas s'appuyer sur Jackson 1.x | 
| Rétroportage | [HIVE-20071](https://issues.apache.org/jira/browse/HIVE-20071) : Migrer vers Jackson 2.x et empêcher son utilisation | 
| Rétroportage | [HIVE-20607](https://issues.apache.org/jira/browse/HIVE-20607) : TxnHandler doit être utilisé PreparedStatement pour exécuter des requêtes SQL directes | 
| Rétroportage | [HIVE-20740](https://issues.apache.org/jira/browse/HIVE-20740) : Supprimer le verrou global dans la méthode .setConf ObjectStore | 
| Rétroportage | [HIVE-20961](https://issues.apache.org/jira/browse/HIVE-20961) : Suppression de l'implémentation de NVL | 
| Rétroportage | [HIVE-22059](https://issues.apache.org/jira/browse/HIVE-22059) : le fichier jar hive-exec ne contient pas la bibliothèque Jackson (fasterxml) | 
| Rétroportage | [HIVE-22351](https://issues.apache.org/jira/browse/HIVE-22351) : Correction d'une utilisation incorrecte des threads dans ObjectStore TestObjectStore | 
| Rétroportage | [HIVE-23534](https://issues.apache.org/jira/browse/HIVE-23534) : NPE dans RetryingMetaStoreClient \$1invoke lors d'une capture sans message MetaException | 
| Rétroportage | [HIVE-24048](https://issues.apache.org/jira/browse/HIVE-24048) : Harmoniser les composants Jackson avec la version 2.10.latest - Hive | 
| Rétroportage | [HIVE-24768](https://issues.apache.org/jira/browse/HIVE-24768) : Utiliser jackson-bom partout pour le remplacement de version | 
| Rétroportage | [HIVE-24816](https://issues.apache.org/jira/browse/HIVE-24816) : Mise à niveau de Jackson vers la version 2.10.5.1 ou 2.11.0\$1 en raison de CVE-2020-25649 | 
| Rétroportage | [HIVE-25971](https://issues.apache.org/jira/browse/HIVE-25971) : L'arrêt de la tâche Tez est retardé car le pool de threads mis en cache n'est pas fermé | 
| Rétroportage | [HIVE-26036](https://issues.apache.org/jira/browse/HIVE-26036) : NPE causé par get () in MTable ObjectStore | 

## Amazon EMR 6.7.0 - Problèmes connus liés à Hive
<a name="emr-Hive-670-issues"></a>
+ Les requêtes avec des fonctions de fenêtrage sur la même colonne que la jointure peuvent conduire à des transformations invalides comme rapporté dans [HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278) et causer des résultats incorrects ou des échecs de requête. Une solution de contournement serait de désactiver le CBO au niveau de la requête pour de telles requêtes. Le correctif sera disponible dans une version Amazon EMR ultérieure à la version 6.7.0. Pour plus d'informations, contactez AWS le support.
+ Avec Amazon EMR 6.6.0 à 6.9.x, les requêtes INSERT avec partition dynamique et clause ORDER BY ou SORT BY auront toujours deux réducteurs. Ce problème est dû à la modification d'OSS [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703), qui place l'optimisation des partitions dynamiques de tri dans le cadre d'une décision basée sur les coûts. Si votre charge de travail ne nécessite pas le tri des partitions dynamiques, nous vous recommandons de définir la propriété `hive.optimize.sort.dynamic.partition.threshold` sur `-1` pour désactiver la nouvelle fonctionnalité et obtenir le nombre de réducteurs correctement calculé. Ce problème est résolu dans OSS Hive dans le cadre de [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) et dans Amazon EMR 6.10.0.

# Amazon EMR 6.6.0 - Notes de mise à jour de Hive
<a name="Hive-release-history-660"></a>

## Amazon EMR 6.6.0 - Changements concernant Hive
<a name="Hive-release-history-changes-660"></a>


| Type | Description | 
| --- | --- | 
| Upgrade |  Mettez à niveau de Parquet vers la version [1.12.1](https://issues.apache.org/jira/browse/HIVE-24408).  | 
| Upgrade |  Mettre à niveau la version Jetty Jars vers 9.4.43.v20210629  | 
| Bogue | Correction d'un problème qui provoquait l'installation de Hive sur tous les task/core nœuds lorsque LLAP était activé sur un cluster Hive. | 
| Rétroportage | [HIVE-25942](https://issues.apache.org/jira/browse/HIVE-25942) : Mise à niveau de commons-io vers la version 2.8.0 en raison de CVE-2021-29425 | 
| Rétroportage | [HIVE-25726](https://issues.apache.org/jira/browse/HIVE-25726) : amélioration de la vélocité à 2.3 en raison de CVE-2020-13936 | 
| Rétroportage | [HIVE-25680](https://issues.apache.org/jira/browse/HIVE-25680) : Autorisez l'API HiveMetastore du serveur \$1get\$1table\$1meta à utiliser l'un des modèles d'autorisation. HiveMetastore | 
| Rétroportage | [HIVE-25554](https://issues.apache.org/jira/browse/HIVE-25554) : Mise à niveau de la version Arrow vers 0.15 | 
| Rétroportage | [HIVE-25242](https://issues.apache.org/jira/browse/HIVE-25242) : La requête s'exécute extrêmement lentement avec vectorized.adaptor = chosen | 
| Rétroportage | [HIVE-25085](https://issues.apache.org/jira/browse/HIVE-25085) : MetaStore Les clients ne sont plus partagés entre les sessions. | 
| Rétroportage | [HIVE-24827](https://issues.apache.org/jira/browse/HIVE-24827) : La requête d'agrégation Hive renvoie des résultats incorrects pour les fichiers autres que du texte. | 
| Rétroportage | [HIVE-24683](https://issues.apache.org/jira/browse/HIVE-24683) : getFileId Hadoop23Shims est sujet à NPE pour les chemins inexistants | 
| Rétroportage | [HIVE-24656](https://issues.apache.org/jira/browse/HIVE-24656) : Le CBO échoue pour les requêtes dont la valeur est nulle sur les types de carte et de tableau | 
| Rétroportage | [HIVE-24556](https://issues.apache.org/jira/browse/HIVE-24556) : Optimisé DefaultGraphWalker pour les cas sans petit-enfant | 
| Rétroportage | [HIVE-24408](https://issues.apache.org/jira/browse/HIVE-24408) : Mise à niveau de Parquet vers la version 1.11.1 | 
| Rétroportage | [HIVE-24391](https://issues.apache.org/jira/browse/HIVE-24391) : Corriger les échecs TestOrcFile FIX dans la branche 3.1 | 
| Rétroportage | [HIVE-24362](https://issues.apache.org/jira/browse/HIVE-24362) : Le traitement des arbres AST n'est pas optimal pour les arbres comportant un grand nombre de nœuds | 
| Rétroportage | [HIVE-24316](https://issues.apache.org/jira/browse/HIVE-24316) : Mise à niveau d'ORC de la version 1.5.6 à la version 1.5.8 dans la branche 3.1 | 
| Rétroportage | [HIVE-24307](https://issues.apache.org/jira/browse/HIVE-24307) : Beeline avec le fichier de propriétés et le paramètre -e échoue | 
| Rétroportage | [HIVE-24245](https://issues.apache.org/jira/browse/HIVE-24245) : PTF vectorisé avec nombre et partition distincte produisant des résultats incorrects. | 
| Rétroportage | [HIVE-24224](https://issues.apache.org/jira/browse/HIVE-24224) : Correction du fait de sauter Hive on Tez sur header/footer un fichier compressé | 
| Rétroportage | [HIVE-24157](https://issues.apache.org/jira/browse/HIVE-24157) : Le mode strict échouera sur CAST timestamp ↔ numeric | 
| Rétroportage | [HIVE-24113](https://issues.apache.org/jira/browse/HIVE-24113) : NPE dans le générique UDFTo UnixTimeStamp | 
| Rétroportage | [HIVE-23987](https://issues.apache.org/jira/browse/HIVE-23987) : Mise à niveau de arrow vers la version 0.11.0 | 
| Rétroportage | [HIVE-23972](https://issues.apache.org/jira/browse/HIVE-23972) : Ajouter un identifiant de client externe au client externe LLAP | 
| Rétroportage | [HIVE-23806](https://issues.apache.org/jira/browse/HIVE-23806) : Éviter d'effacer les états des statistiques des colonnes dans toutes les partitions au cas où le schéma serait étendu. Cela améliore l'exécution de l'instruction alter table add columns. | 
| Rétroportage | [HIVE-23779](https://issues.apache.org/jira/browse/HIVE-23779) : BasicStatsTask Les informations ne sont pas imprimées dans la console Beeline | 
| Rétroportage | [HIVE-23306](https://issues.apache.org/jira/browse/HIVE-23306) : La commande RESET ne fonctionne pas s'il existe une configuration définie par System.GetProperty | 
| Rétroportage | [HIVE-23164](https://issues.apache.org/jira/browse/HIVE-23164) : Le serveur n'est pas correctement arrêté à cause de threads autres que les démons | 
| Rétroportage | [HIVE-22967](https://issues.apache.org/jira/browse/HIVE-22967) : Support hive.reloadable.aux.jars.path pour Hive on Tez | 
| Rétroportage | [HIVE-22934](https://issues.apache.org/jira/browse/HIVE-22934) : Le serveur Hive compte les journaux interactifs sur le flux d'erreurs | 
| Rétroportage | [HIVE-22901](https://issues.apache.org/jira/browse/HIVE-22901) : La substitution de variables peut entraîner un OOM sur les références circulaires | 
| Rétroportage | [HIVE-22769](https://issues.apache.org/jira/browse/HIVE-22769) : Résultats de requête incorrects et échec de requête lors de la génération fractionnée pour les fichiers texte compressés | 
| Rétroportage | [HIVE-22716](https://issues.apache.org/jira/browse/HIVE-22716) : La lecture est interrompue ByteBuffer ParquetFooterInputFromCache | 
| Rétroportage | [HIVE-22648](https://issues.apache.org/jira/browse/HIVE-22648) : Mise à niveau de Parquet vers la version 1.11.0 | 
| Rétroportage | [HIVE-22640](https://issues.apache.org/jira/browse/HIVE-22640) : Decimal64 ColumnVector : ClassCastException lorsque le type de colonne de partition est Decimal | 
| Rétroportage | [HIVE-22621](https://issues.apache.org/jira/browse/HIVE-22621) : cas de test instable : .testSigning TestLlapSignerImpl | 
| Rétroportage | [HIVE-22533](https://issues.apache.org/jira/browse/HIVE-22533) : Corrige les vulnérabilités possibles de l'interface utilisateur Web du démon LLAP | 
| Rétroportage | [HIVE-22532](https://issues.apache.org/jira/browse/HIVE-22532) : Le PTFPPD peut pousser la limite de manière incorrecte via la fonction Rank/DenseRank  | 
| Rétroportage | [HIVE-22514](https://issues.apache.org/jira/browse/HIVE-22514) : HiveProtoLoggingHook peut consommer beaucoup de mémoire | 
| Rétroportage | [HIVE-22476](https://issues.apache.org/jira/browse/HIVE-22476) : La fonction Hive datediff a fourni des résultats incohérents lorsque hive.fetch.task.conversion est défini sur none | 
| Rétroportage | [HIVE-22429](https://issues.apache.org/jira/browse/HIVE-22429) : Les tables clusterisées migrées à l'aide de bucketing\$1version 1 sur Hive 3 utilisent bucketing\$1version 2 pour les insertions | 
| Rétroportage | [HIVE-22412](https://issues.apache.org/jira/browse/HIVE-22412) : StatsUtils lance un NPE lorsque vous expliquez | 
| Rétroportage | [HIVE-22360](https://issues.apache.org/jira/browse/HIVE-22360) : MultiDelimitSerDe renvoie des résultats erronés dans la dernière colonne lorsque le fichier chargé comporte plus de colonnes que celles du schéma de table | 
| Rétroportage | [HIVE-22332](https://issues.apache.org/jira/browse/HIVE-22332) : Hive doit garantir des paramètres d'évolution de schéma valides depuis ORC-540 | 
| Rétroportage | [HIVE-22331](https://issues.apache.org/jira/browse/HIVE-22331) : unix\$1timestamp sans argument renvoie l'horodatage en millisecondes au lieu de secondes | 
| Rétroportage | [HIVE-2275 :](https://issues.apache.org/jira/browse/HIVE-22275). OperationManager queryIdOperationne nettoie pas correctement plusieurs QueryID | 
| Rétroportage | [HIVE-22273](https://issues.apache.org/jira/browse/HIVE-22273) : La vérification d'accès échoue lorsqu'un répertoire temporaire est supprimé | 
| Rétroportage | [HIVE-22270](https://issues.apache.org/jira/browse/HIVE-22270) : Mise à niveau de commons-io vers la version 2.6 | 
| Rétroportage | [HIVE-22241](https://issues.apache.org/jira/browse/HIVE-22241) : Implémenter l'UDF pour interpréter à date/timestamp l'aide de sa représentation interne et du calendrier hybride grégorien-julien | 
| Rétroportage | [HIVE-22241](https://issues.apache.org/jira/browse/HIVE-22241) : Implémenter l'UDF pour interpréter à l' date/timestamp aide de sa représentation interne et de son hybride grégorien-julien | 
| Rétroportage | [HIVE-22232](https://issues.apache.org/jira/browse/HIVE-22232) : NPE lorsque hive.order.columnalignment est défini sur false | 
| Rétroportage | [HIVE-22231](https://issues.apache.org/jira/browse/HIVE-22231) : Échec de l'écriture d'une requête Hive de grande taille via Knox en raison d'un tube cassé | 
| Rétroportage | [HIVE-22221](https://issues.apache.org/jira/browse/HIVE-22221) : Client externe Llap - Nécessité de réduire le \$1getSplits LlapBaseInputFormat | 
| Rétroportage | [HIVE-22208](https://issues.apache.org/jira/browse/HIVE-22208) : Le nom de colonne avec le mot clé réservé n'est pas échappé lorsque la requête incluant une jointure sur une table avec une colonne de masque est réécrite | 
| Rétroportage | [HIVE-22197](https://issues.apache.org/jira/browse/HIVE-22197) : Common Merge Join lance une exception de conversion de classe. | 
| Rétroportage | [HIVE-22170](https://issues.apache.org/jira/browse/HIVE-22170) : from\$1unixtime et unix\$1timestamp doivent utiliser le fuseau horaire de la session utilisateur | 
| Rétroportage | [HIVE-22169](https://issues.apache.org/jira/browse/HIVE-22169) : Tez : SplitGenerator essaie de rechercher des fichiers de plan qui n'existeront pas pour Tez | 
| Rétroportage | [HIVE-22168](https://issues.apache.org/jira/browse/HIVE-22168) : Supprimer la journalisation très coûteuse du hotpath du cache LLAP | 
| Rétroportage | [HIVE-22161](https://issues.apache.org/jira/browse/HIVE-22161) : UDF : synchronise sur org.apache.hadoop.hive.ql.udf. FunctionRegistry UDFType classe | 
| Rétroportage | [HIVE-22120](https://issues.apache.org/jira/browse/HIVE-22120) : Correction de résultats erronés ou d'une ArrayOutOfBound exception dans les jointures cartographiques externes gauches liées à des conditions limites spécifiques | 
| Rétroportage | [HIVE-22115](https://issues.apache.org/jira/browse/HIVE-22115) : Empêcher la création d'un appendice de routage de requêtes si la propriété est définie sur false | 
| Rétroportage | [HIVE-22113](https://issues.apache.org/jira/browse/HIVE-22113) : Empêcher l'arrêt du LLAP en cas de problème AMReporter RuntimeException | 
| Rétroportage | [HIVE-22106](https://issues.apache.org/jira/browse/HIVE-22106) : Supprimer la synchronisation des requêtes croisées pour la partition-eval | 
| Rétroportage | [HIVE-22099](https://issues.apache.org/jira/browse/HIVE-22099) : Plusieurs dates liées à des dates ne UDFs peuvent pas gérer correctement les dates juliennes depuis HIVE-20007 | 
| Rétroportage | [HIVE-22037](https://issues.apache.org/jira/browse/HIVE-22037) : HS2 devrait être enregistré lors de l'arrêt dû à l'OOM | 
| Rétroportage | [HIVE-21976](https://issues.apache.org/jira/browse/HIVE-21976) : Le décalage doit être nul au lieu de zéro dans Calcite HiveSortLimit | 
| Rétroportage | [HIVE-21924](https://issues.apache.org/jira/browse/HIVE-21924) : Diviser les fichiers texte même s'ils existent header/footer  | 
| Rétroportage | [HIVE-21913](https://issues.apache.org/jira/browse/HIVE-21913) : Generic UDTFGet Splits doit gérer les noms d'utilisateur de la même manière que LLAP | 
| Rétroportage | [HIVE-21905 : Amélioration](https://issues.apache.org/jira/browse/HIVE-21905) des génériques dans la classe FetchOperator  | 
| Rétroportage | [HIVE-21902](https://issues.apache.org/jira/browse/HIVE-21902) : interface utilisateur HiveServer 2 : besoins de l'en-tête de réponse Jetty X-Frame-Options | 
| Rétroportage | [HIVE-21888](https://issues.apache.org/jira/browse/HIVE-21888) : Définir hive.parquet.timestamp.skip.conversion par défaut sur true | 
| Rétroportage | [HIVE-21868](https://issues.apache.org/jira/browse/HIVE-21868) : Vectoriser CAST... FORMAT | 
| Rétroportage | [HIVE-21864](https://issues.apache.org/jira/browse/HIVE-21864) : \$1closeAll LlapBaseInputFormat | 
| Rétroportage | [HIVE-21863](https://issues.apache.org/jira/browse/HIVE-21863) : Améliorer le casting de type vectorisateur pour l'expression WHEN | 
| Rétroportage | [HIVE-21862](https://issues.apache.org/jira/browse/HIVE-21862) : ORC ppd produit un résultat erroné avec l'horodatage | 
| Rétroportage | [HIVE-21846](https://issues.apache.org/jira/browse/HIVE-21846) : Créez un thread dans TeZam qui récupère périodiquement des métriques LlapDaemon  | 
| Rétroportage | [HIVE-21837](https://issues.apache.org/jira/browse/HIVE-21837) : MapJoin lance une exception lorsque la colonne sélectionnée contient des valeurs complètement nulles | 
| Rétroportage | [HIVE-21834](https://issues.apache.org/jira/browse/HIVE-21834) : Éviter les appels inutiles pour simplifier les conditions de filtrage | 
| Rétroportage | [HIVE-21832](https://issues.apache.org/jira/browse/HIVE-21832) : Nouvelles mesures pour obtenir le temps moyen queue/serving/response | 
| Rétroportage | [HIVE-21827](https://issues.apache.org/jira/browse/HIVE-21827) : Plusieurs appels dans la méthode SemanticAnalyzer Do Not Go Through getTableObject ByName  | 
| Rétroportage | [HIVE-21822](https://issues.apache.org/jira/browse/HIVE-21822) : Exposez les LlapDaemon métriques via une nouvelle méthode d'API | 
| Rétroportage | [HIVE-21818](https://issues.apache.org/jira/browse/HIVE-21818) : CBO : la copie contient du trafic de métastore TableRelOptHiveTable | 
| Rétroportage | [HIVE-21815](https://issues.apache.org/jira/browse/HIVE-21815) : Les statistiques du fichier ORC sont analysées deux fois | 
| Rétroportage | [HIVE-21805](https://issues.apache.org/jira/browse/HIVE-21805) : HiveServer 2 : Utilisez le fast ShutdownHookManager APIs | 
| Rétroportage | [HIVE-21799](https://issues.apache.org/jira/browse/HIVE-21799) : NullPointerException activé DynamicPartitionPruningOptimization, lorsque la clé de jointure se trouve sur la colonne d'agrégation | 
| Rétroportage | [HIVE-21794](https://issues.apache.org/jira/browse/HIVE-21794) : Ajouter des paramètres de vue matérialisée à sqlStdAuth SafeVarNameRegexes | 
| Rétroportage | [HIVE-21768](https://issues.apache.org/jira/browse/HIVE-21768) : JDBC : supprime le préfixe d'union par défaut pour les requêtes UNION non incluses | 
| Rétroportage | [HIVE-21746](https://issues.apache.org/jira/browse/HIVE-21746) : ArrayIndexOutOfBoundsException lors d'une jointure par hachage partitionnée dynamiquement, avec CBO désactivé | 
| Rétroportage | [HIVE-21717](https://issues.apache.org/jira/browse/HIVE-21717) : Impossible de renommer le répertoire dans la tâche de déplacement. | 
| Rétroportage | [HIVE-21685](https://issues.apache.org/jira/browse/HIVE-21685) : Mauvaise simplification dans une requête contenant plusieurs clauses IN | 
| Rétroportage | [HIVE-21681](https://issues.apache.org/jira/browse/HIVE-21681) : La description formatée montre des informations incorrectes pour plusieurs clés primaires | 
| Rétroportage | [HIVE-21651](https://issues.apache.org/jira/browse/HIVE-21651) : Déplace le serveur protobuf dans hive-exec. | 
| Rétroportage | [HIVE-21619](https://issues.apache.org/jira/browse/HIVE-21619) : Afficher le type d'horodatage sans précision dans SQL Extended | 
| Rétroportage | [HIVE-21592](https://issues.apache.org/jira/browse/HIVE-21592) : OptimizedSql n'apparaît pas lorsque l'expression contient CONCAT | 
| Rétroportage | [HIVE-21576](https://issues.apache.org/jira/browse/HIVE-21576) : Présentation de CAST... FORMAT et de la liste limitée des formats date/heure SQL:2016 | 
| Rétroportage | [HIVE-21573](https://issues.apache.org/jira/browse/HIVE-21573) : Le transport binaire doit ignorer le principal si l'authentification est définie sur delegationToken | 
| Rétroportage | [HIVE-21550](https://issues.apache.org/jira/browse/HIVE-21550) : les TestObjectStore tests sont flous - Impossible d'obtenir un verrou dans le délai demandé | 
| Rétroportage | [HIVE-21544](https://issues.apache.org/jira/browse/HIVE-21544) : La propagation constante corrompt coalesce/case/when les expressions lors du pliage | 
| Rétroportage | [HIVE-21539](https://issues.apache.org/jira/browse/HIVE-21539) : GroupBy \$1 la clause where sur la même colonne entraîne une réécriture incorrecte de la requête | 
| Rétroportage | [HIVE-21538](https://issues.apache.org/jira/browse/HIVE-21538) : Beeline : source du mot de passe même si le lecteur de console n'est pas passé au paramètre de connexion | 
| Rétroportage | [HIVE-21509](https://issues.apache.org/jira/browse/HIVE-21509) : LLAP peut mettre en cache des vecteurs de colonnes corrompus et renvoyer un résultat de requête erroné | 
| Rétroportage | [HIVE-21499](https://issues.apache.org/jira/browse/HIVE-21499) : ne doit pas supprimer la fonction du registre si la commande de création a échoué avec AlreadyExistsException | 
| Rétroportage | [HIVE-21496](https://issues.apache.org/jira/browse/HIVE-21496) : Le dimensionnement automatique d'une mémoire tampon non ordonnée peut déborder | 
| Rétroportage | [HIVE-21468](https://issues.apache.org/jira/browse/HIVE-21468) : distinction majuscules/minuscules dans les noms d'identifiant pour le gestionnaire de stockage JDBC | 
| Rétroportage | [HIVE-21467](https://issues.apache.org/jira/browse/HIVE-21467) : Supprimer les importations JUnit.framework.assert obsolètes | 
| Rétroportage | [HIVE-21435](https://issues.apache.org/jira/browse/HIVE-21435) : LlapBaseInputFormat devrait obtenir le numéro de tâche dans la configuration TASK\$1ATTEMPT\$1ID s'il est présent, lors de la construction SubmitWorkRequestProto | 
| Rétroportage | [HIVE-21389](https://issues.apache.org/jira/browse/HIVE-21389) : La distribution Hive manque javax.ws.rs-api.jar après HIVE-21247 | 
| Rétroportage | [HIVE-21385](https://issues.apache.org/jira/browse/HIVE-21385) : Autoriser la désactivation du transfert des calculs non séparables vers les sources JDBC | 
| Rétroportage | [HIVE-21383](https://issues.apache.org/jira/browse/HIVE-21383) : Gestionnaire de stockage JDBC : utilisez le catalogue et le schéma pour récupérer les tables si cela est spécifié | 
| Rétroportage | [HIVE-21382](https://issues.apache.org/jira/browse/HIVE-21382) : Optimisation de la réduction des groupes par clés - les clés ne sont pas réduites dans la requête 23 | 
| Rétroportage | [HIVE-21362](https://issues.apache.org/jira/browse/HIVE-21362) : Ajoutez un format d'entrée et serde pour lire à partir de fichiers protobuf. | 
| Rétroportage | [HIVE-21340](https://issues.apache.org/jira/browse/HIVE-21340) : CBO : élaguez les colonnes non essentielles alimentant un SemiJoin | 
| Rétroportage | [HIVE-21332](https://issues.apache.org/jira/browse/HIVE-21332) : Purger les tampons non verrouillés au lieu des tampons verrouillés | 
| Rétroportage | [HIVE-21329](https://issues.apache.org/jira/browse/HIVE-21329) : Taille de la mémoire tampon de sortie non ordonnée de l'exécution Tez personnalisée en fonction du pipeline de l'opérateur | 
| Rétroportage | [HIVE-21295](https://issues.apache.org/jira/browse/HIVE-21295) : StorageHandler doit convertir la date en chaîne en utilisant la convention Hive | 
| Rétroportage | [HIVE-21294](https://issues.apache.org/jira/browse/HIVE-21294) : Vectorisation : Shuffle à 1 réducteur peut ignorer les fonctions de hachage d'objets | 
| Rétroportage | [HIVE-21255](https://issues.apache.org/jira/browse/HIVE-21255) : Supprimer dans QueryConditionBuilder JdbcStorageHandler | 
| Rétroportage | [HIVE-21253 :](https://issues.apache.org/jira/browse/HIVE-21253) Support dans JDBC DB2 StorageHandler | 
| Rétroportage | [HIVE-21232](https://issues.apache.org/jira/browse/HIVE-21232) : LLAP : ajout d'un fournisseur d'affinité partagée compatible avec Cache-miss | 
| Rétroportage | [HIVE-21214](https://issues.apache.org/jira/browse/HIVE-21214) : MoveTask  : Utilisez AttentID au lieu de la taille du fichier pour la déduplication des fichiers compareTempOr DuplicateFiles | 
| Rétroportage | [HIVE-21184](https://issues.apache.org/jira/browse/HIVE-21184) : Ajouter, expliquer et expliquer un plan CBO formaté avec des informations sur les coûts | 
| Rétroportage | [HIVE-21182](https://issues.apache.org/jira/browse/HIVE-21182) : Ignorer la configuration de Hive Scratch Dir lors de la planification | 
| Rétroportage | [HIVE-21171](https://issues.apache.org/jira/browse/HIVE-21171) : Ignorer la création de scratch pour Tea si le RPC est activé | 
| Rétroportage | [HIVE-21126](https://issues.apache.org/jira/browse/HIVE-21126) : Autoriser les requêtes au niveau de la session dans \$1getSplit LlapBaseInputFormat | 
| Rétroportage | [HIVE-21107](https://issues.apache.org/jira/browse/HIVE-21107) : Erreur « Impossible de trouver le champ » lors d'une jointure par hachage partitionnée dynamiquement | 
| Rétroportage | [HIVE-21061](https://issues.apache.org/jira/browse/HIVE-21061) : La requête CTAS échoue avec une source vide IllegalStateException  | 
| Rétroportage | [HIVE-21041](https://issues.apache.org/jira/browse/HIVE-21041) : NPE, lors de l'obtention d'un schéma ParseException à partir d'un plan logique | 
| Rétroportage | [HIVE-21013 : Impossible](https://issues.apache.org/jira/browse/HIVE-21013) de trouver JdbcStorageHandler la colonne de partition dans Oracle | 
| Rétroportage | [HIVE-21006](https://issues.apache.org/jira/browse/HIVE-21006) : Étendre SharedWorkOptimizer pour supprimer les semi-jointures lorsqu'il existe une opportunité de réutilisation | 
| Rétroportage | [HIVE-20992](https://issues.apache.org/jira/browse/HIVE-20992) : Diviser la configuration hive.metastore.dbaccess.ssl.properties en configurations plus significatives | 
| Rétroportage | [HIVE-20989](https://issues.apache.org/jira/browse/HIVE-20989) : JDBC - Le journal GetOperationStatus \$1 peut bloquer la progression des requêtes via le mode veille | 
| Rétroportage | [HIVE-20988](https://issues.apache.org/jira/browse/HIVE-20988) : Résultats erronés pour les requêtes de groupe par avec une clé primaire sur plusieurs colonnes | 
| Rétroportage | [HIVE-20985](https://issues.apache.org/jira/browse/HIVE-20985) : Si les entrées de l'opérateur sélectionné sont des colonnes temporaires, la vectorisation peut réutiliser certaines d'entre elles comme sortie | 
| Rétroportage | [HIVE-20978 : « hive.jdbc.\$1](https://issues.apache.org/jira/browse/HIVE-20978) » doit être ajouté à sqlStdAuth SafeVarNameRegexes | 
| Rétroportage | [HIVE-20953](https://issues.apache.org/jira/browse/HIVE-20953) : Supprime une fonction du registre des fonctions lorsqu'elle ne peut pas être ajoutée au métastore lors de sa création. | 
| Rétroportage | [HIVE-20952](https://issues.apache.org/jira/browse/HIVE-20952) : Nettoyage d'un fichier .java VectorizationContext | 
| Rétroportage | [HIVE-20951](https://issues.apache.org/jira/browse/HIVE-20951) : LLAP : réglez toujours Xms à 50 % | 
| Rétroportage | [HIVE-20949](https://issues.apache.org/jira/browse/HIVE-20949) : Améliorer l'estimation de la cardinalité PKFK dans le cadre de la planification physique | 
| Rétroportage | [HIVE-20944](https://issues.apache.org/jira/browse/HIVE-20944) : Les statistiques ne sont pas validées lors de la compilation des requêtes | 
| Rétroportage | [HIVE-20940](https://issues.apache.org/jira/browse/HIVE-20940) : Réduire les cas dans lesquels la résolution de type de Calcite est plus stricte que celle de Hive. | 
| Rétroportage | [HIVE-20937](https://issues.apache.org/jira/browse/HIVE-20937) : La requête JDBC de Postgres échoue avec le message « LIMIT ne doit pas être négatif » | 
| Rétroportage | [HIVE-20926](https://issues.apache.org/jira/browse/HIVE-20926) : L'indicateur de réduction des semi-jointures échoue lorsque le nombre d'entrées du filtre Bloom est élevé ou lorsqu'il n'y a pas de statistiques | 
| Rétroportage | [HIVE-20920](https://issues.apache.org/jira/browse/HIVE-20920) : Utiliser les contraintes SQL pour améliorer l'algorithme de réorganisation des jointures | 
| Rétroportage | [HIVE-20918](https://issues.apache.org/jira/browse/HIVE-20918) : Indicateur permettant de transférer le calcul depuis enable/disable Calcite vers une connexion JDBC | 
| Rétroportage | [HIVE-20915](https://issues.apache.org/jira/browse/HIVE-20915) : Rendre l'optimisation des partitions de tri dynamique accessible à HoS et MR | 
| Rétroportage | [HIVE-20910](https://issues.apache.org/jira/browse/HIVE-20910) : L'insertion dans une table à compartiments échoue en raison de l'optimisation dynamique du tri des partitions | 
| Rétroportage | [HIVE-20899](https://issues.apache.org/jira/browse/HIVE-20899) : L'URI Keytab pour le service LLAP YARN est restrictif pour prendre en charge uniquement HDFS | 
| Rétroportage | [HIVE-20898](https://issues.apache.org/jira/browse/HIVE-20898) : Pour les fonctions liées au temps, les arguments ne peuvent pas être convertis en un type non nullable | 
| Rétroportage | [HIVE-20881](https://issues.apache.org/jira/browse/HIVE-20881) : La propagation constante simplifie à outrance les projections | 
| Rétroportage | [HIVE-20880](https://issues.apache.org/jira/browse/HIVE-20880) : Mettre à jour la valeur par défaut pour hive.stats.filter.in.min.ratio | 
| Rétroportage | [HIVE-20873](https://issues.apache.org/jira/browse/HIVE-20873) : Utilisez le hachage Murmur pour réduire les collisions de hachage VectorHashKeyWrapperTwoLong  | 
| Rétroportage | [HIVE-20868](https://issues.apache.org/jira/browse/HIVE-20868) : SMB Join échoue par intermittence lorsqu'un enfant se connecte TezDummyOperator getFinalOp MapRecordProcessor | 
| Rétroportage | [HIVE-20853](https://issues.apache.org/jira/browse/HIVE-20853) : Expose ShuffleHandler .registerDag dans l'API du démon llap | 
| Rétroportage | [HIVE-20850](https://issues.apache.org/jira/browse/HIVE-20850) : Transférer les projections aux tableaux de dimensions si possible | 
| Rétroportage | [HIVE-20842](https://issues.apache.org/jira/browse/HIVE-20842) : Correction de la logique introduite dans HIVE-20660 pour estimer les statistiques du groupe par | 
| Rétroportage | [HIVE-20839](https://issues.apache.org/jira/browse/HIVE-20839) : Erreur « Impossible de trouver le champ » lors d'une jointure par hachage partitionnée dynamiquement | 
| Rétroportage | [HIVE-20835](https://issues.apache.org/jira/browse/HIVE-20835) : L'interaction entre les contraintes et la réécriture de MV peut créer une boucle dans Calcite Planner | 
| Rétroportage | [HIVE-20834](https://issues.apache.org/jira/browse/HIVE-20834) : QueryResultCache entrées Hive conservant la référence à la requête mise en cache SemanticAnalyzer  | 
| Rétroportage | [HIVE-20830](https://issues.apache.org/jira/browse/HIVE-20830) : échec de l'assertion JdbcStorageHandler de requête de plage dans certains cas | 
| Rétroportage | [HIVE-20829](https://issues.apache.org/jira/browse/HIVE-20829) : JdbcStorageHandler Range Split lance un NPE | 
| Rétroportage | [HIVE-20827](https://issues.apache.org/jira/browse/HIVE-20827) : Résultats incohérents pour les tableaux vides | 
| Rétroportage | [HIVE-20826](https://issues.apache.org/jira/browse/HIVE-20826) : amélioration de la HiveSemiJoin règle pour convertir la jointure et le groupe situés sur le côté gauche en semi-jointure gauche | 
| Rétroportage | [HIVE-20821](https://issues.apache.org/jira/browse/HIVE-20821) : Réécriture SUM0 dans la combinaison SUM\$1COALESCE | 
| Rétroportage | [HIVE-20815](https://issues.apache.org/jira/browse/HIVE-20815) : JdbcRecordReader .next ne doit pas manger d'exception | 
| Rétroportage | [HIVE-20813](https://issues.apache.org/jira/browse/HIVE-20813) : udf to\$1epoch\$1milli doit également prendre en charge l'horodatage sans fuseau horaire. | 
| Rétroportage | [HIVE-20804](https://issues.apache.org/jira/browse/HIVE-20804) : Améliorations supplémentaires apportées au regroupement par optimisation avec contraintes | 
| Rétroportage | [HIVE-20792](https://issues.apache.org/jira/browse/HIVE-20792) : L'insertion d'un horodatage avec des zones tronque les données | 
| Rétroportage | [HIVE-20788](https://issues.apache.org/jira/browse/HIVE-20788) : La réduction SJ étendue peut revenir en arrière de manière incorrecte lors de la création de filtres | 
| Rétroportage | [HIVE-20778](https://issues.apache.org/jira/browse/HIVE-20778) : La réorganisation des jointures peut ne pas être déclenchée si toutes les jointures du plan sont créées par une logique de décorrélation | 
| Rétroportage | [HIVE-20772](https://issues.apache.org/jira/browse/HIVE-20772) : Enregistre les compteurs de CPU par tâche dans LLAP | 
| Rétroportage | [HIVE-20768](https://issues.apache.org/jira/browse/HIVE-20768) : Ajout d'une fenêtre Tumbling UDF | 
| Rétroportage | [HIVE-20767](https://issues.apache.org/jira/browse/HIVE-20767) : Plusieurs projets entre opérateurs de jointure peuvent affecter la réorganisation des jointures en utilisant des contraintes | 
| Rétroportage | [HIVE-20762](https://issues.apache.org/jira/browse/HIVE-20762) : L'intervalle de nettoyage de NOTIFICATION\$1LOG est codé en dur à 60 secondes et est trop petit | 
| Rétroportage | [HIVE-20761](https://issues.apache.org/jira/browse/HIVE-20761) : La sélection pour la mise à jour sur la table notification\$1sequence a un intervalle de tentatives et un nombre de tentatives trop faible | 
| Rétroportage | [HIVE-20751](https://issues.apache.org/jira/browse/HIVE-20751) : Mise à niveau de arrow vers la version 0.10.0 | 
| Rétroportage | [HIVE-20746](https://issues.apache.org/jira/browse/HIVE-20746) : HiveProtoHookLogger ne ferme pas le fichier en fin de journée. | 
| Rétroportage | [HIVE-20744](https://issues.apache.org/jira/browse/HIVE-20744) : Utiliser les contraintes SQL pour améliorer l'algorithme de réorganisation des jointures | 
| Rétroportage | [HIVE-20740](https://issues.apache.org/jira/browse/HIVE-20740) : Supprime le verrou global dans ObjectStore la méthode .setConf. Ce cherrypick rétroporte le HIVE-20740 destiné à Hive 3.2 et 4.x vers 3.1.x | 
| Rétroportage | [HIVE-20734](https://issues.apache.org/jira/browse/HIVE-20734) : Beeline : lorsque beeline-site.xml est activé et que la CLI hive redirige vers beeline, elle doit utiliser le mot de passe système au lieu de demander un mot de passe username/dummy  | 
| Rétroportage | [HIVE-20731 : le fichier](https://issues.apache.org/jira/browse/HIVE-20731) keystore doit être autorisé JdbcStorageHandler | 
| Rétroportage | [HIVE-20720](https://issues.apache.org/jira/browse/HIVE-20720) : Ajouter une option de colonne de partition au gestionnaire JDBC | 
| Rétroportage | [HIVE-20719](https://issues.apache.org/jira/browse/HIVE-20719) : L'instruction SELECT échoue après la mise à jour avec l'optimisation et la vectorisation de hive.optimize.sort.dynamic.partition activées | 
| Rétroportage | [HIVE-20718](https://issues.apache.org/jira/browse/HIVE-20718) : Ajout d'un pilote Perf CLI avec des contraintes | 
| Rétroportage | [HIVE-20716](https://issues.apache.org/jira/browse/HIVE-20716) : Définir la valeur par défaut de hive.cbo.stats.correlated.multi.key.joins sur true | 
| Rétroportage | [HIVE-20712](https://issues.apache.org/jira/browse/HIVE-20712) : HivePointLookupOptimizer devrait extraire les cas profonds | 
| Rétroportage | [HIVE-20710](https://issues.apache.org/jira/browse/HIVE-20710) : Le pliage constant ne peut pas créer de constantes nulles sans types | 
| Rétroportage | [HIVE-20706](https://issues.apache.org/jira/browse/HIVE-20706) : external\$1jdbc\$1table2.q échoue par intermittence | 
| Rétroportage | [HIVE-20704](https://issues.apache.org/jira/browse/HIVE-20704) : extension HivePreFilteringRule pour prendre en charge d'autres fonctions | 
| Rétroportage | [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) : Placer l'optimisation des partitions de tri dynamique dans le cadre d'une décision basée sur les coûts | 
| Rétroportage | [HIVE-20702](https://issues.apache.org/jira/browse/HIVE-20702) : Tenir compte de la surcharge liée aux estimations tenant compte de la structure des données lors de la sélection de mapjoin | 
| Rétroportage | [HIVE-20692](https://issues.apache.org/jira/browse/HIVE-20692) : Activer le pliage des expressions NOT x IS (NOT) [TRUE\$1FALSE] | 
| Rétroportage | [HIVE-20691](https://issues.apache.org/jira/browse/HIVE-20691) : Corrigez org.apache.hadoop.hive.cli. TestMiniLlapCliDriver. testCliDriver[cttl] | 
| Rétroportage | [HIVE-20682](https://issues.apache.org/jira/browse/HIVE-20682) : L'exécution d'une requête asynchrone peut potentiellement échouer si le SessionHive partagé est fermé par le thread principal | 
| Rétroportage | [HIVE-20676](https://issues.apache.org/jira/browse/HIVE-20676) : HiveServer 2 : n' PrivilegeSynchronizerest pas défini sur le statut de daemon | 
| Rétroportage | [HIVE-20660](https://issues.apache.org/jira/browse/HIVE-20660) : L'estimation des groupes par statistiques pourrait être améliorée en limitant le nombre total de lignes à la table source | 
| Rétroportage | [HIVE-20652](https://issues.apache.org/jira/browse/HIVE-20652) : jointure JdbcStorageHandler push de deux sources de données différentes vers le pilote jdbc | 
| Rétroportage | [HIVE-20651](https://issues.apache.org/jira/browse/HIVE-20651) : JdbcStorageHandler le mot de passe doit être crypté | 
| Rétroportage | [HIVE-20649](https://issues.apache.org/jira/browse/HIVE-20649) : Gestionnaire de mémoire compatible LLAP pour les rédacteurs Orc | 
| Rétroportage | [HIVE-20648](https://issues.apache.org/jira/browse/HIVE-20648) : LLAP : le groupe de vecteurs par opérateur doit utiliser de la mémoire par exécuteur | 
| Rétroportage | [HIVE-20646](https://issues.apache.org/jira/browse/HIVE-20646) : La condition du filtre de partition n'est pas transmise à la requête Metastore si elle contient la valeur IS NOT NULL | 
| Rétroportage | [HIVE-20644](https://issues.apache.org/jira/browse/HIVE-20644) : Éviter d'exposer des informations sensibles via une exception Hive Runtime | 
| Rétroportage | [HIVE-20636](https://issues.apache.org/jira/browse/HIVE-20636) : Améliorer l'estimation du nombre de valeurs nulles après une jointure externe | 
| Rétroportage | [HIVE-20632](https://issues.apache.org/jira/browse/HIVE-20632) : La requête avec get\$1splits UDF échoue si une vue matérialisée est créée sur la table interrogée | 
| Rétroportage | [HIVE-20627](https://issues.apache.org/jira/browse/HIVE-20627) : Les requêtes asynchrones simultanées échouent par intermittence et provoquent une fuite de mémoire LockException  | 
| Rétroportage | [HIVE-20623](https://issues.apache.org/jira/browse/HIVE-20623) : Travail partagé : étendre le partage des entrées du cache Map-Join dans LLAP | 
| Rétroportage | [HIVE-20619](https://issues.apache.org/jira/browse/HIVE-20619) : MultiDelimitSerDe Inclus dans 2 par défaut HiveServer | 
| Rétroportage | [HIVE-20618](https://issues.apache.org/jira/browse/HIVE-20618) : Lors de la jointure, la sélection BucketMapJoin peut être choisie pour les tables non groupées | 
| Rétroportage | [HIVE-20617](https://issues.apache.org/jira/browse/HIVE-20617) : Corrige le type de constantes dans les expressions IN pour qu'elles aient le type correct | 
| Rétroportage | [HIVE-20612](https://issues.apache.org/jira/browse/HIVE-20612) : Création d'un nouvel indicateur de corrélation multiclé de jointure pour CBO | 
| Rétroportage | [HIVE-20603](https://issues.apache.org/jira/browse/HIVE-20603) : Erreur « Wrong FS » lors de l'insertion dans la partition après avoir modifié l'emplacement de la table dans le système de fichiers | 
| Rétroportage | [HIVE-20601](https://issues.apache.org/jira/browse/HIVE-20601) : EnvironmentContext nul dans l'événement ALTER\$1PARTITION dans DbNotificationListener | 
| Rétroportage | [HIVE-20583](https://issues.apache.org/jira/browse/HIVE-20583) : Utiliser le nom d'hôte canonique uniquement pour l'authentification Kerberos dans HiveConnection | 
| Rétroportage | [HIVE-20582](https://issues.apache.org/jira/browse/HIVE-20582) : Rendre la journalisation de hflush dans Hive Proto configurable | 
| Rétroportage | [HIVE-20563](https://issues.apache.org/jira/browse/HIVE-20563) : Vectorisation : l'expression CASE WHEN échoue lorsque THEN/ELSE le type et le type de résultat sont différents | 
| Rétroportage | [HIVE-20558](https://issues.apache.org/jira/browse/HIVE-20558) : Remplacer la valeur par défaut de hive.hashtable.key.count.adjustment à 0,99 | 
| Rétroportage | [HIVE-20552](https://issues.apache.org/jira/browse/HIVE-20552) : Obtenir le schéma plus rapidement LogicalPlan | 
| Rétroportage | [HIVE-20550](https://issues.apache.org/jira/browse/HIVE-20550) : Switch Web HCat pour utiliser beeline pour soumettre des requêtes Hive | 
| Rétroportage | [HIVE-20537](https://issues.apache.org/jira/browse/HIVE-20537) : Plusieurs colonnes joignent les estimations avec des colonnes non corrélées différentes dans CBO et Hive | 
| Rétroportage | [HIVE-20524](https://issues.apache.org/jira/browse/HIVE-20524) : La vérification de l'évolution du schéma est interrompue lors du passage de la version 2 à la version 3 de Hive pour ALTER TABLE VARCHAR à DECIMAL | 
| Rétroportage | [HIVE-20522](https://issues.apache.org/jira/browse/HIVE-20522) : HiveFilterSetOpTransposeRule peut générer une erreur d'assertion en raison de la nullité des champs | 
| Rétroportage | [HIVE-20521](https://issues.apache.org/jira/browse/HIVE-20521) : HS2 DOAS=true a un problème d'autorisation avec hadoop.tmp.dir, avec les systèmes de fichiers MR et S3A | 
| Rétroportage | [HIVE-20515](https://issues.apache.org/jira/browse/HIVE-20515) : Résultats de requête vides lors de l'utilisation du cache des résultats et du répertoire temporaire des requêtes, répertoire du cache des résultats dans différents systèmes de fichiers | 
| Rétroportage | [HIVE-20508](https://issues.apache.org/jira/browse/HIVE-20508) : Hive ne prend pas en charge les noms d'utilisateur de type « user @realm » | 
| Rétroportage | [HIVE-20507](https://issues.apache.org/jira/browse/HIVE-20507) : Beeline : ajoute une commande utilitaire pour récupérer tous les URI du fichier beeline-site.xml | 
| Rétroportage | [HIVE-20505](https://issues.apache.org/jira/browse/HIVE-20505) : mise à niveau de org.openjdk.jmh:jmh-core vers la version 1.21 | 
| Rétroportage | [HIVE-20503](https://issues.apache.org/jira/browse/HIVE-20503) : Utiliser des estimations tenant compte de la structure des données lors de la sélection de mapjoin | 
| Rétroportage | [HIVE-20498 :](https://issues.apache.org/jira/browse/HIVE-20498) Type de date de support pour la collecte automatique des statistiques des colonnes | 
| Rétroportage | [HIVE-20496 : Vectorisation : PTF vectorisé](https://issues.apache.org/jira/browse/HIVE-20496) IllegalStateException | 
| Rétroportage | [HIVE-20494](https://issues.apache.org/jira/browse/HIVE-20494) : Le générique UDFRestrict InformationSchema est cassé après HIVE-19440 | 
| Rétroportage | [HIVE-20477](https://issues.apache.org/jira/browse/HIVE-20477) : n' OptimizedSql est pas affiché si l'expression contient INs | 
| Rétroportage | [HIVE-20467](https://issues.apache.org/jira/browse/HIVE-20467) : Autoriser s'il n' EXISTS/IF existe pas dans la création/suppression du plan de ressources | 
| Rétroportage | [HIVE-20462](https://issues.apache.org/jira/browse/HIVE-20462) : « CREATE VIEW IF NOT EXISTS » échoue si la vue existe déjà | 
| Rétroportage | [HIVE-20455](https://issues.apache.org/jira/browse/HIVE-20455) : Extrait de journal provenant de security.authorization. PrivilegeSynchonizer.exécuter | 
| Rétroportage | [HIVE-20439](https://issues.apache.org/jira/browse/HIVE-20439) : Utiliser la limite de mémoire exagérée lors de la sélection des jointures pour llap | 
| Rétroportage | [HIVE-20433](https://issues.apache.org/jira/browse/HIVE-20433) : La conversion implicite d'une chaîne en horodatage est lente | 
| Rétroportage | [HIVE-20432](https://issues.apache.org/jira/browse/HIVE-20432) : Réécrire BETWEEN en IN pour les types entiers pour l'estimation des statistiques | 
| Rétroportage | [HIVE-20423](https://issues.apache.org/jira/browse/HIVE-20423) : Définir NULLS LAST comme ordre nul par défaut | 
| Rétroportage | [HIVE-20418](https://issues.apache.org/jira/browse/HIVE-20418) : LLAP IO peut ne pas gérer les fichiers ORC dont l'index de ligne est correctement désactivé pour les requêtes sans colonne sélectionnée | 
| Rétroportage | [HIVE-20412](https://issues.apache.org/jira/browse/HIVE-20412) : Entrée NPE HiveMetaHook | 
| Rétroportage | [HIVE-20406](https://issues.apache.org/jira/browse/HIVE-20406) : La coalescence imbriquée donne des résultats incorrects | 
| Rétroportage | [HIVE-20399](https://issues.apache.org/jira/browse/HIVE-20399) : L'emplacement de table w/a personnalisé CTAS qui n'est pas entièrement qualifié échoue pour les tables MM | 
| Rétroportage | [HIVE-20393 : Réduction des semi-jointures](https://issues.apache.org/jira/browse/HIVE-20393) : FordPP se comporte de manière incohérente markSemiJoin | 
| Rétroportage | [HIVE-20391](https://issues.apache.org/jira/browse/HIVE-20391) : HiveAggregateReduceFunctionsRule peut déduire un type de retour erroné lors de la décomposition de la fonction d'agrégation | 
| Rétroportage | [HIVE-20383](https://issues.apache.org/jira/browse/HIVE-20383) : Nom de file d'attente non valide et problèmes de synchronisation dans Hive Proto Events Hook. | 
| Rétroportage | [HIVE-20367](https://issues.apache.org/jira/browse/HIVE-20367) : Vectorisation : Support du streaming pour PTF AVG, MAX, MIN, SUM | 
| Rétroportage | [HIVE-20366](https://issues.apache.org/jira/browse/HIVE-20366) : Les estimations de statistiques de la requête TPC-DS 78 sont erronées pour son filtre nul | 
| Rétroportage | [HIVE-20364](https://issues.apache.org/jira/browse/HIVE-20364) : Mettre à jour la valeur par défaut pour hive.map.aggr.hash.min.reduction | 
| Rétroportage | [HIVE-20352](https://issues.apache.org/jira/browse/HIVE-20352) : Vectorisation : fonction de regroupement de supports | 
| Rétroportage | [HIVE-20347](https://issues.apache.org/jira/browse/HIVE-20347) : hive.optimize.sort.dynamic.partition devrait fonctionner avec des CTAS et des MV partitionnés | 
| Rétroportage | [HIVE-20345](https://issues.apache.org/jira/browse/HIVE-20345) : La base de données Drop peut se bloquer si les tables sont supprimées lors d'un autre appel | 
| Rétroportage | [HIVE-20343](https://issues.apache.org/jira/browse/HIVE-20343) : Hive 3 : le CTAS ne respecte pas les propriétés transactionnelles | 
| Rétroportage | [HIVE-20340](https://issues.apache.org/jira/browse/HIVE-20340) : Druid a besoin d'une valeur explicite CASTs allant de l'horodatage à la chaîne lorsque la sortie de la fonction d'horodatage est utilisée sous forme de chaîne | 
| Rétroportage | [HIVE-20339](https://issues.apache.org/jira/browse/HIVE-20339) : Vectorisation : suppression d'une restriction inutile empêchant la vectorisation de certains PTF avec RANK | 
| Rétroportage | [HIVE-20337](https://issues.apache.org/jira/browse/HIVE-20337) : CachedStore : getPartitionsBy Expr ne remplit pas correctement la liste des partitions | 
| Rétroportage | [HIVE-20336](https://issues.apache.org/jira/browse/HIVE-20336) : Politiques de masquage et de filtrage pour les vues matérialisées | 
| Rétroportage | [HIVE-20326](https://issues.apache.org/jira/browse/HIVE-20326) : Créer des contraintes avec RELY par défaut au lieu de NO RELY | 
| Rétroportage | [HIVE-20321](https://issues.apache.org/jira/browse/HIVE-20321) : Vectorisation : réduction de la taille de la mémoire de 1 col à <1 VectorHashKeyWrapper CacheLine | 
| Rétroportage | [HIVE-20320](https://issues.apache.org/jira/browse/HIVE-20320) : Activer l'indicateur hive.optimize.remove.sq\$1count\$1check | 
| Rétroportage | [HIVE-20315](https://issues.apache.org/jira/browse/HIVE-20315) : Vectorisation : corriger davantage de problèmes de résultats nuls ou erronés et éviter les casts/conversions inutiles | 
| Rétroportage | [HIVE-20314](https://issues.apache.org/jira/browse/HIVE-20314) : Inclure l'élimination des partitions dans la réécriture des vues matérialisées | 
| Rétroportage | [HIVE-20312](https://issues.apache.org/jira/browse/HIVE-20312) : Autoriser les clients Arrow à utiliser les leurs avec BufferAllocator LlapOutputFormatService | 
| Rétroportage | [HIVE-20302](https://issues.apache.org/jira/browse/HIVE-20302) : LLAP : l'exécution non vectorisée dans IO ignore les colonnes virtuelles, y compris ROW\$1\$1ID | 
| Rétroportage | [HIVE-20300](https://issues.apache.org/jira/browse/HIVE-20300) : VectorFileSinkArrowOperator | 
| Rétroportage | [HIVE-20299](https://issues.apache.org/jira/browse/HIVE-20299) : course potentielle lors du test unitaire des signataires du LLAP | 
| Rétroportage | [HIVE-20296](https://issues.apache.org/jira/browse/HIVE-20296) : Améliorez HivePointLookupOptimizerRule pour pouvoir extraire des données de contextes plus sophistiqués | 
| Rétroportage | [HIVE-20294](https://issues.apache.org/jira/browse/HIVE-20294) : Vectorisation : correction des problèmes de résultats nuls ou erronés dans COALESCE/ELT | 
| Rétroportage | [HIVE-20292](https://issues.apache.org/jira/browse/HIVE-20292) : Mauvais ordre des jointures dans la requête tpcds 93 avec une contrainte principale définie | 
| Rétroportage | [HIVE-20290](https://issues.apache.org/jira/browse/HIVE-20290) : Initialisation lente pour ne pas ArrowColumnarBatchSerDe allouer de tampons pendant GetSplits | 
| Rétroportage | [HIVE-20281](https://issues.apache.org/jira/browse/HIVE-20281) : SharedWorkOptimizer échec avec « le contenu du cache de l'opérateur et le plan réel diffèrent » | 
| Rétroportage | [HIVE-20277](https://issues.apache.org/jira/browse/HIVE-20277) : Vectorisation : les expressions de cas qui renvoient une valeur BOOLEAN ne sont pas prises en charge pour FILTER | 
| Rétroportage | [HIVE-20267](https://issues.apache.org/jira/browse/HIVE-20267) : Extension de WebUI pour inclure un formulaire afin de configurer dynamiquement les niveaux de journalisation | 
| Rétroportage | [HIVE-20263](https://issues.apache.org/jira/browse/HIVE-20263) : Faute de frappe dans la variable HiveReduceExpressionsWithStatsRule  | 
| Rétroportage | [HIVE-20260](https://issues.apache.org/jira/browse/HIVE-20260) : Le NDV d'une colonne ne doit pas être redimensionné lorsque le nombre de lignes est modifié par un filtre sur une autre colonne | 
| Rétroportage | [HIVE-20252](https://issues.apache.org/jira/browse/HIVE-20252) : Réduction des semi-jointures : les cycles dus à une branche semi-jointive peuvent passer inaperçus si une jointure cartographique se trouve en amont d'une petite table. | 
| Rétroportage | [HIVE-20245](https://issues.apache.org/jira/browse/HIVE-20245) : Vectorisation : correction des problèmes de résultats nuls ou erronés dans BETWEEN/IN | 
| Rétroportage | [HIVE-20241](https://issues.apache.org/jira/browse/HIVE-20241) : Support des spécifications de partitionnement dans les instructions CTAS | 
| Rétroportage | [HIVE-20240](https://issues.apache.org/jira/browse/HIVE-20240) : Réduction des semi-jointures : utilisez une variable locale pour vérifier l'état de la table externe | 
| Rétroportage | [HIVE-20226](https://issues.apache.org/jira/browse/HIVE-20226) : HMS getNextNotification lancera une exception lorsque la requête MaxEvents dépasse le max\$1rows de la table | 
| Rétroportage | [HIVE-20225](https://issues.apache.org/jira/browse/HIVE-20225) : SerDe pour prendre en charge le format binaire Teradata | 
| Rétroportage | [HIVE-20213](https://issues.apache.org/jira/browse/HIVE-20213) : Mise à niveau de Calcite vers la version 1.17.0 | 
| Rétroportage | [HIVE-20212](https://issues.apache.org/jira/browse/HIVE-20212) : HiveServer2 en mode http émet la métrique default.General.open\$1connections de manière incorrecte | 
| Rétroportage | [HIVE-20210](https://issues.apache.org/jira/browse/HIVE-20210) : L'optimiseur Simple Fetch devrait permettre de filtrer sur une colonne autre que la MapReduce partition et que la conversion sont minimales | 
| Rétroportage | [HIVE-20209](https://issues.apache.org/jira/browse/HIVE-20209) : La connexion au métastore échoue lors de la première tentative de vidage de repl | 
| Rétroportage | [HIVE-20207](https://issues.apache.org/jira/browse/HIVE-20207) : Vectorisation : correction des problèmes de résultats nuls ou erronés dans Filter/Comparer | 
| Rétroportage | [HIVE-20204](https://issues.apache.org/jira/browse/HIVE-20204) : Conversion de type pendant IN | 
| Rétroportage | [HIVE-20203](https://issues.apache.org/jira/browse/HIVE-20203) : Arrow divulgue un SerDe DirectByteBuffer | 
| Rétroportage | [HIVE-20197](https://issues.apache.org/jira/browse/HIVE-20197) : Vectorisation : ajout du test DECIMAL\$164, ajout d'arithmétique et ajout d'autres tests GROUP BY Aggrégation Date/Interval/Timestamp | 
| Rétroportage | [HIVE-20193](https://issues.apache.org/jira/browse/HIVE-20193) : CBOInfo n'est pas présent dans le fichier json du plan d'explication | 
| Rétroportage | [HIVE-20192](https://issues.apache.org/jira/browse/HIVE-20192) : HS2 avec le métastore intégré, des objets du gestionnaire fuient JDOPersistence | 
| Rétroportage | [HIVE-20183](https://issues.apache.org/jira/browse/HIVE-20183) : L'insertion depuis une table à compartiments peut entraîner une perte de données si la table source contient un compartiment vide | 
| Rétroportage | [HIVE-20177](https://issues.apache.org/jira/browse/HIVE-20177) : Vectorisation : réduction de l'allocation en mode streaming KeyWrapper GroupBy  | 
| Rétroportage | [HIVE-20174](https://issues.apache.org/jira/browse/HIVE-20174) : Vectorisation : correction des problèmes de résultats nuls ou erronés dans les fonctions d'agrégation GROUP BY | 
| Rétroportage | [HIVE-20172](https://issues.apache.org/jira/browse/HIVE-20172) : StatsUpdater échec avec une exception GSS lors de la tentative de connexion à une métastore distante | 
| Rétroportage | [HIVE-20153](https://issues.apache.org/jira/browse/HIVE-20153) : Count and Sum UDF consomment plus de mémoire dans Hive 2\$1 | 
| Rétroportage | [HIVE-20152](https://issues.apache.org/jira/browse/HIVE-20152) : réinitialise l'état de la base de données, lorsque le vidage de repl échoue, afin de pouvoir renommer la table | 
| Rétroportage | [HIVE-20149](https://issues.apache.org/jira/browse/HIVE-20149) : échec/expiration du délai TestHiveCli  | 
| Rétroportage | [HIVE-20130](https://issues.apache.org/jira/browse/HIVE-20130) : Meilleure journalisation pour le synchroniseur de schémas d'informations | 
| Rétroportage | [HIVE-20129](https://issues.apache.org/jira/browse/HIVE-20129) : Revenir à l'évolution du schéma basée sur la position pour les tables orc | 
| Rétroportage | [HIVE-2018 :.](https://issues.apache.org/jira/browse/HIVE-20118) SessionStateUserAuthenticator getGroupNames | 
| Rétroportage | [HIVE-20116 : utilise](https://issues.apache.org/jira/browse/HIVE-20116) l'enregistreur TezTask parent | 
| Rétroportage | [HIVE-20115](https://issues.apache.org/jira/browse/HIVE-20115) : Les tableaux acides ne doivent pas utiliser le scan du pied de page pour l'analyse | 
| Rétroportage | [HIVE-20103](https://issues.apache.org/jira/browse/HIVE-20103) : WM : agréger les compteurs DAG uniquement si au moins un est utilisé | 
| Rétroportage | [HIVE-20101](https://issues.apache.org/jira/browse/HIVE-20101) : Bloom KFilter : évitez complètement d'utiliser les tableaux d'octets locaux [] | 
| Rétroportage | [HIVE-20100](https://issues.apache.org/jira/browse/HIVE-20100) OpTraits  : Select Optraits devrait cesser lorsqu'une incompatibilité est détectée | 
| Rétroportage | [HIVE-20098](https://issues.apache.org/jira/browse/HIVE-20098) : Statistiques : NPE lors de l'obtention des statistiques de partition de la colonne Date | 
| Rétroportage | [HIVE-20095](https://issues.apache.org/jira/browse/HIVE-20095) : Correction d'une fonctionnalité permettant de transférer le calcul vers des tables externes JDBC | 
| Rétroportage | [HIVE-20093](https://issues.apache.org/jira/browse/HIVE-20093) : LlapOutputFomatService : Utilisation ArrowBuf avec Netty pour la comptabilité | 
| Rétroportage | [HIVE-20090](https://issues.apache.org/jira/browse/HIVE-20090) : Étendre la création de filtres de réduction à semi-jointure afin de découvrir de nouvelles opportunités | 
| Rétroportage | [HIVE-20088](https://issues.apache.org/jira/browse/HIVE-20088) : Le chemin de localisation de la configuration Beeline est mal assemblé | 
| Rétroportage | [HIVE-20082](https://issues.apache.org/jira/browse/HIVE-20082) : la conversion HiveDecimal en chaîne ne formate pas correctement le décimal | 
| Rétroportage | [HIVE-20069](https://issues.apache.org/jira/browse/HIVE-20069) : Correction de la réoptimisation en cas d'optimisation DPP et Semijoin | 
| Rétroportage | [HIVE-20051](https://issues.apache.org/jira/browse/HIVE-20051) : Ignorer l'autorisation pour les tables temporaires | 
| Rétroportage | [HIVE-20044](https://issues.apache.org/jira/browse/HIVE-20044) : Arrow Serde doit enregistrer les valeurs des caractères et gérer correctement les chaînes vides | 
| Rétroportage | [HIVE-20028](https://issues.apache.org/jira/browse/HIVE-20028) : La configuration du cache du client Metastore n'est pas utilisée correctement | 
| Rétroportage | [HIVE-20025](https://issues.apache.org/jira/browse/HIVE-20025) : Nettoyage des fichiers d'événements créés par HiveProtoLoggingHook | 
| Rétroportage | [HIVE-20020](https://issues.apache.org/jira/browse/HIVE-20020) : Le fichier Jar Hive Contrib ne doit pas être dans lib | 
| Rétroportage | [HIVE-20013](https://issues.apache.org/jira/browse/HIVE-20013) : Ajouter un type de conversion implicite à date pour la fonction to\$1date | 
| Rétroportage | [HIVE-20011](https://issues.apache.org/jira/browse/HIVE-20011) : Élimination du mode ajout dans Proto Logging Hook | 
| Rétroportage | [HIVE-20005](https://issues.apache.org/jira/browse/HIVE-20005) : acid\$1table\$1stats, acid\$1no\$1buckets, etc. - modification du résultat de la requête sur la branche | 
| Rétroportage | [HIVE-20004](https://issues.apache.org/jira/browse/HIVE-20004) : Une mauvaise échelle utilisée par ConvertDecimal 64 ToDecimal entraîne des résultats incorrects | 
| Rétroportage | [HIVE-19995](https://issues.apache.org/jira/browse/HIVE-19995) : Trafic de lignes agrégé pour les tables acides | 
| Rétroportage | [HIVE-19993](https://issues.apache.org/jira/browse/HIVE-19993) : Il n'est pas possible d'utiliser un alias de table qui apparaît également sous forme de nom de colonne | 
| Rétroportage | [HIVE-19992](https://issues.apache.org/jira/browse/HIVE-19992) : Vectorisation : suivi de HIVE-19951 --> ajout d'un appel à. SchemaEvolution isOnlyImplicitConversion pour désactiver le LLAP codé I/O pour ORC uniquement lorsque la conversion de type de données n'est pas implicite | 
| Rétroportage | [HIVE-19989](https://issues.apache.org/jira/browse/HIVE-19989) : Metastore utilise un nom d'application incorrect pour les métriques HADOOP2  | 
| Rétroportage | [HIVE-19981](https://issues.apache.org/jira/browse/HIVE-19981) : Les tables gérées converties en tables externes par l' HiveStrictManagedMigration utilitaire doivent être configurées pour supprimer les données lorsque la table est supprimée | 
| Rétroportage | [HIVE-19967](https://issues.apache.org/jira/browse/HIVE-19967) : Adhésion d'une PME : besoin d'Optraits pour une opération GBY PTFOperator  | 
| Rétroportage | [HIVE-19935](https://issues.apache.org/jira/browse/HIVE-19935) : Session Hive WM interrompue : échec de la mise à jour du nombre de tâches LLAP | 
| Rétroportage | [HIVE-19924](https://issues.apache.org/jira/browse/HIVE-19924) : Marquer les tâches distcp exécutées par Repl Load | 
| Rétroportage | [HIVE-19891](https://issues.apache.org/jira/browse/HIVE-19891) : l'insertion dans des tables externes avec des répertoires de partitions personnalisés peut entraîner une perte de données | 
| Rétroportage | [HIVE-19850](https://issues.apache.org/jira/browse/HIVE-19850) : L'élimination des partitions dynamiques dans Tez entraîne l'erreur « Aucun travail trouvé pour TableScan » | 
| Rétroportage | [HIVE-19806](https://issues.apache.org/jira/browse/HIVE-19806) : Trier les résultats des tests pour éviter les défauts dans les résultats des tests | 
| Rétroportage | [HIVE-19770](https://issues.apache.org/jira/browse/HIVE-19770) : Support du CBO pour les requêtes comportant plusieurs colonnes identiques dans Select | 
| Rétroportage | [HIVE-19769](https://issues.apache.org/jira/browse/HIVE-19769) : Création d'objets dédiés pour les noms de bases de données et de tables | 
| Rétroportage | [HIVE-19765](https://issues.apache.org/jira/browse/HIVE-19765) : Ajouter des tests spécifiques au parquet à BlobstoreCliDriver | 
| Rétroportage | [HIVE-19759 : Test floconneux](https://issues.apache.org/jira/browse/HIVE-19759) : \$1 TestRpc testServerPort | 
| Rétroportage | [HIVE-19711](https://issues.apache.org/jira/browse/HIVE-19711) : Outil de schéma Refactor Hive | 
| Rétroportage | [HIVE-19701](https://issues.apache.org/jira/browse/HIVE-19701) : getDelegationToken FromMetaStore n'a pas besoin d'être synchronisé | 
| Rétroportage | [HIVE-19694](https://issues.apache.org/jira/browse/HIVE-19694) : L'instruction Create Materialized View doit vérifier les conflits de noms de MV avant d'exécuter l'instruction SQL de MV. | 
| Rétroportage | [HIVE-19674](https://issues.apache.org/jira/browse/HIVE-19674) : Regrouper par constantes décimales jusqu'à la table Druid | 
| Rétroportage | [HIVE-19668](https://issues.apache.org/jira/browse/HIVE-19668) : Plus de 30 % du tas est gaspillé en dupliquant org.antlr.runtime. CommonTokenet chaînes dupliquées | 
| Rétroportage | [HIVE-19663](https://issues.apache.org/jira/browse/HIVE-19663) : génération de rapports LLAP IO refactorisés | 
| Rétroportage | [HIVE-19661](https://issues.apache.org/jira/browse/HIVE-20829) : passez à Hive UDFs pour utiliser le moteur Re2J regex | 
| Rétroportage | [HIVE-19628](https://issues.apache.org/jira/browse/HIVE-19628) : NPE possible dans LLAP TestSigning | 
| Rétroportage | [HIVE-19568](https://issues.apache.org/jira/browse/HIVE-19568) : Active/Passive HS2 HA : Interdire la connexion directe à une instance passive HS2  | 
| Rétroportage | [HIVE-19564](https://issues.apache.org/jira/browse/HIVE-19564) : Vectorisation : correction des problèmes de résultats nuls ou erronés en arithmétique | 
| Rétroportage | [HIVE-19552](https://issues.apache.org/jira/browse/HIVE-19552) : Activez \$1druidkafkamini\$1basic .q TestMiniDruidKafkaCliDriver | 
| Rétroportage | [HIVE-19432](https://issues.apache.org/jira/browse/HIVE-19432) : GetTablesOperation est trop lent si la ruche contient trop de bases de données et de tables | 
| Rétroportage | [HIVE-19360](https://issues.apache.org/jira/browse/HIVE-19360) : CBO : ajoute un « SQL optimisé » à l'objet QueryPlan  | 
| Rétroportage | [HIVE-19326](https://issues.apache.org/jira/browse/HIVE-19326) : collecte automatique des statistiques : agrégation incorrecte lors des requêtes UNION | 
| Rétroportage | [HIVE-19313](https://issues.apache.org/jira/browse/HIVE-19313) : TestJdbcWith DBToken StoreNoDoAs les tests échouent | 
| Rétroportage | [HIVE-19285](https://issues.apache.org/jira/browse/HIVE-19285) : Ajoutez des journaux aux sous-classes de MetaDataOperation | 
| Rétroportage | [HIVE-19235](https://issues.apache.org/jira/browse/HIVE-19235) : Mettre à jour les fichiers dorés pour les tests Minimr | 
| Rétroportage | [HIVE-19104](https://issues.apache.org/jira/browse/HIVE-19104) : Lorsque le test MetaStore est lancé avec une nouvelle tentative, les instances doivent être indépendantes | 
| Rétroportage | [HIVE-18986](https://issues.apache.org/jira/browse/HIVE-18986) : Le changement de nom de table exécutera java.lang. StackOverflowError dans DataNucleus si la table contient un grand nombre de colonnes | 
| Rétroportage | [HIVE-18920](https://issues.apache.org/jira/browse/HIVE-18920) : CBO : initialise les fournisseurs Janino avant la première requête | 
| Rétroportage | [HIVE-18873](https://issues.apache.org/jira/browse/HIVE-18873) : Le fait d'ignorer silencieusement le renvoi du prédicat pour la résonance magnétique HiveInputFormat peut entraîner la production de résultats erronés par les gestionnaires de stockage | 
| Rétroportage | [HIVE-18871](https://issues.apache.org/jira/browse/HIVE-18871) : Erreur d'exécution de hive on tez due à la définition de hive.aux.jars.path sur hdfs :// | 
| Rétroportage | [HIVE-18725](https://issues.apache.org/jira/browse/HIVE-18725) : Améliore la gestion des erreurs pour les sous-requêtes en cas de référence de colonne incorrecte | 
| Rétroportage | [HIVE-18696](https://issues.apache.org/jira/browse/HIVE-18696) : Les dossiers de partition risquent de ne pas être nettoyés correctement dans la méthode HiveMetaStore .add\$1partitions\$1core si un | 
| Rétroportage | [HIVE-18453](https://issues.apache.org/jira/browse/HIVE-18453) : ACID : ajout de la syntaxe « CREATE TRANSACTIONAL TABLE » pour unifier le support ACID ORC et Parquet | 
| Rétroportage | [HIVE-18201](https://issues.apache.org/jira/browse/HIVE-18201) : Désactiver XPROD\$1EDGE pour sq\$1count\$1chec | 
| Rétroportage | [HIVE-18140](https://issues.apache.org/jira/browse/HIVE-18140) : Les statistiques des tables partitionnées peuvent mal tourner dans les statistiques de base | 
| Rétroportage | [HIVE-17921](https://issues.apache.org/jira/browse/HIVE-17921) : L'agrégation avec une structure dans LLAP produit un résultat erroné | 
| Rétroportage | [HIVE-17896](https://issues.apache.org/jira/browse/HIVE-17896) : Top NKey : Création d'un opérateur Top vectorisable autonome NKey  | 
| Rétroportage | [HIVE-17840](https://issues.apache.org/jira/browse/HIVE-17840) : HiveMetaStore mange une exception en cas d'échec de TransactionAllisteners.NotifyEvent | 
| Rétroportage | [HIVE-17043](https://issues.apache.org/jira/browse/HIVE-17043) : Supprimer les colonnes non uniques du groupe par clés si elles ne sont pas référencées ultérieurement | 
| Rétroportage | [HIVE-17040](https://issues.apache.org/jira/browse/HIVE-17040) : Élimination conjointe en présence d'une relation FK | 
| Rétroportage | [HIVE-16839](https://issues.apache.org/jira/browse/HIVE-16839) : appels déséquilibrés openTransaction/commitTransaction lorsque vous modifiez simultanément la même partition | 
| Rétroportage | [HIVE-16100](https://issues.apache.org/jira/browse/HIVE-16100) : L'optimiseur de partitions triées dynamiques perd ses opérateurs frères | 
| Rétroportage | [HIVE-15956](https://issues.apache.org/jira/browse/HIVE-15956) : StackOverflowError lorsque vous supprimez de nombreuses partitions | 
| Rétroportage | [HIVE-15177](https://issues.apache.org/jira/browse/HIVE-15177) : L'authentification avec Hive échoue lorsque le type d'authentification Kerberos est défini sur FromSubject et que le principal contient \$1HOST | 
| Rétroportage | [HIVE-14898](https://issues.apache.org/jira/browse/HIVE-14898) : HS2 ne devrait pas enregistrer la pile d'appels pour une erreur d'en-tête d'authentification vide | 
| Rétroportage | [HIVE-14493](https://issues.apache.org/jira/browse/HIVE-14493) : Support de partitionnement pour les vues matérialisées | 
| Rétroportage | [HIVE-14431](https://issues.apache.org/jira/browse/HIVE-14431) : Reconnaître COALESCE comme CASE | 
| Rétroportage | [HIVE-13457](https://issues.apache.org/jira/browse/HIVE-13457) : Création de points de terminaison d' HS2 API REST pour surveiller les informations | 
| Rétroportage | [HIVE-12342](https://issues.apache.org/jira/browse/HIVE-12342) : Définir la valeur par défaut de hive.optimize.index.filter sur true | 
| Rétroportage | [HIVE-10296](https://issues.apache.org/jira/browse/HIVE-10296) : Exception Cast observée lorsque Hive exécute une requête de jointure multiple sur Metastore | 
| Rétroportage | [HIVE-6980](https://issues.apache.org/jira/browse/HIVE-6980) : Supprimer une table en utilisant Direct SQL | 

## Amazon EMR 6.6.0 - Modifications apportées à la configuration de Hive
<a name="emr-Hive-660-configs"></a>
+ Dans le cadre de la modification OSS [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703), la propriété permettant de trier les partitions dynamiques, `hive.optimize.sort.dynamic.partition`, a été remplacée `hive.optimize.sort.dynamic.partition.threshold`. 

  La configuration `hive.optimize.sort.dynamic.partition.threshold` possède les valeurs potentielles suivantes :    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/emr/latest/ReleaseGuide/Hive-release-history-660.html)

## Amazon EMR 6.6.0 - Problèmes connus liés à Hive
<a name="emr-Hive-660-issues"></a>
+ Les requêtes avec des fonctions de fenêtrage sur la même colonne que la jointure peuvent conduire à des transformations invalides comme rapporté dans [HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278) et causer des résultats incorrects ou des échecs de requête. Pour contourner ce problème, vous pouvez désactiver CBO au niveau de la requête pour ce type de requête. Contactez AWS le support pour plus d'informations.
+  Amazon EMR 6.6.0 inclut la version 3.1.2 du logiciel Hive. Hive 3.1.2 introduit une fonctionnalité qui divise les fichiers texte s'ils contiennent un en-tête et un pied de page ([HIVE-21924](https://issues.apache.org/jira/browse/HIVE-21924)). L'Apache Tez App Master lit chacun de vos fichiers pour déterminer les points de décalage dans la plage de données. Ces comportements combinés peuvent avoir un impact négatif sur les performances si vos requêtes lisent un grand nombre de petits fichiers texte. Pour contourner le problème, utilisez `CombineHiveInputFormat` et ajustez la taille de division maximale en configurant les propriétés suivantes :

  ```
  SET hive.tez.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
  SET mapreduce.input.fileinputformat.split.maxsize=16777216;
  ```
+ Avec Amazon EMR 6.6.0 à 6.9.x, les requêtes INSERT avec partition dynamique et clause ORDER BY ou SORT BY auront toujours deux réducteurs. Ce problème est dû à la modification d'OSS [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703), qui place l'optimisation des partitions dynamiques de tri dans le cadre d'une décision basée sur les coûts. Si votre charge de travail ne nécessite pas le tri des partitions dynamiques, nous vous recommandons de définir la propriété `hive.optimize.sort.dynamic.partition.threshold` sur `-1` pour désactiver la nouvelle fonctionnalité et obtenir le nombre de réducteurs correctement calculé. Ce problème est résolu dans OSS Hive dans le cadre de [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) et dans Amazon EMR 6.10.0.