

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

Hive はオープンソースのデータウェアハウス兼分析パッケージで、Hadoop クラスター上で動作します。Hive スクリプトは、Hive QL (クエリ言語) という SQL に似た言語を使用しています。この言語はプログラミングモデルを抽象化しており、データウェアハウスとの一般的なやりとりをサポートします。Hive では、Directed Acyclic Graphs (DAG) や MapReduce プログラムに基づいて Java などの下位レベルのコンピューター言語で Tez ジョブを記述する複雑さを回避できます。

Hive は、シリアライズ形式を取り込むことで、SQL の枠組みを拡張しています。また、データ自体は操作せずにデータと一致するテーブルスキーマを作成することで、クエリ処理をカスタマイズすることもできます。SQL は日付、数値、文字列などのプリミティブなデータ型のみサポートしていますが、Hive テーブルの値は JSON オブジェクト、ユーザー定義のデータ型、Java で記述した関数などの構造化された要素です。

Hive の詳細については、[http://hive.apache.org/](http://hive.apache.org/) を参照してください。

次の表は、Amazon EMR 7.x シリーズの最新リリースに含まれている Hive のバージョンと、Amazon EMR で Hive と共にインストールされるコンポーネントを示しています。

このリリースで Hive と共にインストールされるコンポーネントのバージョンについては、[「リリース 7.12.0 コンポーネントバージョン](emr-7120-release.md)」を参照してください。


**emr-7.12.0 の Hive バージョン情報**  

| Amazon EMR リリースラベル | Hive のバージョン | 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 | 

次の表は、Amazon EMR 6.x シリーズの最新リリースに含まれている Hive のバージョンと、Amazon EMR で Hive と共にインストールされるコンポーネントを示しています。

このリリースで Hive と共にインストールされるコンポーネントのバージョンについては、「[リリース 6.15.0 コンポーネントバージョン](emr-6150-release.md)」を参照してください。


**emr-6.15.0 の Hive バージョン情報**  

| Amazon EMR リリースラベル | Hive のバージョン | 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 | 

次の表は、Amazon EMR 5.x シリーズの最新リリースに含まれている Hive のバージョンと、Amazon EMR で Hive と共にインストールされるコンポーネントを示しています。

このリリースで Hive と共にインストールされるコンポーネントのバージョンについては、「[Release 5.36.2 Component Versions](emr-5362-release.md)」を参照してください。


**emr-5.36.2 の Hive バージョン情報**  

| Amazon EMR リリースラベル | Hive のバージョン | 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 | 

Amazon EMR 5.18.0 以降では、Amazon EMR アーティファクトリポジトリを使用し、特定の Amazon EMR リリースで利用可能なライブラリおよび依存関係の正確なバージョンに対してジョブコードをビルドできます。詳細については、「[Amazon EMR アーティファクトリポジトリを使用して依存関係を確認する](emr-artifact-repository.md)」を参照してください。

**Topics**
+ [Amazon EMR 上の Hive の相違点と考慮事項](emr-hive-differences.md)
+ [Hive の外部メタストアの設定](emr-metastore-external-hive.md)
+ [Hive JDBC ドライバーの使用](HiveJDBCDriver.md)
+ [Hive のパフォーマンスの向上](emr-hive-s3-performance.md)
+ [Hive Live Long and Process (LLAP) の使用](emr-hive-llap.md)
+ [Hive での暗号化](hive-encryption.md)
+ [Hive リリース履歴](Hive-release-history.md)

# Amazon EMR 上の Hive の相違点と考慮事項
<a name="emr-hive-differences"></a>

## Amazon EMR 上の Apache Hive と Apache Hive の相違点
<a name="emr-hive-apache-diff"></a>

このセクションでは、Amazon EMR 上の Hive と [http://svn.apache.org/viewvc/hive/branches/](http://svn.apache.org/viewvc/hive/branches/) で入手できるデフォルトバージョンの Hive の相違点について説明します。

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

 Amazon EMR は、EMRFS と Amazon S3 ではなく HDFS の [Hive 認可](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization)をサポートします。Amazon EMR クラスターは、デフォルトで認可が無効な状態で実行されます。

### Amazon S3 での Hive ファイルマージ動作
<a name="emr-hive-filemerge"></a>

Apache Hive は `hive.merge.mapfiles` が true の場合はマップのみジョブの最後に小さいファイルをマージし、マージはジョブの平均出力サイズが `hive.merge.smallfiles.avgsize` 設定未満の場合にのみトリガされます。最終出力パスが HDFS 内にある場合は、Amazon EMR Hive でも動作はまったく同じです。出力パスが Amazon S3 内の場合、`hive.merge.smallfiles.avgsize` パラメータは無視されます。その場合、`hive.merge.mapfiles` が `true` に設定されているとマージタスクが常にトリガされます。

### ACID トランザクションおよび Amazon S3
<a name="emr-hive-acid"></a>

Amazon EMR 6.1.0 以降では、Hive ACID (不可分性、整合性、分離性、耐久性) トランザクションをサポートしているため、データベースの ACID プロパティに準拠しています。この機能を使用すると、Amazon Simple Storage Service (Amazon S3) のデータを使用して Hive マネージドテーブルで INSERT、UPDATE、DELETE および MERGE の各オペレーションを実行できます。

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

デフォルトの Apach Hive のバージョン 2.0 で追加された [LLAP 機能](https://cwiki.apache.org/confluence/display/Hive/LLAP)は、Amazon EMR リリース 5.0 の Hive 2.1.0 ではサポートされません。

Amazon EMR バージョン 6.0.0 以降では、Hive の Live Long and Process (LLAP) 機能をサポートしています。詳細については、「[Hive LLAP の使用](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-llap.html)」を参照してください。

## Amazon EMR リリースバージョン 4.x と 5.x の Hive の相違点
<a name="emr-hive-diff"></a>

このセクションでは、Amazon EMR リリース 4.x 上の Hive バージョン 1.0.0 から Amazon EMR リリース 5.x 上の Hive 2.x に Hive の実装を移行する前に考慮すべき相違点について説明します。

### 運用面での相違点と考慮事項
<a name="emr-hive-diffs-ops"></a>
+ **[ACID (不可分性、整合性、分離性、耐久性) トランザクション](https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions)のサポートの追加:** Amazon EMR 4.x 上の Hive 1.0.0 とデフォルトの Apache Hive のこの相違点は排除されています。
+ **Amazon S3 への直接書き込みの排除:** Amazon EMR 上の Hive 1.0.0 とデフォルトの Apache Hive のこの相違点は排除されています。Amazon EMR リリース 5.x 上の Hive 2.1.0 は、現在、Amazon S3 に保存される一時ファイルの作成、読み取り、書き込みを行います。結果として、同じ表の読み取りと書き込みのために、対処法としてクラスターのローカル HDFS ファイルシステムに一時テーブルを作成する必要はなくなります。バージョニング対応バケットを使用する場合、これらの一時ファイルを必ず以下のように管理してください。
+ **Amazon S3 バージョニング対応バケットを使用する場合の一時ファイルの管理:** 生成されたデータの出力先が Amazon S3 である Hive クエリを実行すると、多くの一時ファイルとディレクトリが作成されます。これは、前述の新しい動作です。バージョニング対応 S3 バケットを使用する場合、これらの一時ファイルのために Amazon S3 が煩雑になり、削除されないならコストが発生します。`/_tmp` プレフィックスが付けられたデータが 5 日などの短期間で削除されるように、ライフサイクルルールを調整します。詳細については、「[ライフサイクル設定の指定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html)」を参照してください。
+ **Log4j は Log4j 2 に更新:** Log4j を使用する場合、このアップグレードのためにログ設定を変更しなければならない場合があります。詳細については、[Apache log4j 2](http://logging.apache.org/log4j/2.x/) を参照してください。

### パフォーマンスの相違点と考慮事項
<a name="emr-hive-diffs-perf"></a>
+ **Tez によるパフォーマンスの相違点:** Amazon EMR リリース 5.x では、MapReduce ではなく Tez が Hive のデフォルトの実行エンジンです。Tez は、ほとんどのワークフローでパフォーマンスを向上させます。
+ **多くのパーティションを持つテーブル:** 多数の動的パーティションを生成するクエリは失敗することがあり、多くのパーティションを持つテーブルから選択するクエリは予想されるより時間がかかる場合があります。たとえば、100,000 個のパーティションからの選択には 10 分以上かかる場合があります。

## Amazon EMR での Hive の追加機能
<a name="emr-hive-additional-features"></a>

Amazon EMR は、Amazon Simple Storage Service (Amazon S3) や DynamoDB との間で読み書きする機能など、他の AWS サービスとの Hive 統合をサポートする新機能で Hive を拡張します。

### Hive の変数
<a name="emr-hive-variables"></a>

 Hive の引数スクリプト内で変数を使用するには、ドル記号と中括弧を使用します。

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

 これらの変数の値を Hive に渡すには、次の例で示すようにコマンドラインで `-d` パラメータを使用します。

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

 また、Hive スクリプトを実行するステップに値を渡すこともできます。

**コンソールを使用して Hive のステップに変数値を渡すには**

1. [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr/) で Amazon EMR コンソールを開きます。

1. **[クラスターを作成]** を選択します。

1. [**Steps**] セクションの [**Add Step**] で、リストから [**Hive Program**] を選択し、[**Configure and add**] を選択します。

1.  [**Add Step**] ダイアログで、次の表を参考にしながらパラメータを指定し、[**Add**] を選択します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/emr-hive-differences.html)

1. 必要に応じて値を選択し、[**Create cluster**] を選択します。

**を使用して Hive ステップに変数値を渡すには AWS CLI**

を使用して Hive ステップに変数値を渡すには AWS CLI、 `--steps`パラメータを使用して引数リストを含めます。
+ 
**注記**  
読みやすくするために、Linux 行連続文字 (\$1) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

  ```
  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/]
  ```

  での Amazon EMR コマンドの使用の詳細については AWS CLI、「」を参照してください[https://docs.aws.amazon.com/cli/latest/reference/emr](https://docs.aws.amazon.com/cli/latest/reference/emr)。

**Java SDK を使用して Hive のステップに変数値を渡すには**
+ 次の例は、SDK を使用してステップに変数を渡す方法を示しています。詳細については、「AWS SDK for Java API リファレンス」の「[Class StepFactory](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/util/StepFactory.html)」を参照してください。**

  ```
  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”));
  ```

### 部分 DynamoDB スキーマに対応するための Amazon EMR Hive クエリ
<a name="emr-hive-partial-schema"></a>

Amazon EMR Hive は、DynamoDB テーブルをクエリすると、すべての列をクエリに含める必要はなく、データをフィルターできる列のサブセットを指定できるので、柔軟性が最大になります。この部分スキーマクエリの手法は、スパースデータベーススキーマを使用し、タイムスタンプでのフィルタのように少数の列に基づいてレコードをフィルタする場合に効果的です。

 以下の例では、Hive クエリの使用方法を示します。
+ DynamoDB テーブルを作成する。
+ DynamoDB で項目 (行) のサブセットを選択し、データを特定の列までさらに絞り込む。
+ 結果のデータを 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";
```

次の表では、DynamoDB から項目の任意の組み合わせを選択するためのクエリ構文を示します。


| クエリの例 | 結果の説明 | 
| --- | --- | 
| SELECT \$1 FROM table\$1name; | 特定のテーブルからすべての項目（行）を選択し、それらの項目で使用できるすべての列のデータを含めます。 | 
| SELECT \$1 FROM table\$1name WHERE field\$1name =value; | 特定のテーブルから一部の項目（行）を選択し、それらの項目で使用できるすべての列のデータを含めます。 | 
| SELECT column1\$1name, column2\$1name, column3\$1name FROM table\$1name; | 特定のテーブルからすべての項目（行）を選択し、それらの項目で使用できる一部の列のデータを含めます。 | 
| SELECT column1\$1name, column2\$1name, column3\$1name FROM table\$1name WHERE field\$1name =value; | 特定のテーブルから一部の項目（行）を選択し、それらの項目で使用できる一部の列のデータを含めます。 | 

### 異なる AWS リージョンの DynamoDB テーブル間でデータをコピーする
<a name="emr-hive-cross-region-ddb-copy"></a>

Amazon EMR Hive には、DynamoDB テーブルごとに設定できる `dynamodb.region` プロパティがあります。2 つのテーブルで `dynamodb.region` の設定が異なると、指定されたリージョンの間でテーブル間のデータのコピーが自動的に行われます。

 次の例では、`dynamodb.region` プロパティが設定された Hive スクリプトを含む DynamoDB テーブルの作成方法を示します。

**注記**  
テーブルリージョンごとのプロパティは、グローバル Hive プロパティをオーバーライドします。

```
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");
```

### テーブルごとに DynamoDB スループット値を設定する
<a name="emr-hive-set-ddb-throughput"></a>

Amazon EMR Hive では、テーブル定義で DynamoDB の readThroughputPercent および writeThroughputPercent をテーブルごとに設定できます。以下の Amazon EMR Hive スクリプトでは、スループット値の設定方法を示します。DynamoDB スループット値の詳細については、「[Specifying Read and Write Requirements for 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");
```

# Hive の外部メタストアの設定
<a name="emr-metastore-external-hive"></a>

Hive のメタストア情報の記録先は、デフォルトでは、プライマリノードのファイルシステムにある MySQL データベースです。メタストアには、テーブルとテーブル構築の基となるデータ (パーティション名やデータタイプなど) が含まれています。クラスターが終了すると、プライマリノードも含めて、すべてのクラスターノードがシャットダウンされます。この場合、ノードファイルシステムではエフェメラルストレージが使用されているため、ローカルデータが失われます。メタストアを永続的に保存する場合は、クラスター外に*外部メタストア*を作成する必要があります。

外部メタストアとして 2 つのオプションがあります。
+ AWS Glue データカタログ (Amazon EMR リリース 5.8.0 以降のみ）。

  詳細については、「[Hive AWS のメタストアとしての Glue データカタログの使用](emr-hive-metastore-glue.md)」を参照してください。
+ Amazon RDS または Amazon Aurora。

  詳細については、「[外部の MySQL データベースまたは Amazon Aurora の使用](emr-hive-metastore-external.md)」を参照してください。

**注記**  
Hive 3 を使用していて、Hive メタストアへの接続が多すぎる場合は、パラメータ `datanucleus.connectionPool.maxPoolSize` の値を小さくするか、データベースサーバーが処理できる接続数を増やします。接続数が増えるのは、Hive が JDBC 接続の最大数を計算する方法によるものです。パフォーマンスの最適な値を計算するには、「[Hive Configuration Properties](https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-datanucleus.connectionPool.maxPoolSize.1)」を参照してください。

# Hive AWS のメタストアとしての Glue データカタログの使用
<a name="emr-hive-metastore-glue"></a>

Amazon EMR リリース 5.8.0 AWS 以降を使用して、 Glue データカタログをメタストアとして使用するように Hive を設定できます。永続的なメタストア、またはさまざまなクラスター、サービス、アプリケーション、あるいは AWS アカウントで共有されるメタストアが必要である場合は、この設定をお勧めします。

AWS Glue はフルマネージド型の抽出、変換、ロード (ETL) サービスで、データを簡単かつ費用対効果の高い方法で分類し、クリーンアップ、強化し、さまざまなデータストア間で確実に移動できます。 AWS Glue Data Catalog は、Amazon EMR、Amazon RDS、Amazon Redshift、Redshift Spectrum、Athena、および Apache Hive メタストアと互換性のある任意のアプリケーションと統合して、さまざまなデータソースとデータ形式にわたって統合されたメタデータリポジトリを提供します。 AWS Glue クローラは、Amazon S3 のソースデータからスキーマを自動的に推測し、関連するメタデータをデータカタログに保存できます。データカタログの詳細については、「 [Glue デベロッパーガイド AWS 」の「 Glue データカタログ](https://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html)の入力」を参照してください。 *AWS *

Glue AWS には個別の料金が適用されます。データカタログにメタデータを保存してアクセスするための月額料金、Glue ETL AWS ジョブとクローラランタイムに対して 1 分あたりに課金される時間料金、プロビジョニングされた開発エンドポイントごとに 1 分あたりに課金される時間料金があります。Data Catalog では、最大 100 万個までのオブジェクトを無料で保存できます。100 万を超えるオブジェクトを保存した場合は、100,000 オブジェクトごとに 1 USD が課金されます。Data Catalog 内のオブジェクトは、テーブル、パーティション、またはデータベースです。詳細については、「[Glue 料金表](https://aws.amazon.com/glue/pricing)」を参照してください。

**重要**  
2017 年 8 月 14 日より前に Amazon Athena または Amazon Redshift Spectrum を使用してテーブルを作成した場合、データベースとテーブルは AWS Glue データカタログとは別の Athena 管理カタログに保存されます。Amazon EMR をこれらのテーブルと統合するには、 AWS Glue データカタログにアップグレードする必要があります。詳細については、[「Amazon Athena ユーザーガイド」の「 AWS Glue データカタログへのアップグレード](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html)」を参照してください。 *Amazon Athena *

## AWS Glue データカタログをメタストアとして指定する
<a name="emr-hive-glue-configure"></a>

、、または Amazon EMR API を使用して AWS マネジメントコンソール AWS CLI、 AWS Glue データカタログをメタストアとして指定できます。CLI または API を使用する場合は、Hive の設定分類を使用して Data Catalog を指定します。さらに、Amazon EMR 5.16.0 以降では、設定分類を使用して別の でデータカタログを指定できます AWS アカウント。コンソールを使用する場合は、**[Advanced Options]** (詳細オプション) または **[Quick Options]** (クイックオプション) を使用して、Data Catalog を指定できます。

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

**コンソールで AWS Glue データカタログを Hive メタストアとして指定するには**

1. にサインインし AWS マネジメントコンソール、[https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) で Amazon EMR コンソールを開きます。

1. 左側のナビゲーションペインの **[EMR on EC2]** で、**[クラスター]** を選択し、**[クラスターの作成]** を選択します

1. **[アプリケーションバンドル]** で **[Core Hadoop]**、**[HBase]**、または **[カスタム]** を選択します。クラスターをカスタマイズする場合は、必ず Hive または HCatalog をアプリケーションの 1 つとして選択しします。

1. **[AWS Glue Data Catalog 設定]** で **[Hive テーブルメタデータに使用]** チェックボックスをオンにします。

1. クラスターに適用するその他のオプションを選択します。

1. クラスターを起動するには、**[クラスターの作成]** を選択します。

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

**で AWS Glue データカタログを Hive メタストアとして指定するには AWS CLI**

 AWS CLI と EMR API を使用して設定分類を指定する方法の詳細については、「」を参照してください[アプリケーションの設定](emr-configure-apps.md)。
+ 次の例に示すように、`hive-site` 設定分類を使用して `hive.metastore.client.factory.class` の値を指定します。

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

  EMR リリースバージョン 5.28.0、5.28.1、5.29.0、または 6.x で、 AWS Glue データカタログをメタストアとして使用してクラスターを作成する場合は、 `hive.metastore.schema.verification`を に設定します`false`。これにより、Hive と HCatalog が MySQL に対してメタストアスキーマを検証できなくなります。この設定がない場合、プライマリインスタンスグループは Hive または HCatalog の再設定後に中断されます。

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

  EMR リリースバージョン 5.28.0、5.28.1、または 5.29.0 にクラスターが既に存在する場合は、次の情報を使用してプライマリインスタンスグループ `hive.metastore.schema.verification` を `false` に設定できます。

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

  別の AWS アカウントでデータカタログを指定するには、次の例に示すように `hive.metastore.glue.catalogid`プロパティを追加します。`acct-id` は、データカタログの AWS アカウントに置き換えます。

  ```
  [
    {
      "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"
      }
    }
  ]
  ```

------

## IAM アクセス許可
<a name="emr-hive-glue-permissions"></a>

クラスターの EC2 インスタンスプロファイルには、 Glue アクションの AWS IAM アクセス許可が必要です。さらに、 Glue Data Catalog オブジェクト AWS の暗号化を有効にする場合は、暗号化 AWS KMS key に使用される の暗号化、復号、生成もロールに許可する必要があります。

### Glue AWS アクションのアクセス許可
<a name="emr-hive-glue-permissions-actions"></a>

Amazon EMR の デフォルトの EC2 インスタンスプロファイルを使用する場合、アクションは必要ありません。にアタッチされている `AmazonElasticMapReduceforEC2Role`マネージドポリシーは、必要なすべての Glue AWS アクション`EMR_EC2_DefaultRole`を許可します。ただし、カスタム EC2 インスタンスプロファイルとアクセス許可を指定する場合は、適切な AWS Glue アクションを設定する必要があります。開始点として `AmazonElasticMapReduceforEC2Role` 管理ポリシーを使用します。詳細については、「*Amazon EMR 管理ガイド*」の「[クラスター EC2 インスタンスのサービスロール (EC2 インスタンスプロファイル)](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role-for-ec2.html)」を参照してください。

### Glue Data Catalog AWS を暗号化および復号するためのアクセス許可
<a name="emr-hive-glue-permissions-encrypt"></a>

インスタンスプロファイルには、キーを使用してデータを暗号化および復号するためのアクセス許可が必要です。以下のステートメントが両方とも適用される場合、これらのアクセス許可を設定する必要は*ありません*。
+ Glue AWS のマネージドキーを使用して、 AWS Glue Data Catalog オブジェクトの暗号化を有効にします。
+  AWS Glue データカタログ AWS アカウント と同じ にあるクラスターを使用します。

それ以外の場合は、EC2 インスタンスプロファイルにアタッチされたアクセス許可ポリシーに次のステートメントを追加する必要があります。

 AWS Glue データカタログの暗号化の詳細については、*AWS 「 Glue デベロッパーガイド*」の[「データカタログの暗号化](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html)」を参照してください。

### リソースベースのアイデンティティアクセス許可
<a name="emr-hive-glue-permissions-resource"></a>

Amazon EMR で AWS Glue を Hive、Spark、または Presto と組み合わせて使用する場合、 AWS Glue は Data Catalog リソースへのアクセスを制御するためのリソースベースのポリシーをサポートします。これらのリソースには、データベース、テーブル、接続、ユーザー定義関数が含まれます。詳細については、「*AWS Glue デベロッパーガイド*」の「[AWS Glue リソースポリシー](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html)」を参照してください。

リソースベースのポリシーを使用して Amazon EMR 内から AWS Glue へのアクセスを制限する場合、アクセス許可ポリシーで指定するプリンシパルは、クラスターの作成時に指定する EC2 インスタンスプロファイルに関連付けられたロール ARN である必要があります。例えば、カタログにアタッチされたリソースベースのポリシーの場合、以下の例に示されている形式を使用して、クラスター EC2 インスタンスのデフォルトサービスロールのロール ARN である *EMR\$1EC2\$1DefaultRole* を `Principal` として指定できます。

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

*acct-id* は Glue アカウント ID AWS とは異なる場合があります。これにより、さまざまなアカウントで EMR クラスターからアクセスできます。異なるアカウントから、複数のプリンシパルを指定できます。

## AWS Glue データカタログを使用する際の考慮事項
<a name="emr-hive-glue-considerations-hive"></a>

Glue データカタログを Hive AWS のメタストアとして使用する場合は、次の項目を考慮してください。
+ Hive シェルを使用した補助 JAR の追加はサポートされません。この問題を回避するには、`hive-site` 設定分類を使用して `hive.aux.jars.path` プロパティを設定します。これにより、Hive のクラスパスに補助 JAR が追加されます。
+ [Hive のトランザクション](https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions)はサポートされていません。
+ Glue AWS 内からのテーブルの名前変更はサポートされていません。
+ `LOCATION` を指定せずに Hive テーブルを作成すると、テーブルデータは、`hive.metastore.warehouse.dir` プロパティによって指定された場所に保管されます。デフォルトでは、これは HDFS 内の場所です。別のクラスターがテーブルにアクセスする必要がある場合、テーブルを作成したクラスターに対する適切なアクセス許可がない限り、処理に失敗します。さらに、HDFS ストレージは一時的であるため、クラスターが終了すると、テーブルデータは失われ、テーブルを再作成する必要があります。Glue を使用して Hive テーブルを作成するときは、Amazon S3 AWS `LOCATION`で を指定することをお勧めします。または、`hive-site` 設定分類を使用して、`hive.metastore.warehouse.dir` の Amazon S3 で場所を指定できます。これは、すべての Hive テーブルに適用されます。テーブルが HDFS ロケーションで作成され、テーブルを作成したクラスターがまだ実行されている場合は、 Glue 内からテーブルロケーションを Amazon S3 AWS に更新できます。詳細については、「 [AWS Glue デベロッパーガイド」の「 Glue コンソールでのテーブルの操作](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html)」を参照してください。 *AWS *
+ 引用符とアポストロフィを含むパーティション値はサポートされていません(例: `PARTITION (owner="Doe's").`)。
+ [列統計](https://cwiki.apache.org/confluence/display/Hive/StatsDev#StatsDev-ColumnStatistics)は、emr-5.31.0 以降でサポートされています。
+ [Hive 認可](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization)の使用はサポートされていません。代替策として、[AWS Glue リソースベースのポリシー](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html)を使用することを検討してください。詳細については、「Use [Resource-Based Policies for Amazon EMR Access to AWS Glue Data Catalog](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html)」を参照してください。
+ [Hive 制約](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Constraints)はサポートされていません。
+ [Hive でのコストベースの最適化](https://cwiki.apache.org/confluence/display/Hive/Cost-based+optimization+in+Hive)はサポートされていません。
+ `hive.metastore.partition.inherit.table.properties` の使用はサポートされていません。
+ 次のメタストア定数の使用はサポートされていません。`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`。
+ 述語式を使用する場合、明示的な値が比較演算子の右側にある必要があります。そうしなければ、クエリが失敗する可能性があります。
  + **正**: `SELECT * FROM mytable WHERE time > 11`
  + **誤**: `SELECT * FROM mytable WHERE 11 > time`
+ Amazon EMR バージョン 5.32.0 および 6.3.0 以降では、述語式でのユーザー定義関数 (UDF) の使用がサポートされています。以前のバージョンを使用している場合、Hive がクエリの実行を最適化しようとするため、クエリが失敗する可能性があります。
+ [一時テーブル](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables)はサポートされていません。
+ Glue を使用して直接作成するのではなく、Amazon EMR AWS を使用してアプリケーションを使用してテーブルを作成することをお勧めします。Glue AWS を使用してテーブルを作成すると、必須フィールドが欠落し、クエリ例外が発生する可能性があります。
+ EMR 5.20.0 以降では、 Glue Data Catalog をメタストアとして使用すると、Spark と Hive AWS に対して並列パーティションプルーニングが自動的に有効になります。この変更により、複数のリクエストを並列に実行してパーティションを取得できるため、クエリ計画時間が大幅に短縮されます。同時に実行できるセグメントの総数は、1～10 の範囲です。デフォルト値は 5 であり、これが推奨される設定です。`hive-site` 設定分類の `aws.glue.partition.num.segments` プロパティを指定すると、これを変更できます。スロットリングが発生した場合は、値を 1 に変更して機能をオフにすることができます。詳細については、「[AWS Glue セグメント構造](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-Segment)」を参照してください。

# 外部の MySQL データベースまたは Amazon Aurora の使用
<a name="emr-hive-metastore-external"></a>

Hive メタストアとして外部の MySQL データベースまたは Amazon Aurora を使用するには、Hive のメタストアのデフォルト設定値を上書きし、外部のデータベースの場所 (Amazon RDS MySQL インスタンスまたは Amazon Aurora PostgreSQL インスタンス) を指定します。

**注記**  
Hive では、メタストアテーブルに対する同時書き込みアクセスのサポートも防止も行いません。2 つのクラスター間でメタストア情報を共有する場合は、同じメタストアテーブルに同時に書き込まないようにします (同じメタストアテーブルの異なるパーティションに書き込む場合は除きます)。

次の手順では、Hive メタストアの場所として設定したデフォルト値を上書きし、新しく設定したメタストアの場所を使用してクラスターを起動する方法を示します。

**EMR クラスターの外にメタストアを作成するには**

1. MySQL または Aurora PostgreSQL データベースを作成します。PostgreSQL を使用する場合は、クラスターをプロビジョニングした後に設定する必要があります。クラスターの作成では MySQL のみがサポートされます。Aurora MySQL と Aurora PostgreSQL の違いについては、「[Amazon Aurora MySQL の概要](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Overview.html)」および「[Amazon Aurora PostgreSQL の操作](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)」を参照してください。Amazon RDS データベースの作成方法については、[https://aws.amazon.com/rds/](https://aws.amazon.com/rds/) を参照してください。

1. データベースと **ElasticMapReduce-Master** セキュリティグループの間の JDBC 接続が許可されるようにセキュリティグループを変更します。アクセス用のセキュリティグループの変更方法については、「[Amazon EMR マネージドセキュリティグループの使用](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html)」を参照してください。

1. JDBC 設定値を、`hive-site.xml` に設定します:
**重要**  
パスワードなどの機密情報を Amazon EMR 設定 API に渡す場合、その情報は、十分なアクセス許可を持つアカウントに表示されます。その情報が他のユーザーに表示される可能性のあることを懸念する場合は、管理者アカウントでクラスターを作成し、`elasticmapreduce:DescribeCluster` API キーに対するアクセス権限を明示的に拒否するロールを作成することで、他のユーザー（IAM ユーザーまたは認証情報を委譲されたユーザー）に対してそのクラスター上のサービスへのアクセスを制限します。

   1. 次の例のように、`hiveConfiguration.json` の編集を含む `hive-site.xml` という設定ファイルを作成します。

       *hostname* を、データベースを実行する Amazon RDS インスタンスの DNS アドレスに置き換え、*username* と *password* を、データベースの認証情報に置き換えます。MySQL データベースインスタンスおよび Aurora データベースインスタンスへの接続の詳細については、「*Amazon RDS ユーザーガイド*」の「[Connecting to a DB instance running the MySQL database engine](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html)」および「[Connecting to an Athena DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Connect.html)」を参照してください。`javax.jdo.option.ConnectionURL` は、JDBC メタストアの JDBC 接続文字列です。`javax.jdo.option.ConnectionDriverName` は、JDBC メタストアのドライバークラス名です。

      MySQL JDBC ドライバーは Amazon EMR によってインストールされます。

      値のプロパティには、スペースや改行を含めることはできません。すべてを 1 行にする必要があります。

      ```
      [
          {
            "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. 次の AWS CLI コマンドに示すように、クラスターの作成時に `hiveConfiguration.json` ファイルを参照します。このコマンドでは、ファイルはローカルに保存されます。ファイルを Amazon S3 にアップロードし、そこで参照することもできます (例: `s3://DOC-EXAMPLE-BUCKET/hiveConfiguration.json`)。
**注記**  
読みやすくするために、Linux 行連続文字 (\$1) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

      ```
      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. クラスターのプライマリノードに接続します。

   プライマリノードに接続する方法の詳細については、「*Amazon EMR 管理ガイド*」の「[Connect to the primary node using SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)」を参照してください。

1. 次のようなコマンドを入力することにより、Amazon S3 上の場所を指定して Hive テーブルを作成します。

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

1. 実行中のクラスターに Hive スクリプトを追加します。

Hive クラスターは、Amazon RDS に配置されたメタストアを使って実行されます。このメタストアを共有する他の Hive クラスターはすべて、メタストアの場所を指定して起動します。

# Hive JDBC ドライバーの使用
<a name="HiveJDBCDriver"></a>

Microsoft Excel、MicroStrategy、QlikView、Tableau などの人気のビジネスインテリジェンスツールを Amazon EMR で使用して、データを調査しビジュアル化することができます。この種のツールの多くは Java Database Connectivity (JDBC) ドライバーまたは Open Database Connectivity (ODBC) ドライバーを必要とします。Amazon EMR は、Spark、Hive、または Presto クラスターへの JDBC 接続と ODBC 接続の両方をサポートしています。

以下の例では、SQL Workbench/J を SQL クライアントとして使用して、Amazon EMR の Hive クラスターに接続します。その他のドライバーについては、「[Amazon EMR でのビジネスインテリジェンスツールの使用](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-bi-tools.html)」を参照してください。

SQL Workbench/J をインストールして使用する前に、ドライバーパッケージをダウンロードしてドライバーをインストールします。パッケージに含まれているドライバーは、Amazon EMR リリースバージョン 4.0 以降で利用できる Hive バージョンをサポートしています。詳細なリリースノートおよびドキュメントについては、パッケージに含まれている PDF ドキュメントを参照してください。
+ **最新の JDBC および ODBC ドライバーパッケージ**

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

**SQL Workbench をインストールして設定するには**

1. オペレーティングシステム用の SQL Workbench/J クライアントを [http://www.sql-workbench.net/downloads.html](http://www.sql-workbench.net/downloads.html) からダウンロードします。

1. SQL Workbench/J をインストールします。詳細については、SQL Workbench/J ユーザーズマニュアルの「[Installing and starting SQL Workbench/J](http://www.sql-workbench.net/manual/install.html)」を参照してください。

1. **Linux, Unix, Mac OS X ユーザー**: ターミナルセッションで、以下のコマンドを使用して、クラスターのマスターノードへの SSH トンネルを作成します。*master-public-dns-name* をマスターノードのパブリック DNS 名に置き換え、*path-to-key-file* を Amazon EC2 プライベートキー (`.pem`) ファイルの場所とファイル名に置き換えます。

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

   **Windows ユーザー**: PuTTY セッションで、**ソースポート**を `10000`、**送信先**を `master-public-dns-name:10000` としてクラスターのマスターノードへの SSH トンネルを作成します (ローカルポートフォワーディングを使用)。`master-public-dns-name` をマスターノードのパブリック DNS 名に置き換えます。

1. SQL Workbench に JDBC ドライバを追加します。

   1. [**Select Connection Profile (接続プロファイルの選択)**] ダイアログボックスで [**Manage Drivers (ドライバーの管理)**] をクリックします。

   1. [**Create a new entry (新しいエントリの作成)**] (空白ページ) アイコンをクリックします。

   1. **名前**フィールドに、**Hive JDBC** と入力します。

   1. [**Library**] で [**Select the JAR file(s)**] アイコンをクリックします。

   1. 抽出したドライバーがある場所に移動します。ダウンロードした JDBC ドライバーパッケージバージョンに含まれているドライバーを選択し、**[開く]** をクリックします。

      例えば、JDBC ドライバーパッケージには以下の JAR が含まれている場合があります。

      ```
      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. [**Please select one driver**] (ドライバーを 1 つ選択してください) ダイアログボックスで、`com.amazon.hive.jdbc41.HS2Driver` を選択して、[**OK**] を選択します。

1. [**Manage Drivers**] (ドライバーの管理) ダイアログボックスに戻ったら、[**Classname**] (クラス名) フィールドに値が設定されていることを確認し、[**OK**] を選択します。

1. [**Select Connection Profile**] (接続プロファイルの選択) ダイアログボックスに戻ったら、[**Driver**] (ドライバー) フィールドが [**Hive JDBC**] に設定されていることを確認し、[**URL**] フィールドに JDBC 接続文字列 `jdbc:hive2://localhost:10000/default` を入力します。

1. [**OK**] を選択すると接続します。接続が完了すると、接続の詳細が SQL Workbench/J のウィンドウの上部に表示されます。

Hive と JDBC インターフェイスの使用方法の詳細については、Apache Hive のドキュメントの「[HiveClient](https://cwiki.apache.org/confluence/display/Hive/HiveClient)」および「[HiveJDBCInterface](https://cwiki.apache.org/confluence/display/Hive/HiveJDBCInterface)」を参照してください。

# Hive のパフォーマンスの向上
<a name="emr-hive-s3-performance"></a>

Amazon EMR には、Hive を使用して Amazon S3 に保存されたデータのクエリ、読み取り、および書き込みを行うときのパフォーマンスを最適化するのに役立つ機能が用意されています。

S3 Select では、Amazon S3 に処理を「プッシュダウン」することで一部のアプリケーションの CSV および JSON ファイルのクエリパフォーマンスを向上させることができます。

EMRFS S3 向けに最適化されたコミッターは [OutputCommitter](https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/OutputCommitter.html) クラスに代わるものであり、これによりリスト操作と名前変更操作が不要になり、EMRFS を使用して Amazon S3 にファイルを書き込むときのパフォーマンスが向上します。

**Topics**
+ [Hive EMRFS S3 向けに最適化されたコミッターを有効にする](hive-optimized-committer.md)
+ [S3 Select と Hive を使用してパフォーマンスを向上させる](emr-hive-s3select.md)
+ [MSCK の最適化](emr-msck-optimization.md)

# Hive EMRFS S3 向けに最適化されたコミッターを有効にする
<a name="hive-optimized-committer"></a>

Hive EMRFS S3 向けに最適化されたコミッターは、EMRFS を使用するときに EMR Hive が挿入クエリ用のファイルを書き込む代替方法です。コミッターは Amazon S3 で行うリスト操作と名前変更操作を不要にし、アプリケーションのパフォーマンスを向上させます。この機能は EMR 5.34 および EMR 6.5 以降で利用可能です。

## コミッターを有効にする
<a name="enabling-hive-committer"></a>

EMR Hive が `HiveEMRFSOptimizedCommitter` を使用してすべての Hive 管理テーブルと外部テーブルのデフォルトとしてデータをコミットできるようにするには、EMR 6.5.0 または EMR 5.34.0 クラスターで次の `hive-site` 設定を使用してください。

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

**注記**  
`hive.exec.parallel` が `true` に設定されているときは、この機能をオンにしないでください。

## 制限事項
<a name="hive-committer-limitations"></a>

タグには以下のベーシックな制限があります。
+ Hive で小さなファイルを自動的にマージできるようにすることはサポートされていません。最適化されたコミッターが有効になっている場合でも、デフォルトの Hive コミットロジックが使用されます。
+ Hive ACID テーブルはサポートされていません。最適化されたコミッターが有効になっている場合でも、デフォルトの Hive コミットロジックが使用されます。
+ 書き込まれるファイルのファイル命名法が Hive の `<task_id>_<attempt_id>_<copy_n>` から `<task_id>_<attempt_id>_<copy_n>_<query_id>` に変更されました。例えば、次の名前のファイルがあるとします。

  `s3://warehouse/table/partition=1/000000_0` は `s3://warehouse/table/partition=1/000000_0-hadoop_20210714130459_ba7c23ec-5695-4947-9d98-8a40ef759222-1` に変更されます。`query_id` はここでは、ユーザー名、タイムスタンプ、UUID を組み合わせたものです。
+ カスタムパーティションが異なるファイルシステム (HDFS、S3) にある場合、この機能は自動的に無効になります。有効にすると、デフォルトの Hive コミットロジックが使用されます。

# S3 Select と Hive を使用してパフォーマンスを向上させる
<a name="emr-hive-s3select"></a>

**重要**  
新規のお客様への Amazon S3 Select の提供は終了しました。Amazon S3 Select をご利用の既存のお客様は、今後も通常どおり使用できます。[詳細はこちら](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) 

Amazon EMR リリースバージョン 5.18.0 以降では、Amazon EMR での Hive を使用した [S3 Select](https://aws.amazon.com/blogs/aws/s3-glacier-select/) を使用できます。S3 Select では、アプリケーションはオブジェクトに含まれるデータのサブセットのみを取得できます。Amazon EMR では、大量のデータセットをフィルタリングして処理する計算作業をクラスターから Amazon S3 に「プッシュダウン」することにより、一部のアプリケーションのパフォーマンスを高めることができます。また、Amazon EMR と Amazon S3 の間で転送されるデータの量も削減されます。

S3 Select では、Hive セッション中に `s3select.filter` 設定変数を `true` に設定することで、CSV ファイルと JSON ファイルに基づいて Hive テーブルがサポートされています。詳細な説明と例については、[コードで S3 Select を指定する](#emr-hive-s3select-specify) を参照してください。

## S3 Select が使用するアプリケーションに適しているかどうかを確認する
<a name="emr-hive-s3select-apps"></a>

S3 Select が使用するアプリケーションに適しているかどうかを確認するために、S3 Select を使用した場合と使用しない場合のアプリケーションのベンチマークを行うことをお勧めします。

アプリケーションが S3 Select を使用する候補となるかどうかを判断するには、次のガイドラインを使用します。
+ クエリは元のデータセットの半分以上を除外する。
+ クエリのフィルター述語では、Amazon S3 Select がサポートするデータ型を持つ列が使用される。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[データ型](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-data-types.html)」を参照してください。
+ Amazon S3 と Amazon EMR クラスター間のネットワーク接続は、転送速度と使用可能な帯域幅が良好です。Amazon S3 は、HTTP 応答を圧縮しないため、応答サイズは圧縮された入力ファイルと比較して増加する可能性があります。

## 考慮事項と制限事項
<a name="emr-hive-s3select-considerations"></a>
+ お客様が用意した暗号化キーを使用した Amazon S3 サーバー側の暗号化 (SSE-C) とクライアント側の暗号化はサポートされていません。
+ `AllowQuotedRecordDelimiters` プロパティはサポートされていません。このプロパティを指定した場合、クエリは失敗します。
+ UTF-8 形式の CSV ファイルと JSON ファイルのみがサポートされています。複数行の CSV と JSON はサポートされません。
+ 圧縮されていないファイルか gzip ファイルまたは bzip2 ファイルのみがサポートされます。
+ 最後の行のコメント文字はサポートされていません。
+ ファイルの末尾にある空の行は処理されません。
+ Amazon EMR の Hive では、S3 Select がサポートするプリミティブデータ型がサポートされています。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[データ型](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-data-types.html)」を参照してください。

## コードで S3 Select を指定する
<a name="emr-hive-s3select-specify"></a>

Hive テーブルで S3 Select を使用するには、`INPUTFORMAT` クラス名として `com.amazonaws.emr.s3select.hive.S3SelectableTextInputFormat` を指定してテーブルを作成し、`TBLPROPERTIES` 句を使用して `s3select.format` プロパティの値を指定します。

デフォルトでは、S3 Select はクエリの実行時に無効になっています。次に示すように Hive セッションで `s3select.filter` を `true` に設定して S3 Select を有効にします。以下の例では、基盤となる CSV ファイルと JSON ファイルからテーブルを作成するときに S3 Select を指定して、シンプルな SELECT ステートメントを使用してテーブルをクエリする方法を説明しています。

**Example CSV ベースのテーブルの CREATE TABLE ステートメント**  

```
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 JSON ベースのテーブルの CREATE TABLE ステートメント**  

```
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 SELECT TABLE ステートメント**  

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

# MSCK の最適化
<a name="emr-msck-optimization"></a>

Hive は各テーブルのパーティションのリストをメタストアに保存します。ただし、パーティションがファイルシステムに直接追加されたり、ファイルシステムに削除されたりしても、Hive メタストアはこれらの変更を認識しません。[MSCK コマンド](https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl#LanguageManualDDL-RecoverPartitions(MSCKREPAIRTABLE))は、ファイルシステムに直接追加または削除されたパーティションの Hive メタストア内のパーティションメタデータを更新します。コマンドの構文は次のとおりです。

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

Hive はこのコマンドを以下のように実装しています。

1. Hive はテーブルのすべてのパーティションをメタストアから取得します。次に、ファイルシステムに存在しないパーティションパスのリストから、メタストアから削除するパーティションのリストを作成します。

1. Hive はファイルシステムに存在するパーティションパスを収集し、メタストアにあるパーティションのリストと比較し、メタストアに追加する必要のあるパーティションのリストを生成します。

1. Hive は、`ADD`、`DROP`、または `SYNC` モードを使用してメタストアを更新します。

**注記**  
メタストアに多数のパーティションがある場合、ファイルシステムの `exists` API 呼び出しはパーティションごとに行う必要があるため、ファイルシステムにパーティションが存在しないかどうかを確認するステップの実行には時間がかかります。

Amazon EMR 6.5.0 では、Hive に `hive.emr.optimize.msck.fs.check` というフラグが導入されました。このフラグを有効にすると、Hive はファイルシステム API 呼び出しを行う代わりに、上記のステップ 2 で生成されたファイルシステムのパーティションパスのリストからパーティションの有無を確認します。Amazon EMR 6.8.0 では、Hive はこの最適化をデフォルトで有効にしたため、フラグ `hive.emr.optimize.msck.fs.check` を設定する必要がなくなりました。

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

Amazon EMR 6.0.0 は、Hive の Live Long and Process (LLAP) 機能をサポートします。LLAP では、永続的なデーモンによるインテリジェントなメモリ内キャッシングを使用し、以前のデフォルトの Tez コンテナ実行モードと比較してクエリのパフォーマンスを向上させます。

Hive LLAP デーモンは、YARN サービスとして管理および実行されます。YARN サービスは長時間実行している YARN アプリケーションと見なすことができるため、一部のクラスターリソースは Hive LLAP 専用となり、他のワークロードには使用できません。詳細については、[LLAP](https://cwiki.apache.org/confluence/display/Hive/LLAP) および [YARN サービス API](https://hadoop.apache.org/docs/r3.2.1/hadoop-yarn/hadoop-yarn-site/yarn-service/YarnServiceAPI.html) を参照してください。

## Amazon EMR で Hive LLAP を有効にする
<a name="emr-llap-enable"></a>

Amazon EMR で Hive LLAP を有効にするには、クラスターを起動するときに次の設定を指定します。

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

詳細については、「[アプリケーションの設定](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html)」を参照してください。

デフォルトでは、Amazon EMR はクラスター YARN リソースの約 60% を Hive LLAP デーモンに割り当てます。Hive LLAP に割り当てるクラスター YARN リソースの割合 (%) と、Hive LLAP 割り当ての対象と見なすタスクノードやコアノードの数は設定できます。

たとえば、次の設定では、3 つのタスクノードまたはコアノードで 3 つのデーモンを使用して Hive LLAP を起動し、3 つのコアノードまたはタスクノードの YARN リソースの 40% を Hive LLAP デーモンに割り当てます。

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

次の `hive-site` 設定を分類 API で使用し、デフォルトの LLAP リソース設定を上書きできます。


| プロパティ | 説明 | 
| --- | --- | 
| hive.llap.daemon.yarn.container.mb | LLAP デーモンコンテナの合計サイズ (MB 単位) | 
| hive.llap.daemon.memory.per.instance.mb |  LLAP デーモンコンテナ内の実行プログラムで使用する合計メモリ (MB 単位)  | 
| hive.llap.io.memory.size |  LLAP 入力/出力のキャッシュサイズ  | 
| hive.llap.daemon.num.executors |  LLAP デーモンあたりの実行プログラム数  | 

## クラスターで Hive LLAP を手動で起動する
<a name="emr-llap-manually"></a>

LLAP で使用するすべての依存関係と設定は、クラスターの起動の一環として、LLAP tar アーカイブにパッケージ化されます。`"hive.llap.enabled": "true"` を使用して LLAP を有効にする場合は、Amazon EMR 再設定を使用して LLAP の設定を変更することをお勧めします。

それ以外の場合、`hive-site.xml` を手動で変更するには、`hive --service llap` コマンドを使用して LLAP tar アーカイブを再構築する必要があります。次に例を示します。

```
# 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
```

## Hive LLAP のステータスを確認する
<a name="emr-llap-check"></a>

Hive を使用して Hive LLAP のステータスを確認するには、次のコマンドを使用します。

```
hive --service llapstatus
```

YARN を使用して Hive LLAP のステータスを確認するには、次のコマンドを使用します。

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

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

## Hive LLAP を起動または停止する
<a name="emr-llap-start"></a>

Hive LLAP は永続的な YARN サービスとして実行されるため、Hive LLAP を停止または再起動するには、YARN サービスを停止または再起動します。次のコマンドはこれを示しています。

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

## Hive LLAP デーモンの数を変更する
<a name="emr-llap-resize"></a>

LLAP インスタンスの数を減らすには、次のコマンドを使用します。

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

詳細については、「[Flex a component of a service](https://hadoop.apache.org/docs/r3.2.1/hadoop-yarn/hadoop-yarn-site/yarn-service/QuickStart.html#Flex_a_component_of_a_service)」を参照してください。

# Hive での暗号化
<a name="hive-encryption"></a>

このセクションでは、Amazon EMR がサポートする暗号化タイプについて説明します。

# Hive の Parquet モジュラー暗号化
<a name="hive-parquet-modular-encryption"></a>

Parquet モジュラー暗号化では、列レベルのアクセス制御と暗号化が可能になり、Parquet ファイル形式で保存されたデータのプライバシーとデータ整合性が強化されます。この機能は、リリース 6.6.0 以降の Amazon EMR Hive で使用できます。

ファイルの暗号化やストレージレイヤーの暗号化など、これまでサポートされていたセキュリティと整合性のソリューションについては、「Amazon EMR Management Guide」の「[Encryption Options](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html)」で説明されています。これらのソリューションは Parquet ファイルにも使用できますが、統合された Parquet 暗号化メカニズムの新機能を活用することで、列レベルへのきめ細かなアクセスが可能になり、パフォーマンスとセキュリティも向上します。この機能について詳しくは、Apache GitHub のページ「[Parquet Modular Encryption](https://github.com/apache/parquet-format/blob/master/Encryption.md)」を参照してください。

ユーザーは Hadoop 設定を使用して Parquet のリーダーとライターに設定を渡します。ユーザーがリーダーとライターを設定して暗号化を有効にしたり、高度な機能を切り替えたりするための詳細な設定については、「[PARQUET-1854: Properties-driven Interface to Parquet Encryption Management](https://docs.google.com/document/d/1boH6HPkG0ZhgxcaRkGk3QpZ8X_J91uXZwVGwYN45St4/edit)」に記載されています。

## 使用例
<a name="usage-examples"></a>

次の例では、暗号化キーの管理に AWS KMS を使用する Hive テーブルの作成と書き込みについて説明しています。

1. ドキュメント [PARQUET-1373: 暗号化キー管理ツール](https://docs.google.com/document/d/1bEu903840yb95k9q2X-BlsYKuXoygE4VnMDl9xz_zhk/edit)で説明されているように、 AWS KMS サービス用の KmsClient を実装します。次の例は、実装スニペットを示しています。

   ```
   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. 「 *AWS Key Management Service デベロッパーガイド*」の「キー[の作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)」で説明されているように、フッターの AWS KMS 暗号化キーと、IAM ロールがアクセスできる列を作成します。デフォルトの IAM ロールは EMR\$1ECS\$1default です。

1. Amazon EMR クラスター上の Hive アプリケーションで、[Apache Hive Resources ドキュメント](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli#LanguageManualCli-HiveResources)で説明されているように、`ADD JAR` ステートメントを使用して上記のクライアントを追加します。ステートメントの例を以下に示します。

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

   別の方法として、ブートストラップアクションを使用して JAR を Hive の `auxlib` に追加する方法があります。ブートストラップアクションに追加する行の例を以下に示します。

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

1. 以下の設定を行います。

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

1. Parquet 形式で Hive テーブルを作成し、SERDEPROPERTIES で AWS KMS キーを指定して、データを挿入します。

   ```
   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.  AWS KMS キーにアクセスできない (IAM ロールのアクセス拒否など) 同じ場所に外部テーブルを作成すると、データを読み取れないことを確認します。

   ```
   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. 最後のステートメントでは次の例外が発生するはずです。

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

# HiveServer2 での送信中の暗号化
<a name="hs2-encryption-intransit"></a>

Amazon EMR リリース 6.9.0 以降、HiveServer2 (HS2) は [HiveServer2 での送信中の暗号化](#hs2-encryption-intransit) セキュリティ設定の一部として TLS/SSL が有効になっています。これは、送信中の暗号化が有効になっている Amazon EMR クラスターで実行されている HS2 への接続方法に影響します。HS2 に接続するには、JDBC URL の `TRUSTSTORE_PATH` および `TRUSTSTORE_PASSWORD` パラメータ値を変更する必要があります。次の URL は、必須パラメータを含む HS2 の JDBC 接続の例です。

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

クラスター上またはクラスター外の HiveServer2 暗号化には、以下の適切な手順を使用してください。

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

プライマリノードに SSH 接続した後に Beeline クライアントを使用して HiveServer2 にアクセスしている場合は、`/etc/hadoop/conf/ssl-server.xml` を参照して、設定 `ssl.server.truststore.location` と `ssl.server.truststore.password` を使用して `TRUSTSTORE_PATH` および `TRUSTSTORE_PASSWORD` のパラメータ値を見つけます。

以下のコマンド例は、これらの設定を取得するのに役立ちます。

```
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 ]

 Amazon EMR クラスター外のクライアントから HiveServer2 にアクセスしている場合、次のいずれかの方法を使用して `TRUSTSTORE_PATH` と `TRUSTSTORE_PASSWORD` を取得できます。
+ [セキュリティ設定](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html)時に作成された PEM ファイルを JKS ファイルに変換し、同じファイルを JDBC 接続 URL で使用します。例えば、openssl と keytool の場合は、次のコマンドを使用します。

  ```
  openssl pkcs12 -export -in trustedCertificates.pem -inkey privateKey.pem -out trustedCertificates.p12 -name "certificate"
  keytool -importkeystore -srckeystore trustedCertificates.p12 -srcstoretype pkcs12 -destkeystore trustedCertificates.jks
  ```
+ または、`/etc/hadoop/conf/ssl-server.xml` を参照して、設定 `ssl.server.truststore.location` と `ssl.server.truststore.password` を使用して `TRUSTSTORE_PATH` および `TRUSTSTORE_PASSWORD` のパラメータ値を見つけます。トラストストアファイルをクライアントマシンにダウンロードし、クライアントマシン上のパスを `TRUSTSTORE_PATH` として使用します。

  Amazon EMR クラスター外のクライアントからアプリケーションにアクセスする方法の詳細については、「[Use the Hive JDBC driver](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/HiveJDBCDriver.html)」を参照してください。

------

# Hive リリース履歴
<a name="Hive-release-history"></a>

次の表は、Amazon EMR の各リリースに含まれている Hive のバージョンと、アプリケーションと共にインストールされるコンポーネントを示しています。各リリースのコンポーネントバージョンについては、[Amazon EMR 7.x リリースバージョン](emr-release-7x.md)、[Amazon EMR 6.x リリースバージョン](emr-release-6x.md) または [Amazon EMR 5.x リリースバージョン](emr-release-5x.md) でリリースに応じたコンポーネントバージョンのセクションを参照してください。


**Hive バージョン情報**  

| Amazon EMR リリースラベル | Hive のバージョン | 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 | 
| emr-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 | 

# Hive リリースノート (バージョン別)
<a name="Hive-release-history-versions"></a>

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

# Amazon EMR 7.10.0 - Hive リリースノート
<a name="Hive-release-history-7100"></a>

## Amazon EMR 7.10.0 - Hive の変更点
<a name="Hive-release-history-changes-7100"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| バグ修正 | [TEZ-4595](https://issues.apache.org/jira/browse/TEZ-4595) の Hive 側の修正。 | 

**既知の問題**
+ AWS EMR-7.10.0 の EMR はデフォルトのファイルシステムとして S3A を使用するようになりました (EMRFS を置き換える）。つまり、Hive オペレーションは S3 に`_$folder$`マーカーオブジェクトを作成しなくなり、Hive 書き込みクエリで使用される中間マニフェストファイルは EMRFS の HDFS と比較して S3 に保存されるようになりました。S3A を使用する際の考慮事項については、「[移行ガイド](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-s3a-migrate.html)」を参照してください。
+ EMR-7.3.0 から EMR-7.10.0 まで、Hive Iceberg の統合によりバグが発生し、Glue Data Catalog をメタストアとして使用すると、Hive AWS での HBase テーブルの作成が失敗します。この問題が発生した場合は、 AWS サポートチームにお問い合わせください。

# Amazon EMR 7.9.0 - Hive リリースノート
<a name="Hive-release-history-790"></a>

## Amazon EMR 7.9.0 - Hive の変更点
<a name="Hive-release-history-changes-790"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| バグ修正 | CTAS を介して作成されるテーブルが ACID の場合、Hive Blobstore Committer を使用しないでください。 | 
| バグ修正 | [HIVE-26096](https://issues.apache.org/jira/browse/HIVE-26096): 単一列の MultiDelimitSerDe テーブルで選択して AIOBE (\$13158) をスローします。 | 
| アップグレード | [HIVE-26954](https://issues.apache.org/jira/browse/HIVE-26954)、[HIVE-27877](https://issues.apache.org/jira/browse/HIVE-27877)、[HIVE-28574](https://issues.apache.org/jira/browse/HIVE-28574) をバックポートすることにより Avro バージョンを 1.11.4 にアップグレードします。 | 

**既知の問題**
+ Amazon S3 Express One Zone を出力場所とする Hive Insert Over-write クエリの場合は、コアサイト設定 `fs.s3a.directory.operations.purge.uploads` を `false` に設定します。
+ EMR-7.3.0 から EMR-7.10.0 まで、Hive Iceberg の統合によりバグが発生し、Glue Data Catalog をメタストアとして使用すると、Hive AWS での HBase テーブルの作成が失敗します。この問題が発生した場合は、 AWS サポートチームにお問い合わせください。

# Amazon EMR 7.8.0 - Hive リリースノート
<a name="Hive-release-history-780"></a>

## Amazon EMR 7.8.0 - Hive の変更
<a name="Hive-release-history-changes-780"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| バグ修正 | CVE-2024-23953: Apache Hive: LLAP の署名に対するタイミング攻撃を修正します。 | 

**既知の問題**
+ Amazon S3 Express One Zone を出力場所とする Hive Insert Over-write クエリの場合は、コアサイト設定 `fs.s3a.directory.operations.purge.uploads` を `false` に設定します。

# Amazon EMR 7.7.0 - Hive リリースノート
<a name="Hive-release-history-770"></a>

## Amazon EMR 7.7.0 - Hive の変更点
<a name="Hive-release-history-changes-770"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| バグ修正 | CVE-2024-29869: Apache Hive: 制限のないアクセス許可で作成された認証情報ファイルを修正します。 | 
| バグ修正 | Apache Ran で行レベルのフィルタリングポリシーが有効になっている場合の SemanticException を修正します。 | 
| バグ修正 | LLAP または ACID が有効になっている場合は、Tez 非同期初期化 RR を無効にします。 | 

**既知の問題**
+ Amazon S3 Express One Zone を出力場所とする Hive Insert Over-write クエリの場合は、コアサイト設定 `fs.s3a.directory.operations.purge.uploads` を `false` に設定します。

# Amazon EMR 7.6.0 - Hive リリースノート
<a name="Hive-release-history-760"></a>

## Amazon EMR 7.6.0 - Hive の変更点
<a name="Hive-release-history-changes-760"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| 改良点 | ORC 非 ACID パーティションテーブルの高速 S3 プレフィックスリスト機能を追加した | 
| 機能 | S3AFileSystem での Hive 書き込みクエリのマジックコミッターのサポートを追加する | 

**既知の問題**
+ Amazon S3 Express One Zone を出力場所とする Hive Insert Over-write クエリの場合は、コアサイト設定 `fs.s3a.directory.operations.purge.uploads` を `false` に設定します。

### Amazon EMR 7.6.0 - 新しい設定
<a name="Hive-release-history-changes-760-new-configs"></a>


****  

| 分類 | 名前 | デフォルト  | 説明  | 
| --- | --- | --- | --- | 
| hive-site | `hive.exec.fast.s3.partition.discovery.enabled` | true | 分割計算に高速 S3 パーティション検出を使用するか否か。これにより、サポートされているファイル形式 ORC のプレフィックスベースのリストが有効になります。この機能は、S3 Express One Zone ストレージクラスではサポートされていない S3 API パラメータを使用することにご注意ください。これらを使用する場合は、この機能を無効にします。 | 
| hive-site | `hive.exec.fast.s3.partition.discovery.max.thread.threshold` | 128 | 高速 S3 パーティション検出の最大並列度。 | 
| hive-site | `hive.exec.fast.s3.partition.discovery.parallelism` | 10 | 高速 S3 パーティション検出の 1 回の実行の並列度。この設定は、`hive.exec.fast.s3.partition.discovery.enabled` が `true` に設定されている場合にのみ効果があります。 | 
| hive-site | `hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` | true | Hive でマジックコミッターがメモリ内の保留中のコミットをすべて追跡する必要があるかを切り替えるフラグ? マジックコミッターには、コミットデータをメモリ内に保存するオプションがあり、S3 呼び出しを減らすことで TaskCommit オペレーションを高速化できます。この設定は Hadoop 設定 `fs.s3a.committer.magic.track.commits.in.memory.enabled` を上書きする | 
| hive-site | `hive.blobstore.output-committer.dp.skip.task.staging.dir.creation` | true | マジックコミッターが blobstore に dp ステージングパスを作成するかどうかを切り替えるフラグ? このフラグは、Hive が `hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` を介してマジックコミッターを使用する場合に、メモリ内のコミットを追跡する場合にのみ適用されます。デフォルトでは true に設定されていますが、`hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` が有効になっている場合にのみ有効になり、タスク作成試行パスの追加 S3 呼び出しが blobstore に保存されます。 | 
| hive-site | `hive.blobstore.output-committer.magic.disable.fs.cache.for.llap` | true | マジックコミッターを使用するときに LLAP の書き込みフローで blobstore FS キャッシュを無効にするかどうかを切り替えるフラグ。このフラグは、LLAP が有効になっている場合に表示され、デフォルトで true に設定されます。 | 

# Amazon EMR 7.5.0 - Hive リリースノート
<a name="Hive-release-history-750"></a>

## Amazon EMR 7.5.0 - Hive の変更点
<a name="Hive-release-history-changes-750"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| 改良点 | HiveCLI で既存のセッションを使用しようとしたときに Tez セッションが開かれるまでの最大待機時間を 10 秒に延長 | 
| 改善点 | LIMIT を使用したシンプルな選択クエリでパフォーマンスを向上させるように設定を調整 | 

# Amazon EMR 7.4.0 - Hive リリースノート
<a name="Hive-release-history-740"></a>

## Amazon EMR 7.4.0 - Hive の変更
<a name="Hive-release-history-changes-740"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| アップグレード | [HADOOP-28191](https://issues.apache.org/jira/browse/HIVE-28191): Hadoop バージョンを 3.4.0 にアップグレード | 
| アップグレード |  hadoop シェーディング protobuf を 3.21 にアップグレード | 
| アップグレード | commons-cli を 1.5.0 にアップグレードする | 
| アップグレード | commons-compress を 1.24.0 にアップグレード | 
| アップグレード | commons-io を 2.14.0 にアップグレード | 
| アップグレード | commons-lang3 を 3.21.0 にアップグレード | 
| 改善点 | HiveCLI で既存のセッションを使用しようとしているときに Tez セッションが開くのを待つ時間を 10 秒に変更する | 
| 改善点 | LIMIT を使用した簡易選択クエリで Tez DAG のショートサーキットメカニズムを有効にする | 
| 改善点 | [HIVE-21100](https://issues.apache.org/jira/browse/HIVE-21100): TEZ エンジンと UNION 句の使用時に発生したテーブルサブディレクトリのフラット化を許可する | 
| バグ修正 | [HIVE-25095](https://issues.apache.org/jira/browse/HIVE-25095): Beeline/hive -e コマンドは末尾の引用符でクエリを処理できない | 
| バグ修正 | [HIVE-13781](https://issues.apache.org/jira/browse/HIVE-13781): パーティションディレクトリが存在しない場合、Tez ジョブが FileNotFoundException で失敗する  | 
| バグ修正 | [HIVE-28480](https://issues.apache.org/jira/browse/HIVE-28480): 以前の RS の結合ブランチ間でパーティションハッシュジェネレーターの SMB の不一致を無効にする | 

### Amazon EMR 7.4.0 - 新しい設定
<a name="Hive-release-history-changes-740-new-configs"></a>


****  

| 分類 | 名前 | デフォルト  | 説明  | 
| --- | --- | --- | --- | 
| hive-site | hive.ignore.failure.partition.dir.not.found | false | テーブルパーティションは存在するが、実際のオブジェクトストレージパスが存在しない場合、失敗を無視します。 | 
| hive-site | hive.tez.union.flatten.subdirectories | false | データをテーブルに書き込み、UNION ALL がクエリの最後のステップである場合、Hive on Tez は UNION ALL の各ブランチにサブディレクトリを作成します。このプロパティを有効にすることにより、サブディレクトリが削除され、ファイルの名前が変更され、親ディレクトリに移動されます。hive.blobstore.use.output-committer が有効になっている場合、これは効果がないことに注意してください。 | 

# Amazon EMR 7.3.0 - Hive リリースノート
<a name="Hive-release-history-730"></a>

## Amazon EMR 7.3.0 - Hive の変更点
<a name="Hive-release-history-changes-730"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| 機能 | [HIVE-18728](https://issues.apache.org/jira/browse/HIVE-18728) — webHCat を SSL で保護する。 | 
| 改善点 | LLAP デーモンウェブ UI の SSL キーストア認証情報の設定をサポートします。 | 
| 改善点 | Hive メタストアサーバーの SSL ホスト名の検証を制御するオプションを指定します。 | 
| バグ修正 | [HIVE-26541](https://issues.apache.org/jira/browse/HIVE-26541) – WebHCat サービス開始時の NPE。 | 
| バグ修正 | [HIVE-23011](https://issues.apache.org/jira/browse/HIVE-23011) - 共有ワークオプティマイザーは、結合を比較する際に残余述語をチェックする必要があります。 | 
| バグ修正 | **javax.security.sasl.SaslException** を修正: 転送時の暗号化が有効になっている場合、HMS と Namenode 間のクライアントとサーバーの間に共通の保護レイヤーはありません。 | 
| バグ修正 | orc 分割の終了がブロックロケーションの開始と重複する **IOException** を修正しました。 | 
| バグ修正 | 列名にカンマ文字が含まれ、CSVSerde を使用する場合は、常にカンマで区切るのではなく、列名区切り文字を使用します。 | 

### Amazon EMR 7.3.0 - 新しい設定
<a name="Hive-release-history-changes-730-new-configs"></a>


****  

| 分類 | 名前 | デフォルト  | 説明  | 
| --- | --- | --- | --- | 
| hcatalog-webhcat-site | templeton.use.ssl | false | WebHCat サーバーで SSL 暗号化を使用する場合は、これを true に設定します。 | 
| hcatalog-webhcat-site | templeton.keystore.path |  | WebHCat サーバーの SSL 証明書キーストアの場所。 | 
| hcatalog-webhcat-site | templeton.keystore.password |  | WebHCat サーバーの SSL 証明書キーストアパスワード。 | 
| hcatalog-webhcat-site | templeton.ssl.protocol.blacklist | SSLv2、SSLv3 | WebHCat サーバーで無効にする SSL バージョン。 | 
| hcatalog-webhcat-site | templeton.host | 0.0.0.0 | WebHCat サーバーがリッスンするホストアドレス。 | 
| hive-site | hive.metastore.ssl.enable.hostname.verification | false | SSL/TLS ハンドシェイク中にホスト名の検証を制御します。 | 
| hive-site | hive.llap.daemon.web.ssl.keystore.path |  | LLAP デーモンウェブ UI の SSL 証明書キーストアの場所。 | 
| hive-site | hive.llap.daemon.web.ssl.keystore.password |  | LLAP デーモンウェブ UI の SSL 証明書キーストアパスワード。 | 
| hive-site | hive.metastore.hadoop.rpc.protection.override.to.authentication | false | 有効にすることにより、HMS は常に一連の設定で認証のために hadoop.rpc.protection の値を上書きします。 | 

# Amazon EMR 7.2.0 - Hive リリースノート
<a name="Hive-release-history-720"></a>

## Amazon EMR 7.2.0 - Hive の変更点
<a name="Hive-release-history-changes-720"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| アップグレード | [Parquet 1.13.1](https://github.com/apache/parquet-java/blob/apache-parquet-1.13.1/CHANGES.md) – Parquet は 113.1 にアップグレードされました。 | 
| 改善点 | [HIVE-12930](https://issues.apache.org/jira/browse/HIVE-12930) – LLAP の SSL シャッフルをサポートします。 | 
| 改善点 | [HIVE-23062](https://issues.apache.org/jira/browse/HIVE-23062) – Hive はカスタム Tez キューの TLS および Yarn HA モードの Yarn RM URL をチェックします。 | 
| バグ修正 | [HIVE-27952](https://issues.apache.org/jira/browse/HIVE-27952) – KeyStore に複数の証明書がある場合、Hive は SslContextFactory の作成に失敗します。 | 
| バグ修正 | [HIVE-28085](https://issues.apache.org/jira/browse/HIVE-28085) – YarnQueueHelper が HTTPS 対応 YARN WebService にアクセスできません。 | 
| バグ修正 | [HIVE-26436](https://issues.apache.org/jira/browse/HIVE-26436) – MR NullPointerException での Hive initializeOp が呼び出されておらず、Close が呼び出されていません。演算子が初期化されていない場合は、クローズをスキップします。 | 

### Amazon EMR 7.2.0 - 新しい設定
<a name="Hive-release-history-changes-720-new-configs"></a>


****  

| 分類 | 名前 | デフォルト  | 説明  | 
| --- | --- | --- | --- | 
| hive-site | hive.llap.shuffle.ssl.enabled | false | *tez.runtime.shuffle.ssl.enable* とともに true に設定することにより、LLAP の SSL シャッフルが有効になります。 | 

# Amazon EMR 7.1.0 - Hive リリースノート
<a name="Hive-release-history-710"></a>

## Amazon EMR 7.1.0 - Hive の変更点
<a name="Hive-release-history-changes-6150"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| バグ修正 | [HIVE-24381](https://issues.apache.org/jira/browse/HIVE-24381) – スキップヘッダー/フッターが含まれている場合、圧縮テキスト入力は 0 行を返します。 | 
| バグ修正 | [HIVE-24190](https://issues.apache.org/jira/browse/HIVE-24190) – LLAP: ShuffleHandler は TEZ-4233 に従って DISK\$1ERROR\$1EXCEPTION を返す場合があります。 | 
| バグ修正 | [HIVE-23073](https://issues.apache.org/jira/browse/HIVE-23073) – Netty をシェーディングします。 | 
| バグ修正 | [HIVE-23073](https://issues.apache.org/jira/browse/HIVE-23073) – Netty をシェーディングし、netty 4.1.48.Final にアップグレードします。 | 
| バグ修正 | [HIVE-23148](https://issues.apache.org/jira/browse/HIVE-23148) – netty シェーディングにより、ラップ外部クライアントフローが壊れています。 | 
| バグ修正 | [HIVE-25180](https://issues.apache.org/jira/browse/HIVE-25180) – Netty をアップグレードします。 | 
| バグ修正 | [HIVE-24524](https://issues.apache.org/jira/browse/HIVE-24524) – LLAP ShuffleHandler: Netty4 にアップグレードし、可能な場合は hive から Netty3 依存関係を削除します。 | 
| バグ修正 | [HIVE-28000](https://issues.apache.org/jira/browse/HIVE-28000) – Hive QL: 型強制を実行できない場合、「not in」句は間違った結果を提供します。 | 
| バグ修正 | [HIVE-27993](https://issues.apache.org/jira/browse/HIVE-27993) – Netty4 ShuffleHandler は 1 つのボススレッドを使用する必要があります。 | 
| アップグレード | Netty を 4.1.100.Final にアップグレード | 
| アップグレード | Jetty を 9.4.53.v20231009 にアップグレード | 
| アップグレード | Zookeeper を 3.9.1 にアップグレード | 

## Amazon EMR 7.1.0 - Hive の変更点
<a name="emr-Hive-710-issues"></a>
+ Amazon EMR 7.1 は、Hive を Netty 4.1.100.Final にアップグレードして Netty3 のセキュリティの脆弱性を解決します。hive-druid-handler は netty3 に依存しているため、Hive には Amazon EMR 7.1 の Hive のクラスパスに `hive-druid-handler` JAR がありません。Druid ハンドラーが 4.1.100.Final 以降のバージョンの Netty をサポートすると、今後の Amazon EMR リリースで Hive のクラスパスにそれが含まれます。Amazon EMR リリース 7.1 以降で `hive-druid-handler` JAR が必要な場合は、 AWS サポートにお問い合わせください。

# Amazon EMR 7.0.0 - Hive リリースノート
<a name="Hive-release-history-700"></a>

## Amazon EMR 7.0.0 - Hive の変更点
<a name="Hive-release-history-changes-700"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| アップグレード | Hive Runtime はデフォルトで Java 17 を使用しています。詳細については、「[EMR 7.0.0 Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-700-release.html)」を参照してください。 | 
| バックポート | [HIVE-17709](https://issues.apache.org/jira/browse/HIVE-17709): sun.misc.Cleaner リファレンスを削除する | 
| バグ修正 | LLAP または ACID が有効になっている場合に Tez 非同期 Init RR を無効にする  | 

# Amazon EMR 6.15.0 - Hive リリースノート
<a name="Hive-release-history-6150"></a>

## Amazon EMR 6.15.0 - Hive の変更点
<a name="Hive-release-history-changes-6150"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| 機能 | [TEZ-4397](https://issues.apache.org/jira/browse/TEZ-4397) のサポート - Tez 非同期スプリットオープンの場合、Hive は [Tez 非同期分割オープニング](tez-configure.md#tez-configure-async) で説明されている Tez 設定をサポートするようになりました。 | 
| バグ修正 | [HIVE-25400](https://issues.apache.org/jira/browse/HIVE-25400) - `BytesColumnVector` のオフセット更新を `setValPreallocated` に移動します。 | 
| バグ修正 | [HIVE-25190](https://issues.apache.org/jira/browse/HIVE-25190) - `BytesColumnVector` での多数の小さな割り当てを修正しました。 | 
| バグ修正 | ワーカーノードで *LLapDaemon* を起動するときに *NoClassDefFound* 例外を回避するために、llap サーバーで netty モジュールをパッケージ化します。 | 
| アップグレード | Apache Hadoop を 3.3.6 に更新します。 | 
| アップグレード | [HIVE-26684](https://issues.apache.org/jira/browse/HIVE-26684) – `maven-shade-plugin` を 3.4.1 へアップグレードします。 | 
| 改善点 | Amazon EMR クラスターの起動時間を短縮するには、HCatalog スタートアップスクリプトから 15 秒のスリープ時間を削除します。 | 

# Amazon EMR 6.14.0 - Hive リリースノート
<a name="Hive-release-history-6140"></a>

## Amazon EMR 6.14.0 - Hive の変更点
<a name="Hive-release-history-changes-6140"></a>


****  

| 型 | 説明 | 
| --- | --- | 
|  改良点  |  [HIVE-26762](https://issues.apache.org/jira/browse/HIVE-26762): `HiveFilterSetOpTransposeRule` のオペランドのプルーニングを削除 | 
|  バグ修正  |  [HIVE-27582](https://issues.apache.org/jira/browse/HIVE-27582): FetchOperator で HBase テーブル入力フォーマットをキャッシュしない | 
|  バグ修正  |  [HIVE-26452](https://issues.apache.org/jira/browse/HIVE-26452): JOIN を MAPJOIN に変換し、JOIN 列が複数回参照される場合の NPE | 
|  バグ修正  |  [HIVE-26416](https://issues.apache.org/jira/browse/HIVE-26416): `AcidUtils.isRawFormatFile()` が non-ORC ファイルに対して `InvalidProtocolBufferException` をスローする  | 
|  バグ修正  |  [HIVE-26105](https://issues.apache.org/jira/browse/HIVE-26105): **[コメント]** 列に特定の漢字が含まれている場合、**[列の表示]** で追加の値が表示される  | 
|  バグ修正  |  [HIVE-25864](https://issues.apache.org/jira/browse/HIVE-25864): Hive クエリの最適化により、ウィンドウ関数による述語プッシュダウンの間違ったプランが生成される  | 
|  バグ修正  |  [HIVE-25224](https://issues.apache.org/jira/browse/HIVE-25224): 異なる `bucketing_versions` があるテーブルを含む複数の INSERT ステートメントがエラーになる | 
|  バグ修正  |  [HIVE-24151](https://issues.apache.org/jira/browse/HIVE-24151): 文字列に non-ASCII 文字が含まれていると `MultiDelimitSerDe` がデータをシフトする | 
|  バグ修正  |  [HIVE-23606](https://issues.apache.org/jira/browse/HIVE-23606): (LLAP) `EncodedReaderImpl` の `DirectByteBuffer` クリーンアップの遅延 | 
|  バグ修正  |  [HIVE-22165](https://issues.apache.org/jira/browse/HIVE-22165): [HIVE-14296](https://issues.apache.org/jira/browse/HIVE-14296) によって `SessionManager.closeSession` に導入された同期により、ビジー状態の Hive サーバーで高いレイテンシーが発生する  | 
|  バグ修正  |  [HIVE-21304](https://issues.apache.org/jira/browse/HIVE-21304): バケット化バージョンの使用をより堅牢にする | 

# Amazon EMR 6.13.0 - Hive リリースノート
<a name="Hive-release-history-6130"></a>

## Amazon EMR 6.13.0 - Hive の変更点
<a name="Hive-release-history-changes-6130"></a>


****  

| 型 | 説明 | 
| --- | --- | 
|  改良点  |  Python スクリプトを Python3 をサポートするようにアップグレード  | 
|  改良点  |  [HIVE-27097](https://issues.apache.org/jira/browse/HIVE-27097): MetaStore クライアントとサーバーの再試行戦略を改善  | 
|  バグ修正  |  [HIVE-21778](https://issues.apache.org/jira/browse/HIVE-21778): CBO:「構造体が null ではない」が Null を許容として評価され、クエリで常にフィルターミスが生じる  | 
|  バグ修正  |  [HIVE-21009](https://issues.apache.org/jira/browse/HIVE-21009): ユーザーがバインドユーザーを設定する機能の追加  | 
|  バグ修正  |  [HIVE-22661](https://issues.apache.org/jira/browse/HIVE-22661): データが path に読み込まれたバケット化されていないテーブルで圧縮が失敗する  | 
|  バグ修正  |  [HIVE-19718](https://issues.apache.org/jira/browse/HIVE-19718): パーティションを一括追加すると、各パーティションのテーブルも取得される  | 
|  バグ修正  |  [HIVE-22173](https://issues.apache.org/jira/browse/HIVE-22173): 複数の側面ビューを含むクエリがコンパイル中にハングする  | 
|  バグ修正  |  [HIVE-27088](https://issues.apache.org/jira/browse/HIVE-27088): ポストジョインフィルター付きの内部ジョインと外部ジョインをマージすると結果が不正確になる  | 
|  バグ修正  |  [HIVE-21935](https://issues.apache.org/jira/browse/HIVE-21935): Hive のベクトル化: UDF のベクトル化によるパフォーマンスの低下  | 
|  バグ修正  |  [HIVE-25299](https://issues.apache.org/jira/browse/HIVE-25299): UTC 以外のタイムゾーンで、タイムスタンプを数値データ型にキャストすると正しくない  | 
|  バグ修正  |  [HIVE-24626](https://issues.apache.org/jira/browse/HIVE-24626): LLAP: すべての IO エレベータースレッドがビジー状態で、キューがいっぱいの別のリーダーへのキュー登録を行うと、リーダースレッドが枯渇する可能性がある  | 
|  バグ修正  |  [HIVE-27029](https://issues.apache.org/jira/browse/HIVE-27029): Hive クエリがファイルシステムのクローズエラーで失敗し、HIVE-26352 の再作業が行われた  | 
|  バグ修正  |  [HIVE-26352](https://issues.apache.org/jira/browse/HIVE-26352): 圧縮時に GSS 例外が発生して Tez キューのアクセスチェックが失敗する  | 
|  バグ修正  |  [HIVE-24590](https://issues.apache.org/jira/browse/HIVE-24590): 操作ログからまだ log4j アペンダーがリークする  | 
|  バグ修正  |  [HIVE-24552](https://issues.apache.org/jira/browse/HIVE-24552): HMS 接続がリークしたり、loadDynamicPartitions に蓄積されたりする可能性がある  | 
|  バグ修正  |  [HIVE-27069](https://issues.apache.org/jira/browse/HIVE-27069): バケットマップ結合の結果が正しくない  | 
|  バグ修正  |  [HIVE-27344](https://issues.apache.org/jira/browse/HIVE-27344): RecordReaderImpl\$1close にヌルチェックを追加  | 
|  バグ修正  |  [HIVE-27439](https://issues.apache.org/jira/browse/HIVE-27439): 10 進数でのスペースのサポート  | 
|  バグ修正  |  [HIVE-27267](https://issues.apache.org/jira/browse/HIVE-27267): サブクエリを使用して 10 進数のバケット列でバケットマップ結合を実行すると、結果が不正になる  | 
|  バグ修正  |  [HIVE-21986](https://issues.apache.org/jira/browse/HIVE-21986): HiveServer Web UI: デフォルト応答ヘッダーでの Strict-Transport-Security の設定  | 
|  バグ修正  |  [HIVE-22148](https://issues.apache.org/jira/browse/HIVE-22148): S3A 委任トークンがコンパクターのジョブ設定に追加されない。  | 
|  バグ修正  |  [HIVE-22622](https://issues.apache.org/jira/browse/HIVE-22622): Hive では、重複する属性名を持つ構造体を作成できる  | 
|  バグ修正  |  [HIVE-22008](https://issues.apache.org/jira/browse/HIVE-22008): LIKE 演算子は複数行の入力と一致する必要がある  | 
|  バグ修正  |  [HIVE-23144](https://issues.apache.org/jira/browse/HIVE-23144): LLAP: serviceStop で QueryTracker をクリーンアップさせる  | 
|  バグ修正  |  [HIVE-22391](https://issues.apache.org/jira/browse/HIVE-22391): Hive のクエリ結果キャッシュをチェック中の NPE  | 
|  バグ修正  |  [HIVE-23305](https://issues.apache.org/jira/browse/HIVE-23305): 競合状態による LlapTaskSchedulerService addNode の NullPointerException  | 
|  バグ修正  |  [HIVE-22178](https://issues.apache.org/jira/browse/HIVE-22178): Parquet FilterPredicate が SchemaEvolution 後に CastException をスローする  | 
|  バグ修正  |  [HIVE-21517](https://issues.apache.org/jira/browse/HIVE-21517): AggregateStatsCache を修正  | 
|  バグ修正  |  [HIVE-21825](https://issues.apache.org/jira/browse/HIVE-21825): アクティブ/パッシブ HA が有効になっている場合のクライアントエラーメッセージを改善  | 
|  バグ修正  |  [HIVE-23389](https://issues.apache.org/jira/browse/HIVE-23389): FilterMergeRule が AssertionError につながることがある  | 
|  バグ修正  |  [HIVE-22767](https://issues.apache.org/jira/browse/HIVE-22767): Beeline がコメント内のセミコロンを正しく解析しない  | 
|  バグ修正  |  [HIVE-22996](https://issues.apache.org/jira/browse/HIVE-22996): BasicStats の解析では、ヌルまたは空の文字列がないかを事前にチェックする必要がある  | 
|  バグ修正  |  [HIVE-22808](https://issues.apache.org/jira/browse/HIVE-22808): HiveRelFieldTrimmer が HiveTableFunctionScan を処理しない  | 
|  バグ修正  |  [HIVE-22437](https://issues.apache.org/jira/browse/HIVE-22437): メタデータのロックに関する LLAP メタデータキャッシュ NPE。  | 
|  バグ修正  |  [HIVE-22606](https://issues.apache.org/jira/browse/HIVE-22606): AvroSerde は avro.schema.literal を INFO レベルでログ記録する  | 
|  バグ修正  |  [HIVE-22713](https://issues.apache.org/jira/browse/HIVE-22713): Join-Fil(\$1)-RS 構造体では継続的な伝播を行うべきではない  | 
|  バグ修正  |  [HIVE-21624](https://issues.apache.org/jira/browse/HIVE-21624): LLAP: スレッドレベルの CPU メトリクスが壊れている  | 
|  バグ修正  |  [HIVE-22815](https://issues.apache.org/jira/browse/HIVE-22815): MROutput での不要なファイルシステムオブジェクトの作成を減少  | 
|  バグ修正  |  [HIVE-23060](https://issues.apache.org/jira/browse/HIVE-23060): 次のエラーでクエリが失敗する。「Grouping sets expression is not in GROUP BY key. Error encountered near token」  | 
|  バグ修正  |  [HIVE-22236](https://issues.apache.org/jira/browse/HIVE-22236): `NOT IN` サブクエリを含むビューを選択するビューを作成できない  | 
|  バグ修正  |  [HIVE-19886](https://issues.apache.org/jira/browse/HIVE-19886): —hiveconf hive.log.file を使用すると、ログが 2 つのファイルに送信されることがある  | 
|  バグ修正  |  [HIVE-20620](https://issues.apache.org/jira/browse/HIVE-20620): 動的パーティショニングを使用してバケット化されたソート済み MM テーブルに挿入すると、マニフェストの衝突が発生する  | 
|  バグ修正  |  [HIVE-14557](https://issues.apache.org/jira/browse/HIVE-14557): SkewJoin と Mapjoin の両方が有効になっている場合の Nullpointer  | 
|  バグ修正  |  [HIVE-20471](https://issues.apache.org/jira/browse/HIVE-20471): デフォルトのデータベースパスを取得する際に問題が発生する  | 
|  バグ修正  |  [HIVE-20598](https://issues.apache.org/jira/browse/HIVE-20598): HiveAlgorithmsUtil 計算のタイプミスを修正  | 
|  バグ修正  |  [HIVE-14737](https://issues.apache.org/jira/browse/HIVE-14737): Kerberized Hive サーバー 2 ウェブ UI の /logs へのアクセスに関する問題  | 
|  バグ修正  |  [HIVE-20733](https://issues.apache.org/jira/browse/HIVE-20733): GenericUDFOPEqualNS はプランの説明で = を使用しない場合がある  | 
|  バグ修正  |  [HIVE-20848](https://issues.apache.org/jira/browse/HIVE-20848): UpdateInputAccessTimeHook の設定後、クエリが「Table Not Found」という理由で失敗する。  | 
|  バグ修正  |  [HIVE-18929](https://issues.apache.org/jira/browse/HIVE-18929): HiveStringUtils.java の humanReadableInt メソッドに競合状態がある。  | 
|  バグ修正  |  [HIVE-20841](https://issues.apache.org/jira/browse/HIVE-20841): LLAP: 動的ポートを設定可能にする  | 
|  バグ修正  |  [HIVE-20930](https://issues.apache.org/jira/browse/HIVE-20930): FILTER モードの VectorCoalesce が有効にならない  | 
|  バグ修正  |  [HIVE-21007](https://issues.apache.org/jira/browse/HIVE-21007): セミ結合 \$1 ユニオンは間違ったプランにつながる可能性がある  | 
|  バグ修正  |  [HIVE-21074](https://issues.apache.org/jira/browse/HIVE-21074): IS NOT NULL 条件では Hive バケットテーブルのクエリプルーニングが機能しない  | 
|  バグ修正  |  [HIVE-21223](https://issues.apache.org/jira/browse/HIVE-21223): CachedStore は、パーティションが存在しない場合、null パーティションを返す  | 
|  バグ修正  |  [HIVE-19625](https://issues.apache.org/jira/browse/HIVE-19625): NPE が発生する可能性があり、Hive\$1copyFiles に実際の例外が隠れている  | 
|  バグ修正  |  [HIVE-17020](https://issues.apache.org/jira/browse/HIVE-17020): 重度 RS 重複排除により OP ツリーのブランチが誤って削除されることがある  | 
|  バグ修正  |  [HIVE-20168](https://issues.apache.org/jira/browse/HIVE-20168): ReduceSinkOperator ロギングは非表示  | 
|  バグ修正  |  [HIVE-20879](https://issues.apache.org/jira/browse/HIVE-20879): プロジェクション式で null を使用すると CastException が発生する  | 
|  バグ修正  |  [HIVE-20888](https://issues.apache.org/jira/browse/HIVE-20888): TxnHandler: 不変リストで sort() が呼び出される  | 
|  バグ修正  |  [HIVE-19948](https://issues.apache.org/jira/browse/HIVE-19948): 文字列内に引用符があると、HiveCLI がコマンドをセミコロンで正しく分割しない  | 
|  バグ修正  |  [HIVE-20621](https://issues.apache.org/jira/browse/HIVE-20621): resultset.next で GetOperationStatus が呼び出されることで速度が徐々に低下する  | 
|  バグ修正  |  [HIVE-20854](https://issues.apache.org/jira/browse/HIVE-20854): 妥当なデフォルト: Hive の Zookeeper ハートビート間隔は 20 分だが、2 に変更する  | 
|  バグ修正  |  [HIVE-20330](https://issues.apache.org/jira/browse/HIVE-20330): HCatLoader は、複数の入力があるジョブの複数の InputJobInfo オブジェクトを処理できない  | 
|  バグ修正  |  [HIVE-20787](https://issues.apache.org/jira/browse/HIVE-20787): MapJoinBytesTableContainer dummyRow ケースは再利用を処理しない  | 
|  バグ修正  |  [HIVE-20331](https://issues.apache.org/jira/browse/HIVE-20331): すべてユニオン、側面ビュー、および結合を使用したクエリが「cannot find parent in the child operator」で失敗する  | 
|  バグ修正  |  [HIVE-19968](https://issues.apache.org/jira/browse/HIVE-19968): UDF 例外がスローされない  | 
|  バグ修正  |  [HIVE-20410](https://issues.apache.org/jira/browse/HIVE-20410): トランザクションテーブルでの Insert Overwrite が中止されると、「Not enough history available for…」というエラーが発生する  | 
|  バグ修正  |  [HIVE-20059](https://issues.apache.org/jira/browse/HIVE-20059): Hive ストリーミングでは、例外発生時に無条件にシェードプレフィックスを試す必要がある  | 
|  バグ修正  |  [HIVE-19424](https://issues.apache.org/jira/browse/HIVE-19424): MetaDataFormatters の NPE  | 
|  バグ修正  |  [HIVE-20355](https://issues.apache.org/jira/browse/HIVE-20355): HiveConnection.setSchema のクリーンアップパラメータ  | 
|  バグ修正  |  [HIVE-20858](https://issues.apache.org/jira/browse/HIVE-20858): Utilities.createEmptyBuckets の設定でシリアライザーが正しく初期化されない。  | 
|  バグ修正  |  [HIVE-20424](https://issues.apache.org/jira/browse/HIVE-20424): schematool は beeline 履歴を汚染してはならない  | 
|  バグ修正  |  [HIVE-20338](https://issues.apache.org/jira/browse/HIVE-20338): LLAP: POSIX ミューテーションセマンティクスを使用した HDFS プロトコル impls があるファイルシステムに対して合成ファイル ID を強制する  | 
|  バグ修正  |  [HIVE-11708](https://issues.apache.org/jira/browse/HIVE-11708): 論理演算子が NULL で ClassCastExceptions を発生させる  | 
|  バグ修正  |  [HIVE-21082](https://issues.apache.org/jira/browse/HIVE-21082): HPL/SQL では、宣言ステートメントは文字型の変数をサポートしていない  | 
|  バグ修正  |  [HIVE-16690](https://issues.apache.org/jira/browse/HIVE-16690): LLAP クラスターサイズに基づいて Tez 直積集合エッジを設定する  | 
|  バグ修正  |  [HIVE-14516](https://issues.apache.org/jira/browse/HIVE-14516): OrcInputFormat.SplitGenerator.callInternal  | 
|  バグ修正  |  [HIVE-20981](https://issues.apache.org/jira/browse/HIVE-20981): ストリーミング/AbstractRecordWriter が HeapMemoryMonitor をリークする  | 
|  バグ修正  |  [HIVE-20043](https://issues.apache.org/jira/browse/HIVE-20043): HiveServer2: SessionState に AtomicBoolean の周りの静的同期ブロックがある  | 
|  バグ修正  |  [HIVE-20191](https://issues.apache.org/jira/browse/HIVE-20191): パッチが空の場合、PreCommit パッチの適用が失敗しない  | 
|  バグ修正  |  [HIVE-20400](https://issues.apache.org/jira/browse/HIVE-20400): FS があいまいになる可能性を避けるため、テーブル作成では常に完全修飾パスを使用する必要がある  | 
|  バグ修正  |  スキューされた列にアクセスする前に skewedInfo の NULL チェックを追加  | 

# Amazon EMR 6.12.0 - Hive リリースノート
<a name="Hive-release-history-6120"></a>

## Amazon EMR 6.12.0 - Hive の変更点
<a name="Hive-release-history-changes-6120"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| 改良点 | JDK 11 と JDK 17 ランタイムのサポートが追加されました | 
| 改良点 | S3 Select を使用する際に、大文字と小文字が区別されるキーワード列名と予約キーワード列名をクエリするサポートが追加されました。これを使用するには、"s3select.column.mapping" = "column1:fieldName1, column2:fieldName2,..." という形式でテーブルプロパティを定義してください。 | 
| 改良点 | [HIVE-23133](https://issues.apache.org/jira/browse/HIVE-23133): 数値演算はハードウェアアーキテクチャによって結果が異なる場合がある | 
| 改良点 | [HIVE-27145](https://issues.apache.org/jira/browse/HIVE-27145): HIVE-23133 のフォローアップとして、残りの数学関数には StrictMath を使用する | 
| バグ修正 | EMR Hive 6.4.0 で [HIVE-22900](https://issues.apache.org/jira/browse/HIVE-22900) を移植したために発生した get\$1partitions\$1by\$1filter と get\$1num\$1partitions\$1by\$1filter HMS API のワイルドカードの非互換性を修正 | 
| バグ修正 | [HIVE-26736](https://issues.apache.org/jira/browse/HIVE-26736): WITH 句を含むネストされたビューの認可が失敗する | 
| バグ修正 | [HIVE-22416](https://issues.apache.org/jira/browse/HIVE-22416): parallel 実行が有効になっていると、MR 関連の操作ログが見つからない | 
| バグ修正 | [HIVE-19653](https://issues.apache.org/jira/browse/HIVE-19653): グループ化セットを使用した groupby の述語プッシュダウンが正しくない | 
| バグ修正 | [HIVE-22094](https://issues.apache.org/jira/browse/HIVE-22094): ClassCastException でクエリが失敗する: hive.ql.exec.vector.DecimalColumnVector を hive.ql.exec.vector.Decimal64ColumnVector にキャストできない | 
| バグ修正 | [HIVE-26340](https://issues.apache.org/jira/browse/HIVE-26340): クエリに大文字のウィンドウ関数が含まれていると、ベクトル化された PTF 演算子が失敗する | 
| バグ修正 | [HIVE-26184](https://issues.apache.org/jira/browse/HIVE-26184): 一部のキーが大きく歪んでいると、GROUP BY を使用した COLLECT\$1SET が非常に遅くなる | 
| バグ修正 | [HIVE-26373](https://issues.apache.org/jira/browse/HIVE-26373): Avro データを含む HBase テーブルからタイムスタンプを読み取る際の ClassCastException | 
| バグ修正 | [HIVE-26388](https://issues.apache.org/jira/browse/HIVE-26388): CTAS クエリのソーステーブルに文字列型以外の列がある場合の ClassCastException [HIVE-26172](https://issues.apache.org/jira/browse/HIVE-26172): Hive - CVE-2021-36373 と CVE-2021-36374 による Ant の 1.10.11 へのアップグレード | 
| バグ修正 | [HIVE-26114](https://issues.apache.org/jira/browse/HIVE-26114): プレフィックススペースを指定した dfs コマンドを使用すると例外が発生する jdbc 接続 hiveserver2 を修正 | 
| バグ修正 | [HIVE-26396](https://issues.apache.org/jira/browse/HIVE-26396): trunc 関数の精度インターセプトに問題があり、結果に 0 が多数返される | 
| バグ修正 | [HIVE-26446](https://issues.apache.org/jira/browse/HIVE-26446): HiveProtoLoggingHook は、パーティション化されたテーブルの TablesWritten フィールドへのデータ入力に失敗する。 | 
| バグ修正 | [HIVE-26639](https://issues.apache.org/jira/browse/HIVE-26639): ConstantVectorExpression と ExplainTask はデフォルトの文字セットに頼るべきではない | 
| バグ修正 | [HIVE-22670](https://issues.apache.org/jira/browse/HIVE-22670): Parquet ファイルの読み取りにベクトル化されたリーダーを使用する場合の ArrayIndexOutOfBoundsException | 
| バグ修正 | [HIVE-23607](https://issues.apache.org/jira/browse/HIVE-23607): 権限の問題: 別のビューでのビューの作成は成功するが、ビューの変更は失敗する | 
| バグ修正 | [HIVE-25498](https://issues.apache.org/jira/browse/HIVE-25498): 個数が 31 個を超える個別関数を含むクエリが間違った結果を返す | 
| バグ修正 | [HIVE-25780](https://issues.apache.org/jira/browse/HIVE-25780): DistinctExpansion が 64 個以上のグループ化セット II を作成する | 
| バグ修正 | [HIVE-23868](https://issues.apache.org/jira/browse/HIVE-23868): ウィンドウ関数の仕様: 先行/後続 0 件をサポート | 
| バグ修正 | [HIVE-24539](https://issues.apache.org/jira/browse/HIVE-24539): OrcInputFormat スキーマ生成は列区切り文字を尊重する必要がある | 
| バグ修正 | [HIVE-23476](https://issues.apache.org/jira/browse/HIVE-23476): LLAP: mmap の場合にもアリーナを事前に割り当てておく | 
| バグ修正 | [HIVE-25806](https://issues.apache.org/jira/browse/HIVE-25806): LlapCacheAwareFs でリークが発生する可能性がある - Parquet、LLAP IO | 
| バグ修正 | [HIVE-23498](https://issues.apache.org/jira/browse/HIVE-23498): ThriftHttpCliService の HTTP トレースメソッドを無効にする | 
| バグ修正 | [HIVE-25729](https://issues.apache.org/jira/browse/HIVE-25729): ThriftUnionObjectInspector は、完全に起動されたら通知を受ける必要がある | 
| バグ修正 | [HIVE-23846](https://issues.apache.org/jira/browse/HIVE-23846): ビットベクトルの不必要なシリアル化と逆シリアル化を回避 | 
| バグ修正 | [HIVE-24233](https://issues.apache.org/jira/browse/HIVE-24233): cbo を無効にした状態でサブクエリが NULL ポインターを投げる場合を除く | 
| バグ修正 | [HIVE-24276](https://issues.apache.org/jira/browse/HIVE-24276): HiveServer2 loggerconf jsp クロスサイトスクリプティング (XSS) の脆弱性 | 
| バグ修正 | [HIVE-25721](https://issues.apache.org/jira/browse/HIVE-25721): 外部結合の結果が間違っている | 
| バグ修正 | [HIVE-25223](https://issues.apache.org/jira/browse/HIVE-25223): 制限付き選択では非ネイティブテーブルの行が返されない | 
| バグ修正 | [HIVE-25794](https://issues.apache.org/jira/browse/HIVE-25794): CombineHiveRecordReader: ループ内のログステートメントがメモリプレッシャーにつながる | 
| バグ修正 | [HIVE-23602](https://issues.apache.org/jira/browse/HIVE-23602): オペレーションハンドルセットに Java コンカレントパッケージを使用する | 
| バグ修正 | [HIVE-24045](https://issues.apache.org/jira/browse/HIVE-24045): デフォルトデータベースの作成時期に関するログがない | 
| バグ修正 | [HIVE-24305](https://issues.apache.org/jira/browse/HIVE-24305): 値が引用符で囲まれていると、avro 10 進スキーマがスケール/精度を正しく入力しない | 
| バグ修正 | [HIVE-25040](https://issues.apache.org/jira/browse/HIVE-25040): データベースカスケードをドロップすると永続関数を削除できない | 
| バグ修正 | [HIVE-23501](https://issues.apache.org/jira/browse/HIVE-23501): 複合型がプリミティブ型に変換されたときの VectorDeserializeRow の AOOB | 
| バグ修正 | [HIVE-23704](https://issues.apache.org/jira/browse/HIVE-23704): Thrift HTTP サーバーが認証ハンドルを正しく処理しない | 
| バグ修正 | [HIVE-23529](https://issues.apache.org/jira/browse/HIVE-23529): row\$1deserialize を実行すると、uniontype の CTAS が壊れる | 
| バグ修正 | [HIVE-24144](https://issues.apache.org/jira/browse/HIVE-24144): HiveDatabaseMetaData の getIdentifierQuoteString が不正な値を返す | 
| バグ修正 | [HIVE-23850](https://issues.apache.org/jira/browse/HIVE-23850): サブジェクトがグループ化セットが存在する列でない場合に PPD を許可する | 
| バグ修正 | [HIVE-25919](https://issues.apache.org/jira/browse/HIVE-25919): HBaseStorageHandler でブール値の列述語をプッシュすると ClassCastException が発生する | 
| バグ修正 | [HIVE-25261](https://issues.apache.org/jira/browse/HIVE-25261): RetryingHMSHandler はターゲットの短い説明を含む MetaException をラップする必要がある | 
| バグ修正 | [HIVE-24792](https://issues.apache.org/jira/browse/HIVE-24792): オペレーション中にスレッドリークが発生する可能性がある | 
| バグ修正 | [HIVE-23409](https://issues.apache.org/jira/browse/HIVE-23409): タイムラインサービスがダウンしたために TezSession アプリケーションの再オープンに失敗すると、SessionPool のデフォルトの TezSession が再試行後に閉じられる | 
| バグ修正 | [HIVE-23615](https://issues.apache.org/jira/browse/HIVE-23615): Beeline コマンドクラスの null ポインターを参照しないでください | 
| バグ修正 | [HIVE-24849](https://issues.apache.org/jira/browse/HIVE-24849): ロケーションに大量のファイルがある場合に外部テーブルソケットのタイムアウトを作成する (3.1.2 に影響) | 
| バグ修正 | [HIVE-25209](https://issues.apache.org/jira/browse/HIVE-25209): SUM 関数を使用した SELECT クエリで予期しない結果が生じる | 
| バグ修正 | [HIVE-23666](https://issues.apache.org/jira/browse/HIVE-23666): groupby 演算子にグループ化セットがない場合、checkHashModeEfficiency がスキップされる | 
| バグ修正 | [HIVE-23873](https://issues.apache.org/jira/browse/HIVE-23873): CBO がオフの場合、Hive JDBCStorageHandler テーブルのクエリが NPE で失敗する | 
| バグ修正 | [HIVE-24149](https://issues.apache.org/jira/browse/HIVE-24149): HiveStreamingConnection が HMS 接続を閉じない | 
| バグ修正 | [HIVE-25561](https://issues.apache.org/jira/browse/HIVE-25561): 強制終了されたタスクはファイルをコミットしてはならない (2.x および 3.x バージョンに影響)。 | 
| バグ修正 | [HIVE-25683](https://issues.apache.org/jira/browse/HIVE-25683): AcidUtils.isRawFormatFile でリーダーを閉じる | 
| バグ修正 | [HIVE-24294](https://issues.apache.org/jira/browse/HIVE-24294): TezSessionPool セッションが AssertionError を投げることがある | 
| バグ修正 | [HIVE-24182](https://issues.apache.org/jira/browse/HIVE-24182): 永続的な UDF に関する Ranger の認可の問題 | 
| バグ修正 | [HIVE-22805](https://issues.apache.org/jira/browse/HIVE-22805): 条件付き配列またはマップによるベクトル化が実装されておらず、エラーが発生する | 
| バグ修正 | [HIVE-22828](https://issues.apache.org/jira/browse/HIVE-22828): Decimal64: NVL ステートメントと CASE ステートメントは暗黙的に decimal64 を 128 に変換する | 
| バグ修正 | [HIVE-21398](https://issues.apache.org/jira/browse/HIVE-21398): 推定統計情報を含む列は一意のキーと見なすべきではない | 
| バグ修正 | [HIVE-22490](https://issues.apache.org/jira/browse/HIVE-22490): パスに特殊文字を含む jar を追加するとエラーが発生する | 
| バグ修正 | [HIVE-22700](https://issues.apache.org/jira/browse/HIVE-22700): 不正な圧縮を行うとメモリリークが発生することがある | 
| バグ修正 | [HIVE-22053](https://issues.apache.org/jira/browse/HIVE-22053): 関数作成時に関数名が正規化されない | 
| バグ修正 | [HIVE-22595](https://issues.apache.org/jira/browse/HIVE-22595): 外部スキーマのある Avro テーブルテーブルで動的パーティションの挿入が失敗する | 
| バグ修正 | [HIVE-21795](https://issues.apache.org/jira/browse/HIVE-21795): 分割テーブルで mapjoin を行うと、ロールアップサマリー行が欠落することがある | 
| バグ修正 | [HIVE-22987](https://issues.apache.org/jira/browse/HIVE-22987): DataTypePhysicalVariation が NULL の場合の VectorCoalesce における ClassCastException | 
| バグ修正 | [HIVE-22219](https://issues.apache.org/jira/browse/HIVE-22219): ノードマネージャーをダウンさせると LLAP サービスの再起動がブロックされる | 
| バグ修正 | [HIVE-21793](https://issues.apache.org/jira/browse/HIVE-21793): hive.stats.fetch.column.stats が false に設定されていても CBO が列の統計情報を取得する | 
| バグ修正 | [HIVE-22163](https://issues.apache.org/jira/browse/HIVE-22163): CBO: CBO を有効にすると、推定が無効になっていても統計推定が有効になる | 
| バグ修正 | [HIVE-18735](https://issues.apache.org/jira/browse/HIVE-18735): トランザクション属性が失われるようなテーブルを作成する | 
| バグ修正 | [HIVE-22433](https://issues.apache.org/jira/browse/HIVE-22433): Hive JDBC ストレージハンドラー: JDBC データソースからの BOOLEAN と TIMESTAMP DataType から取得された結果が不正 | 
| バグ修正 | [HIVE-19430](https://issues.apache.org/jira/browse/HIVE-19430): 多数の保留中のイベントで ObjectStore.cleanNotificationEvents OutOfMemory が発生する | 
| バグ修正 | [HIVE-20785](https://issues.apache.org/jira/browse/HIVE-20785): JDBC DatabaseMetaData.getPrimaryKeys メソッドのキー名が間違っている | 
| バグ修正 | [HIVE-16116](https://issues.apache.org/jira/browse/HIVE-16116): beeline.properties で beeline.hiveconfvariables=\$1\$1 の場合、Beeline が NPE をスローする | 
| バグ修正 | [HIVE-20066](https://issues.apache.org/jira/browse/HIVE-20066): hive.load.data.owner がフルプリンシパルと比較される | 
| バグ修正 | [HIVE-20489](https://issues.apache.org/jira/browse/HIVE-20489): クエリがハングするプランを説明する | 
| バグ修正 | [HIVE-21033](https://issues.apache.org/jira/browse/HIVE-21033): 操作を閉じるのを忘れると、それ以上の HiveServer2 の出力が途切れる | 
| バグ修正 | [HIVE-19888](https://issues.apache.org/jira/browse/HIVE-19888): SessionState から「METASTORE\$1FILTER\$1HOOK will be ignored」という誤解を招く警告が出る | 
| バグ修正 | [HIVE-20303](https://issues.apache.org/jira/browse/HIVE-20303): INSERT OVERWRITE TABLE db.table PARTITION (...) IF NOT EXISTS が InvalidTableException をスローする | 
| バグ修正 | [HIVE-16144](https://issues.apache.org/jira/browse/HIVE-16144): CompactionInfo には等号/ハッシュコードはないが、セットでは使われている | 
| バグ修正 | [HIVE-20818](https://issues.apache.org/jira/browse/HIVE-20818): WHERE サブクエリで作成されたビューは、サブクエリで参照されるビューを直接入力と見なす | 
| バグ修正 | [HIVE-21005](https://issues.apache.org/jira/browse/HIVE-21005): LLAP: スプリットごとに読み取るストライプの数が増えると ZlibCodecs がリークされる | 
| バグ修正 | [HIVE-20771](https://issues.apache.org/jira/browse/HIVE-20771): LazyBinarySerDe は空の構造体では失敗する。 | 
| バグ修正 | [HIVE-18852](https://issues.apache.org/jira/browse/HIVE-18852): 変更テーブルの検証で誤解を招くエラーメッセージ | 
| バグ修正 | [HIVE-21124](https://issues.apache.org/jira/browse/HIVE-21124): HPL/SQL は CREATE TABLE LIKE ステートメントをサポートしない | 
| バグ修正 | [HIVE-20935](https://issues.apache.org/jira/browse/HIVE-20935): llap パッケージ tarball のアップロードが EC2 で失敗し、LLAP サービスの起動に失敗する | 
| バグ修正 | [HIVE-20409](https://issues.apache.org/jira/browse/HIVE-20409): Hive ACID: 更新/削除/マージを行っても hdfs ステージングディレクトリがクリーンアップされない | 
| バグ修正 | [HIVE-20570](https://issues.apache.org/jira/browse/HIVE-20570): hive.optimize.union.remove=true ですべてをユニオンすると、プランが正しくない | 
| バグ修正 | [HIVE-20421](https://issues.apache.org/jira/browse/HIVE-20421): hive-default.xml.template 内の文字エンティティ '\$1b' が不正 | 
| バグ修正 | [HIVE-19133](https://issues.apache.org/jira/browse/HIVE-19133): HS2 WebUI のフェーズ単位のパフォーマンスメトリックが正しく表示されない | 
| バグ修正 | [HIVE-18977](https://issues.apache.org/jira/browse/HIVE-18977): JDO とダイレクト SQL では、パーティションを一覧表示すると異なる結果が返される | 
| バグ修正 | [HIVE-20034](https://issues.apache.org/jira/browse/HIVE-20034): MetaStore 例外処理の変更をロールバックして下位互換性を確保 | 
| バグ修正 | [HIVE-20672](https://issues.apache.org/jira/browse/HIVE-20672): LlapTaskSchedulerService のロギングスレッドは、一定間隔ごとに報告する必要がある | 
| バグ修正 | [HIVE-12812](https://issues.apache.org/jira/browse/HIVE-12812): 集約関数によるユニオンをサポートするため、mapred.input.dir.recursive をデフォルトで有効にする | 
| バグ修正 | [HIVE-20147](https://issues.apache.org/jira/browse/HIVE-20147): Hive ストリーミング取り込みは同期ログに基づいて行われる | 
| バグ修正 | [HIVE-19203](https://issues.apache.org/jira/browse/HIVE-19203): HiveMetaStore におけるスレッドの安全性の問題 | 
| バグ修正 | [HIVE-20091](https://issues.apache.org/jira/browse/HIVE-20091): Tez: FileSinkOperator 出力にセキュリティ認証情報を追加 | 
| バグ修正 | [HIVE-16906](https://issues.apache.org/jira/browse/HIVE-16906): Hive ATSHook は ATS に接続する前に yarn.timeline-service.enabled をチェックする必要がある | 
| バグ修正 | [HIVE-20714](https://issues.apache.org/jira/browse/HIVE-20714): 1 つのプロパティの SHOW tblproperties を行うと、名前列の値が返される | 
| バグ修正 | [HIVE-24730](https://issues.apache.org/jira/browse/HIVE-24730): Shims クラスは hive-site.xml と tez-site.xml の値をサイレントにオーバーライドする | 
| バグ修正 | [HIVE-22055](https://issues.apache.org/jira/browse/HIVE-22055): テキストファイルからデータをロードした後、選択カウントが不適切な結果になる | 

# Amazon EMR 6.11.0 - Hive リリースノート
<a name="Hive-release-history-6110"></a>

## Amazon EMR 6.11.0 - Hive の変更点
<a name="Hive-release-history-changes-6110"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| 改良点 | パーティションの削除のパフォーマンスを向上させるため、マルチスレッドによるパーティションの削除のサポートを追加 | 
| 改良点 | エンコードされた Hive クエリファイルの読み取りをサポート | 
| 改良点 | Hive on Tez ジョブの Tez シャッフルハンドラーをデフォルトで有効化 | 
| バグ | hive.groupby.skewindata が有効になっているときの誤った結果を修正するために、リデューサーへのキーの確定的配布を有効にするオプションを追加 ([HIVE-20220](https://issues.apache.org/jira/browse/HIVE-20220) で報告) | 
| バグ | デフォルトのパーティション名が設定されている場合の統計情報の計算が失敗する問題を修正 | 
| バグ | 転送中の暗号化が有効になっているクラスターで HiveServer2 に SSL が初期設定されている場合に渡されるカスタム SSL 分類パラメータはすべて優先する | 
| バックポート | [HIVE-23617](https://issues.apache.org/jira/browse/HIVE-23617): ストレージ API FindBug に関する問題を修正 | 
| バックポート |  [HIVE-26408](https://issues.apache.org/jira/browse/HIVE-26408): ベクトル化: スクラッチ列の割り当て解除を修正し、子 ConstantVectorExpression を出力として再利用しない | 
| バックポート | [HIVE-23614](https://issues.apache.org/jira/browse/HIVE-23614): removeTempOrDuplicateFiles に HiveConfig を常に渡す | 
| バックポート | [HIVE-23354](https://issues.apache.org/jira/browse/HIVE-23354): compareTempOrDuplicateFiles からファイルサイズのサニティチェックを削除 | 
| バックポート | [HIVE-20344](https://issues.apache.org/jira/browse/HIVE-20344): SBA の PrivilegeSynchronizer が AccessControlException をスローする問題を修正。また、特権シンクロナイザーを無効にするプロパティ hive.privilege.synchronizer も導入 | 
| バックポート | [HIVE-15826](https://issues.apache.org/jira/browse/HIVE-15826): すべての SerDes の「serialization.encoding」の設定をサポート | 
| バックポート | [HIVE-18284](https://issues.apache.org/jira/browse/HIVE-18284): dynpart ソート最適化で「distribute by」句を使用してデータを挿入するときの NPE を修正 | 
| バックポート | [HIVE-24930](https://issues.apache.org/jira/browse/HIVE-24930): 子演算からの Operator.setDone() ショートサーキットはベクトル化されたコードパスでは使用されない (childSize == 1 の場合) | 
| バックポート | [HIVE-24523](https://issues.apache.org/jira/browse/HIVE-24523): LazySimpleSerde のベクトル化された読み取りパスはタイムスタンプの SERDEPROPERTIES を無視する | 
| バックポート | [HIVE-23265](https://issues.apache.org/jira/browse/HIVE-23265): 制限とオフセットが設定された重複行セットが返される | 
| バックポート | [HIVE-21492](https://issues.apache.org/jira/browse/HIVE-21492): VectorizedParquetRecordReader が、thrift/カスタムツールを使用して生成された parquet ファイルを読み取れない | 
| バックポート | [HIVE-22540](https://issues.apache.org/jira/browse/HIVE-22540): ベクトル化:VectorizedBatchUtil.makeLikeColumnVector() では Decimal64 列が機能しない | 
| バックポート | [HIVE-22588](https://issues.apache.org/jira/browse/HIVE-22588): ベクトルグループ化モードを切り替えたときに、残りのグループ化セットの残りの行をフラッシュする | 
| バックポート | [HIVE-22551](https://issues.apache.org/jira/browse/HIVE-22551): BytesColumnVector initBuffer はベクトルと長さを一貫してクリーンアップする必要がある | 
| バックポート | [HIVE-22448](https://issues.apache.org/jira/browse/HIVE-22448): CBO: group-by キーを使用して複数のカウントを個別に展開する | 
| バックポート | [HIVE-22248](https://issues.apache.org/jira/browse/HIVE-22248): 統計情報が持続する問題を修正 | 
| バックポート | [HIVE-22210](https://issues.apache.org/jira/browse/HIVE-22210): ベクトル化により、フィルタリングに関係する計算出力列が再利用される可能性がある | 
| バックポート | [HIVE-21531](https://issues.apache.org/jira/browse/HIVE-21531): ベクトル化: すべての NULL ハッシュコードが Murmur3 を使用して計算されない | 
| バックポート | [HIVE-20419](https://issues.apache.org/jira/browse/HIVE-20419): ベクトル化: VectorPartitionDesc がハッシュマップキーで使用された後に変更されるのを防ぐ | 
| バックポート | [HIVE-19388](https://issues.apache.org/jira/browse/HIVE-19388): VectorMapJoinCommonOperator の初期化中の ClassCastException | 
| バックポート | [HIVE-21584](https://issues.apache.org/jira/browse/HIVE-21584): Java 11 の準備: システムクラスローダーは URLClassLoader ではない | 
| バックポート | [HIVE-25107](https://issues.apache.org/jira/browse/HIVE-25107): クラスパスのロギングは DEBUG レベルにすべき (\$12271) | 
| バックポート | [HIVE-22097](https://issues.apache.org/jira/browse/HIVE-22097): Java 11 の java.util.ArrayList は互換性がない | 
| バックポート | [HIVE-23938](https://issues.apache.org/jira/browse/HIVE-23938): LLAP: JDK11 - 一部の GC ログファイルのローテーションに関連する jvm 引数が使用できなくなった | 
| バックポート | [HIVE-26226](https://issues.apache.org/jira/browse/HIVE-26226): upgrade-acid で hive メタストアから jdk.tools dep を除外する | 
| バックポート | [HIVE-17879](https://issues.apache.org/jira/browse/HIVE-17879): Datanucleus Maven プラグインのアップグレード | 
| バックポート | [HIVE-27004](https://issues.apache.org/jira/browse/HIVE-27004): DateTimeFormatterBuilder\$1appendZoneText は 8 を超える Java バージョンでは「UTC\$1」を解析できない | 
| バックポート | [HIVE-16812](https://issues.apache.org/jira/browse/HIVE-16812): VectorizedOrcAcidRowBatchReader が削除イベントをフィルタリングしない | 
| バックポート | [HIVE-17917](https://issues.apache.org/jira/browse/HIVE-17917): VectorizedOrcAcidRowBatchReader.computeOffsetAndBucket の最適化 | 
| バックポート | [HIVE-19985](https://issues.apache.org/jira/browse/HIVE-19985): ACID: 読み取り専用クエリの ROW\$1\$1ID セクションのデコードをスキップする | 
| バックポート | [HIVE-20635](https://issues.apache.org/jira/browse/HIVE-20635): VectorizedOrcAcidRowBatchReader は元のファイルの削除イベントをフィルタリングしない | 
| アップグレード | Javadoc を 3.3.1 にアップグレード | 
| アップグレード | Javassist を 3.24.1-GA にアップグレード | 
| アップグレード | Apache ディレクトリサーバーを 2.0.0-M14 に更新 | 

## 新しい設定
<a name="Hive-release-history-changes-6110-new-configurations"></a>


****  

| 名前 | 分類 | 説明 | 
| --- | --- | --- | 
| hive.metastore.fs.drop.partition.threads | hive-site | ドロップパーティションスレッドプール内のコアスレッドの数。 | 
| hive.metastore.fs.drop.partition.keepalive.time | hive-site | (スレッドプールからの) アイドル状態のドロップパーティション非同期スレッドが新しいタスクが到着するのを待ってから終了する時間 (秒単位)。 | 
| hive.metastore.fs.drop.partition.threadpool.max.queue.size | hive-site | ファイルシステムからパーティションを削除する際にスレッドプール内で使用される最大キューサイズ。 | 
| hive.groupby.enable.deterministic.distribution | hive-site | リデューサーへのキーの確定的配布を有効にします。ランダムパーティショニングに使用される rand 関数を呼び出す際に、定数のシード値を渡します。 | 
| hive.privilege.synchronizer | hive-site | HiveServer2 で外部オーソライザーからの権限を定期的に同期するかどうか。 | 
| hive.cli.query.file.encoding | hive-site | cli 引数で提供されるすべてのタイプのクエリファイル (クエリファイル、init クエリファイル、rc ファイルなど) のファイルエンコーディング。 | 
| hive.emr.tez.shuffle.enabled | hive-site | Hive on Tez ジョブは、デフォルトで mapreduce\$1shuffle の代わりに tez\$1shuffle をデフォルトのシャッフルハンドラーとして使用するようになりました。 | 

## 非推奨の構成
<a name="Hive-release-history-changes-6110-old-configurations"></a>

以下の設定プロパティは [HIVE-23354](https://issues.apache.org/jira/browse/HIVE-23354) の結果として廃止され、Amazon EMR リリース 6.11.0 以降ではサポートされなくなりました。


| 名前 | デフォルトの値 | 
| --- | --- | 
| `hive.mapred.reduce.tasks.speculative.execution` | `false` | 
| `tez.am.speculation.enabled` | `false` | 

# Amazon EMR 6.10.0 - Hive リリースノート
<a name="Hive-release-history-6100"></a>

## Amazon EMR 6.10.0 - Hive の変更点
<a name="Hive-release-history-changes-6100"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| 機能 | IAM パススルー (HiveCLI/Steps API) を介して Apache Hive クエリ (書き込み) の AWS Lake Formation ベースアクセスコントロールを有効にします。 [ HiveCLI](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html) | 
| 改善点 | ログサイズを減らすため、デフォルトではコンフィグ hive.log.explain.output を無効にします | 
| バックポート | [HIVE-26408](https://issues.apache.org/jira/browse/HIVE-26408): ベクトル化: スクラッチ列の割り当て解除を修正し、子 ConstantVectorExpression を出力として再利用しない | 
| バックポート | [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269): [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) による統計情報の欠落による動的パーティションの挿入クエリのリデューサーカウントの誤りを修正。 | 
| バックポート | [HIVE-22891](https://issues.apache.org/jira/browse/HIVE-22891): 非 LLAP 実行モードの CombineHiveRecord で PartitionDesc Extraction をスキップ  | 
| バックポート | [HIVE-23804](https://issues.apache.org/jira/browse/HIVE-23804): Hive メタストアスキーマに列統計固有のテーブル用のデフォルトデータベースを追加して下位互換性を確保 | 
| バックポート | [HIVE-25277](https://issues.apache.org/jira/browse/HIVE-25277): 高価なリストファイルがあるクラウドオブジェクトストアの Hive パーティション削除が遅い | 
| バックポート | [HIVE-19202](https://issues.apache.org/jira/browse/HIVE-19202): HiveAggregate.isBucketedInput() の NullPointerException が原因で CBO が失敗した | 
| バックポート | [HIVE-19048](https://issues.apache.org/jira/browse/HIVE-19048): beeline Initscript エラーが無視される問題を修正 | 
| バックポート | [HIVE-21085](https://issues.apache.org/jira/browse/HIVE-21085): マテリアライズドビューレジストリが外部以外の tez セッションを開始する | 
| バックポート | [HIVE-21675](https://issues.apache.org/jira/browse/HIVE-21675): CREATE VIEW IF NOT EXISTS でビューが既に存在する場合「OK」ではなくエラーが返される。これは Hive 2 からのリグレッションです。 | 
| バックポート | [HIVE-21646](https://issues.apache.org/jira/browse/HIVE-21646): Tez: TezTasks がスレッドロギングコンテキストをエスケープするのを防ぐ | 
| バックポート | [HIVE-22054](https://issues.apache.org/jira/browse/HIVE-22054): ディレクトリが空かどうかをチェックする再帰的な一覧表示を避ける | 
| バックポート | [HIVE-16587](https://issues.apache.org/jira/browse/HIVE-16587): ヌル値がネストされた複合型を挿入したときの NPE | 
| バックポート | [HIVE-22647](https://issues.apache.org/jira/browse/HIVE-22647): デフォルトでセッションプールを有効にする | 
| バックポート | [HIVE-13288](https://issues.apache.org/jira/browse/HIVE-13288): DagUtils.localizeResource に紛らわしい例外メッセージが表示される | 
| バックポート | [HIVE-23870](https://issues.apache.org/jira/browse/HIVE-23870): WritableHiveCharObjectInspector.getPrimitiveJavaObject / HiveCharWritable での複数のテキスト変換を最適化 | 
| バックポート | [HIVE-21498](https://issues.apache.org/jira/browse/HIVE-21498): Thrift を 0.13.0 にアップグレード | 
| バックポート | [HIVE-24378](https://issues.apache.org/jira/browse/HIVE-24378): 先頭と末尾のスペースが小数点変換の前に削除されない | 
| バックポート | [HIVE-21341](https://issues.apache.org/jira/browse/HIVE-21341): 妥当なデフォルト: hive.server2.idle.operation.timeout と hive.server2.idle.session.timeout が高すぎる | 
| バックポート | [HIVE-22465](https://issues.apache.org/jira/browse/HIVE-22465): TezConfigurationFactory に SSL 設定を追加 | 
| バックポート | [HIVE-24710](https://issues.apache.org/jira/browse/HIVE-24710): count(\$1) の PTF イテレーションを最適化して CPU と IO のコストを削減 | 
| バックポート | [HIVE-15406](https://issues.apache.org/jira/browse/HIVE-15406): 新しい「trunc」関数のベクトル化を検討する | 
| バックポート | [HIVE-21541](https://issues.apache.org/jira/browse/HIVE-21541): HIVE-15406 から asf ヘッダーが見つからなかった問題を修正 | 
| バックポート | [HIVE-24808](https://issues.apache.org/jira/browse/HIVE-24808): 解析された日付をキャッシュする | 
| バックポート | [HIVE-24746](https://issues.apache.org/jira/browse/HIVE-24746): PTF: TimestampValueBoundaryScanner はレンジ計算中に最適化できる | 
| バックポート | [HIVE-25059](https://issues.apache.org/jira/browse/HIVE-25059): レプリケーション中に変更イベントが名前変更に変換される | 
| バックポート | [HIVE-25142](https://issues.apache.org/jira/browse/HIVE-25142): マップ結合高速ハッシュテーブルでの再ハッシュにより、大きなキーが破損する | 
| バックポート | [HIVE-23756](https://issues.apache.org/jira/browse/HIVE-23756): package.jdo ファイルにさらに制約を追加しました | 
| バックポート | [HIVE-25150](https://issues.apache.org/jira/browse/HIVE-25150): HIVE-24378 の一部として修正されたスペース文字と同様に、10 進数変換の前のタブ文字が削除されない | 
| バックポート | [HIVE-25093](https://issues.apache.org/jira/browse/HIVE-25093): date\$1format() UDF は UTC タイムゾーンのみで出力を返している | 
| バックポート | [HIVE-25268](https://issues.apache.org/jira/browse/HIVE-25268): ローカルタイムゾーンが UTC 以外の場合、date\$1format udf は 1900 年より前の日付に対して間違った結果を返す | 
| バックポート | [HIVE-25338](https://issues.apache.org/jira/browse/HIVE-25338): 入力が空の場合の変換 UDF 内の AIOBE | 
| バックポート | [HIVE-22400](https://issues.apache.org/jira/browse/HIVE-22400): 時刻を含む UDF 分が NULL を返す | 
| バックポート | [HIVE-25058](https://issues.apache.org/jira/browse/HIVE-25058): PTF: TimestampValueBoundaryScanner はレンジ計算 pt2 - isDistanceGreater 中に最適化できる | 
| バックポート | [HIVE-25449](https://issues.apache.org/jira/browse/HIVE-25449): datediff() を UTC 以外の一部のタイムゾーンで tez タスクで実行すると、間違った出力が返される | 
| バックポート | [HIVE-23688](https://issues.apache.org/jira/browse/HIVE-23688): ベクトル化: IndexArrayOutOfBoundsException (NULL 値を含むマップタイプ列の場合) | 
| バックポート | [HIVE-22247](https://issues.apache.org/jira/browse/HIVE-22247): HiveHFileOutputFormat で、パーティションのタスク出力が空の場合、FileNotFoundException が発生する | 
| バックポート | [HIVE-25570](https://issues.apache.org/jira/browse/HIVE-25570): Hive は、コマンド挿入の上書き場所の承認用に完全な URL パスを送信する必要がある | 
| バックポート | [HIVE-22903](https://issues.apache.org/jira/browse/HIVE-22903): パーティション節に定数式がある場合、ベクトル化された row\$1number() は 1 バッチ後に行番号をリセットする | 
| バックポート | [HIVE-25549](https://issues.apache.org/jira/browse/HIVE-25549): PARTITION BY 句または ORDER BY 句に式があるウィンドウ関数の結果が正しくない | 
| バックポート | [HIVE-25579](https://issues.apache.org/jira/browse/HIVE-25579): LOAD 上書きは上書きではなく追記される | 
| バックポート | [HIVE-25659](https://issues.apache.org/jira/browse/HIVE-25659): IN/(NOT IN) を含むメタストアダイレクト SQL クエリは、SQL DB で許可されている最大パラメータに基づいて分割する必要がある | 
| バックポート | [HIVE-20502](https://issues.apache.org/jira/browse/HIVE-20502): カラム統計が使用されている場合に skewjoin\$1mapjoin10.q を実行しているときの NPE を修正。 | 
| バックポート | [HIVE-25765](https://issues.apache.org/jira/browse/HIVE-25765): ファイルサイズが大きいと、skip.header.line.count プロパティが FetchOperator の各ブロックの行をスキップする | 
| バグ | hive.stats.column.autogather と hive.groupby.skewindata が両方とも有効になっている特定のシナリオでの挿入時の NPE を修正  | 
| バグ | mapred.tasktracker.expiry.interval 値が設定されていない場合の NPE を修正 | 

# Amazon EMR 6.9.0 - Hive リリースノート
<a name="Hive-release-history-690"></a>

## Amazon EMR 6.9.0 - Hive の変更点
<a name="Hive-release-history-changes-690"></a>


****  

| 型 | 説明 | 
| --- | --- | 
| アップグレード | Jetty を [9.4.48.v20220622](https://github.com/eclipse/jetty.project/releases/tag/jetty-9.4.48.v20220622) にアップグレード | 
| アップグレード | Hadoop 3.3.3 をサポート | 
| 機能 | Amazon EMR Hive を Lake Formation と統合して、GCSC API を使用するインタラクティブワークロードを実現します。 | 
| 機能 | Amazon EMR Hive と Iceberg の統合。 | 
| 改良点 | Amazon EMR セキュリティ設定を使用して[転送中の暗号化](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html#emr-encryption-intransit)が有効になっている場合は、HiveServer2 で SSL を有効にします。 | 
| 改良点 | Hive EMRFS Amazon S3 最適化コミッターをデフォルトで有効にします。詳細については、「[Hive EMRFS S3 向けに最適化されたコミッターを有効にする](hive-optimized-committer.md)」を参照してください。 | 
| 改良点 | [SPARK-34210](https://issues.apache.org/jira/browse/SPARK-34210) を修正するため、InputFormat のマップされたバージョンのみを継承する HiveHBaseTableInputFormatV2 を追加しました。これを使うには hive.hbase.inputformat.v2 を true に設定してください。 | 
| 改良点 | TezAM を終了してすぐに新しいバージョンを起動するのではなく、[hive.cli.tez.session.async]() を使用してバックグラウンドで起動するのを待ちます。このタイムアウトを秒単位で設定するには hive.emr.cli.tez.session.open.timeout を使用します。 | 
| 改良点 | [hive.conf.restricted.list.append]() オプションを追加すると、カンマで区切られた設定を既存の制限付き設定リスト hive.conf.restricted.list に追加できます。 | 
| 改良点 | データベースのロケーションが定義されていないために Hive クエリが失敗したときのエラーメッセージがわかりやすくなりました。 | 
| バックポート | [HIVE-24484](https://issues.apache.org/jira/browse/HIVE-24484): Hadoop を 3.3.1 に、Tez を 0.10.2 にアップグレード  | 
| バックポート | [HIVE-22398](https://issues.apache.org/jira/browse/HIVE-22398): ShimLoader による YARN キュー管理を削除。 | 
| バックポート | [HIVE-23190](https://issues.apache.org/jira/browse/HIVE-23190): LLAP: ファイルシステムオブジェクトを TezSpillRecord に渡すように IndexCache を修正。 | 
| バックポート | [HIVE-22185](https://issues.apache.org/jira/browse/HIVE-22185): HADOOP-15832 が原因で、MiniYarn クラスターを使用するテストで問題が発生する。 | 
| バックポート | [HIVE-21670](https://issues.apache.org/jira/browse/HIVE-21670): mockito-all を mockito-core 依存関係に置き換え。 | 
| バックポート | [HIVE-24542](https://issues.apache.org/jira/browse/HIVE-24542): アップグレード用に Guava を準備。 | 
| バックポート | [HIVE-23751](https://issues.apache.org/jira/browse/HIVE-23751): QTest: HADOOP-16582 の後に ProxyFileSystem で \$1mkdirs() メソッドをオーバーライドして位置合わせする。 | 
| バックポート | [HIVE-21603](https://issues.apache.org/jira/browse/HIVE-21603): Java 11 の準備: powermock のバージョンを更新。 | 
| バックポート | [HIVE-24083](https://issues.apache.org/jira/browse/HIVE-24083): Hadoop 3.3.0 の hcatalog エラー: 認証タイプが必要。 | 
| バックポート | [HIVE-24282](https://issues.apache.org/jira/browse/HIVE-24282): 明示的に指定されない限り、列の表示で出力列をソートしないでください。 | 
| バックポート | [HIVE-20656](https://issues.apache.org/jira/browse/HIVE-20656): 妥当なデフォルト: マップ集約メモリの設定が重度すぎる。 | 
| バックポート | [HIVE-25443](https://issues.apache.org/jira/browse/HIVE-25443): Arrow SerDe は、1024 個を超える値がある場合に複雑なデータ型をシリアル化/逆シリアル化できない | 
| バックポート | [HIVE-19792](https://issues.apache.org/jira/browse/HIVE-19792): orc を 1.5.2 にアップグレードして、decimal\$164 スキーマ進化テストを有効化する。 | 
| バックポート | [HIVE-20437](https://issues.apache.org/jira/browse/HIVE-20437): 浮動小数点数、倍精度および 10 進数からのスキーマの進化を処理する。 | 
| バックポート | [HIVE-21987](https://issues.apache.org/jira/browse/HIVE-21987): Hive は、10 進数のアノテーションが付けられた Parquet int32 を読み取ることができない。 | 
| バックポート | [HIVE-20038](https://issues.apache.org/jira/browse/HIVE-20038): バケット化されていないテーブルやパーティション化されたテーブルの更新クエリで NPE がスローされる。 | 

## Amazon EMR 6.9.0 - Hive の既知の問題
<a name="emr-Hive-690-issues"></a>
+ Amazon EMR 6.6.0 から 6.9.x では、動的パーティションと ORDER BY 句または SORT BY 句を使用した INSERT クエリには常に 2 つのリデューサーがあります。この問題は、OSS が変更された [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) が原因です。これにより、動的ソートパーティションの最適化がコストベースの決定下に置かれます。ワークロードで動的パーティションのソートが不要な場合は、`hive.optimize.sort.dynamic.partition.threshold` プロパティを `-1` に設定して新機能を無効にし、リデューサーの数を正しく計算することをお勧めします。この問題は、[HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) の一部として OSS Hive で修正され、Amazon EMR 6.10.0 で修正されています。

# Amazon EMR 6.8.0 - Hive リリースノート
<a name="Hive-release-history-680"></a>

## Amazon EMR 6.8.0 - Hive の変更点
<a name="Hive-release-history-changes-680"></a>


| 型 | 説明 | 
| --- | --- | 
| 改良点 | msck コマンドのファイルシステム呼び出しを減らします。パフォーマンスの向上 (10,000 以上のパーティションで最大 15～20 倍) | 
| バックポート | [HIVE-20678](https://issues.apache.org/jira/browse/HIVE-20678): HiveHBaseTableOutputFormat は互換性を確保するために HiveOutputFormat を実装する必要がある | 
| バックポート | [HIVE-21040](https://issues.apache.org/jira/browse/HIVE-21040): msck はディレクトリツリーの最後のレベルで不要なファイルを一覧表示する | 
| バックポート | [HIVE-21460](https://issues.apache.org/jira/browse/HIVE-21460): データをロードした後に select \$1 クエリを実行すると、誤った結果になる | 
| バックポート | [HIVE-21660](https://issues.apache.org/jira/browse/HIVE-21660): union all の後で view with explode を使用すると間違った結果になる | 
| バックポート | [HIVE-22505](https://issues.apache.org/jira/browse/HIVE-22505): 誤ったベクトル化された演算子の選択が原因で発生する ClassCastException | 
| バックポート | [HIVE-22513](https://issues.apache.org/jira/browse/HIVE-22513): フィルター操作でのキャスト列の定数伝播により、誤った結果が生じる可能性がある | 
| バックポート | [HIVE-23435](https://issues.apache.org/jira/browse/HIVE-23435): 完全外部結合の結果で行が欠落している | 
| バックポート | [HIVE-24209](https://issues.apache.org/jira/browse/HIVE-24209): ベクトル化が有効な場合の NOT BETWEEN 操作の検索引数の変換が正しくない | 
| バックポート | [HIVE-24934](https://issues.apache.org/jira/browse/HIVE-24934): GenericUDFSQCountCheck では VectorizedExpressions のアノテーションは不要 | 
| バックポート | [HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278): HiveProjectJoinTransposeRule がウィンドウ式で無効な変換を行うことがある | 
| バックポート | [HIVE-25505](https://issues.apache.org/jira/browse/HIVE-25505): 最初の行が空白の場合、ヘッダーの skip.header.line.count で不正な結果になる | 
| バックポート | [HIVE-26080](https://issues.apache.org/jira/browse/HIVE-26080): accumulo-core を 1.10.1 にアップグレード | 
| バックポート | [HIVE-26235](https://issues.apache.org/jira/browse/HIVE-26235): バイナリ列の OR 条件が空の結果を返す | 
| バグ | 起動時の stderr の複数の SLF4J バインディング警告ログを修正 | 
| バグ | パーティションとテーブルが異なるファイルシステムにある場合に、SHOW TABLE EXTENDED クエリが Wrong FS エラーで失敗する問題を修正。 | 

## Amazon EMR 6.8.0 - Hive の既知の問題
<a name="emr-Hive-680-issues"></a>
+ Amazon EMR 6.6.0 から 6.9.x では、動的パーティションと ORDER BY 句または SORT BY 句を使用した INSERT クエリには常に 2 つのリデューサーがあります。この問題は、OSS が変更された [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) が原因です。これにより、動的ソートパーティションの最適化がコストベースの決定下に置かれます。ワークロードで動的パーティションのソートが不要な場合は、`hive.optimize.sort.dynamic.partition.threshold` プロパティを `-1` に設定して新機能を無効にし、リデューサーの数を正しく計算することをお勧めします。この問題は、[HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) の一部として OSS Hive で修正され、Amazon EMR 6.10.0 で修正されています。

# Amazon EMR 6.7.0 - Hive リリースノート
<a name="Hive-release-history-670"></a>

## Amazon EMR 6.7.0 - Hive の変更点
<a name="Hive-release-history-changes-670"></a>


| 型 | 説明 | 
| --- | --- | 
| 機能 | [Amazon EMR の Hive と LakeFormation の統合](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/)。 | 
| 機能 | Hive EMRFS Amazon S3 最適化コミッター用の監査ログが追加されました。Hive 設定: hive.blobstore.output-committer.logging、デフォルト: false | 
| 機能 | 挿入時に削除されたターゲットディレクトリは、空の選択結果でパーティション化されていないテーブル/静的パーティションに上書きされ、Hive 2.x と同様に動作するようになりました。Hive 設定: hive.emr.iow.clean.target.dir、デフォルト: false | 
| バグ | Hive EMRFS Amazon S3 最適化コミッターをパーティションバケットソートで使用すると断続的に発生するクエリエラーを修正しました。 | 
| アップグレード | Hive をバージョン 3.1.3 にアップグレードしました 詳細については、「[Apache Hive 3.1.3 リリースノート](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12346277&styleName=Html&projectId=12310843)」を参照してください。 | 
| アップグレード | Parquet を [1.12.2](https://github.com/apache/parquet-mr/blob/apache-parquet-1.12.2/CHANGES.md) にアップグレードしました。 | 
| バックポート | [HIVE-20065](https://issues.apache.org/jira/browse/HIVE-20065): メタストアを jackson 1.x に依存することはできない | 
| バックポート | [HIVE-20071](https://issues.apache.org/jira/browse/HIVE-20071): jackson 2.x に移行して使用を防止する | 
| バックポート | [HIVE-20607](https://issues.apache.org/jira/browse/HIVE-20607): TxnHandler は直接 SQL クエリを実行するために PreparedStatement を使用する必要がある | 
| バックポート | [HIVE-20740](https://issues.apache.org/jira/browse/HIVE-20740): ObjectStore.setConf メソッドのグローバルロックを削除 | 
| バックポート | [HIVE-20961](https://issues.apache.org/jira/browse/HIVE-20961): NVL の実装を廃止 | 
| バックポート | [HIVE-22059](https://issues.apache.org/jira/browse/HIVE-22059): hive-exec jar には (fasterxml) jackson ライブラリが含まれていない | 
| バックポート | [HIVE-22351](https://issues.apache.org/jira/browse/HIVE-22351): TestObjectStore のスレッド化された ObjectStore の使用が正しくない問題を修正 | 
| バックポート | [HIVE-23534](https://issues.apache.org/jira/browse/HIVE-23534): メッセージなしで MetaException をキャッチしたときの RetryingMetaStoreClient\$1invoke の NPE | 
| バックポート | [HIVE-24048](https://issues.apache.org/jira/browse/HIVE-24048): Jackson のコンポーネントをバージョン 2.10 の最新版 (Hive) に一致させる | 
| バックポート | [HIVE-24768](https://issues.apache.org/jira/browse/HIVE-24768): バージョン交換にはどこでも jackson-bom を使用する | 
| バックポート | [HIVE-24816](https://issues.apache.org/jira/browse/HIVE-24816): CVE-2020-25649 により、jackson を 2.10.5.1 または 2.11.0\$1 にアップグレードする | 
| バックポート | [HIVE-25971](https://issues.apache.org/jira/browse/HIVE-25971): キャッシュされたスレッドプールが閉じられていないため、Tez タスクのシャットダウンが遅れる | 
| バックポート | [HIVE-26036](https://issues.apache.org/jira/browse/HIVE-26036): ObjectStore の getMTable() が原因の NPE | 

## Amazon EMR 6.7.0 - Hive の既知の問題
<a name="emr-Hive-670-issues"></a>
+ join と同じ列にウィンドウ関数があるクエリは、[HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278) で報告されているように無効な変換を引き起こし、誤った結果やクエリ失敗の原因となることがあります。回避策は、このようなクエリのクエリレベルで CBO を無効にすることです。この修正は、6.7.0 以降の Amazon EMR リリースで利用できるようになります。詳細については、 AWS サポートにお問い合わせください。
+ Amazon EMR 6.6.0 から 6.9.x では、動的パーティションと ORDER BY 句または SORT BY 句を使用した INSERT クエリには常に 2 つのリデューサーがあります。この問題は、OSS が変更された [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) が原因です。これにより、動的ソートパーティションの最適化がコストベースの決定下に置かれます。ワークロードで動的パーティションのソートが不要な場合は、`hive.optimize.sort.dynamic.partition.threshold` プロパティを `-1` に設定して新機能を無効にし、リデューサーの数を正しく計算することをお勧めします。この問題は、[HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) の一部として OSS Hive で修正され、Amazon EMR 6.10.0 で修正されています。

# Amazon EMR 6.6.0 - Hive リリースノート
<a name="Hive-release-history-660"></a>

## Amazon EMR 6.6.0 - Hive の変更点
<a name="Hive-release-history-changes-660"></a>


| 型 | 説明 | 
| --- | --- | 
| アップグレード |  Parquet を [1.12.1](https://issues.apache.org/jira/browse/HIVE-24408) にアップグレード。  | 
| アップグレード |  jetty jars バージョンを 9.4.43.v20210629 にアップグレード  | 
| バグ | Hive クラスターで LLAP が有効になっていると、すべてのタスク/コアノードに Hive がインストールされる問題を修正しました。 | 
| バックポート | [HIVE-25942](https://issues.apache.org/jira/browse/HIVE-25942): CVE-2021-29425 により、commons-io を 2.8.0 にアップグレード | 
| バックポート | [HIVE-25726](https://issues.apache.org/jira/browse/HIVE-25726): CVE-2020-13936 により、velocity を 2.3 にアップグレード | 
| バックポート | [HIVE-25680](https://issues.apache.org/jira/browse/HIVE-25680): \$1get\$1table\$1meta HiveMetastore サーバー API に HiveMetastore 認可モデルのいずれかを使用できるよう認可する。 | 
| バックポート | [HIVE-25554](https://issues.apache.org/jira/browse/HIVE-25554): arrow バージョンを 0.15 にアップグレード | 
| バックポート | [HIVE-25242](https://issues.apache.org/jira/browse/HIVE-25242): vectorized.adaptor = を選択すると、クエリの実行が非常に遅くなる | 
| バックポート | [HIVE-25085](https://issues.apache.org/jira/browse/HIVE-25085): MetaStore クライアントはセッション間で共有されなくなりました。 | 
| バックポート | [HIVE-24827](https://issues.apache.org/jira/browse/HIVE-24827): Hive 集約クエリは、テキスト以外のファイルに対して誤った結果を返します。 | 
| バックポート | [HIVE-24683](https://issues.apache.org/jira/browse/HIVE-24683): Hadoop23Shims getFileId は、存在しないパスに対して NPE が発生しやすい | 
| バックポート | [HIVE-24656](https://issues.apache.org/jira/browse/HIVE-24656): マップ型および配列型で is null を使用したクエリの CBO が失敗する | 
| バックポート | [HIVE-24556](https://issues.apache.org/jira/browse/HIVE-24556): 孫がないケースの DefaultGraphWalker を最適化 | 
| バックポート | [HIVE-24408](https://issues.apache.org/jira/browse/HIVE-24408): Parquet を 1.11.1 にアップグレード | 
| バックポート | [HIVE-24391](https://issues.apache.org/jira/browse/HIVE-24391): branch-3.1 での FIX TestOrcFile の障害を修正 | 
| バックポート | [HIVE-24362](https://issues.apache.org/jira/browse/HIVE-24362): ノード数が多いツリーでは AST ツリー処理が最適ではない | 
| バックポート | [HIVE-24316](https://issues.apache.org/jira/browse/HIVE-24316): branch-3.1 で ORC を 1.5.6 から 1.5.8 にアップグレード | 
| バックポート | [HIVE-24307](https://issues.apache.org/jira/browse/HIVE-24307): property-file と-e パラメータで Beeline が失敗する | 
| バックポート | [HIVE-24245](https://issues.apache.org/jira/browse/HIVE-24245): カウントと個別のオーバーパーティションを含むベクトル化された PTF が誤った結果を生成する。 | 
| バックポート | [HIVE-24224](https://issues.apache.org/jira/browse/HIVE-24224): 圧縮ファイルで Hive on Tez のヘッダー/フッターがスキップされる問題を修正 | 
| バックポート | [HIVE-24157](https://issues.apache.org/jira/browse/HIVE-24157): CAST タイムスタンプ ↔ 数値でストリクトモードが失敗する | 
| バックポート | [HIVE-24113](https://issues.apache.org/jira/browse/HIVE-24113): GenericUDFToUnixTimeStamp の NPE | 
| バックポート | [HIVE-23987](https://issues.apache.org/jira/browse/HIVE-23987): arrow をバージョン 0.11.0 にアップグレード | 
| バックポート | [HIVE-23972](https://issues.apache.org/jira/browse/HIVE-23972): 外部クライアント ID を LLAP 外部クライアントに追加 | 
| バックポート | [HIVE-23806](https://issues.apache.org/jira/browse/HIVE-23806): スキーマが拡張された場合に備えて、すべてのパーティションの列統計状態の消去を回避する。これにより、alter table add columns ステートメントの実行時間が改善される。 | 
| バックポート | [HIVE-23779](https://issues.apache.org/jira/browse/HIVE-23779): BasicStatsTask Info が beeline コンソールに出力されない | 
| バックポート | [HIVE-23306](https://issues.apache.org/jira/browse/HIVE-23306): System.getProperty によって設定されている構成がある場合、RESET コマンドが機能しない | 
| バックポート | [HIVE-23164](https://issues.apache.org/jira/browse/HIVE-23164): デーモンスレッド以外のスレッドが原因でサーバーが正しく終了しない | 
| バックポート | [HIVE-22967](https://issues.apache.org/jira/browse/HIVE-22967): Hive on Tez の hive.reloadable.aux.jars.path のサポート | 
| バックポート | [HIVE-22934](https://issues.apache.org/jira/browse/HIVE-22934): エラーストリームへの Hive サーバーのインタラクティブログカウンター | 
| バックポート | [HIVE-22901](https://issues.apache.org/jira/browse/HIVE-22901): 変数置換により循環参照で OOM が発生する可能性がある | 
| バックポート | [HIVE-22769](https://issues.apache.org/jira/browse/HIVE-22769): 圧縮テキストファイルの分割生成中にクエリ結果が不正確になり、クエリが失敗する | 
| バックポート | [HIVE-22716](https://issues.apache.org/jira/browse/HIVE-22716): ParquetFooterInputFromCache で ByteBuffer への読み取りが壊れている | 
| バックポート | [HIVE-22648](https://issues.apache.org/jira/browse/HIVE-22648): Parquet を 1.11.0 にアップグレード | 
| バックポート | [HIVE-22640](https://issues.apache.org/jira/browse/HIVE-22640): Decimal64ColumnVector: パーティション列タイプが 10 進数の場合の ClassCastException | 
| バックポート | [HIVE-22621](https://issues.apache.org/jira/browse/HIVE-22621): 不安定なテストケース: TestLlapSignerImpl.testSigning | 
| バックポート | [HIVE-22533](https://issues.apache.org/jira/browse/HIVE-22533): LLAP デーモンのウェブ UI の潜在的な脆弱性を修正 | 
| バックポート | [HIVE-22532](https://issues.apache.org/jira/browse/HIVE-22532): PTFPPD が Rank/DenseRank 関数によってリミットを誤ってプッシュすることがある | 
| バックポート | [HIVE-22514](https://issues.apache.org/jira/browse/HIVE-22514): HiveProtoLoggingHook が大量のメモリを消費する可能性がある | 
| バックポート | [HIVE-22476](https://issues.apache.org/jira/browse/HIVE-22476): hive.fetch.task.convertion が none に設定されていると、Hive の datediff 関数が一貫性のない結果を返した | 
| バックポート | [HIVE-22429](https://issues.apache.org/jira/browse/HIVE-22429): hive 3 で bucketing\$1version 1 を使用して移行されたクラスター化されたテーブルは、挿入に bucketing\$1version 2 を使用する | 
| バックポート | [HIVE-22412](https://issues.apache.org/jira/browse/HIVE-22412): explain のときに StatsUtils が NPE をスローする | 
| バックポート | [HIVE-22360](https://issues.apache.org/jira/browse/HIVE-22360): ロードされたファイルの列がテーブルスキーマの列数よりも多い場合、MultiDelimitSerDe は最後の列で間違った結果を返す | 
| バックポート | [HIVE-22332](https://issues.apache.org/jira/browse/HIVE-22332): ORC-540 以降、Hive は有効なスキーマ展開設定を確認する必要がある | 
| バックポート | [HIVE-22331](https://issues.apache.org/jira/browse/HIVE-22331): 引数なしの unix\$1timestamp は、タイムスタンプを秒単位ではなくミリ秒単位で返す | 
| バックポート | [HIVE-22275](https://issues.apache.org/jira/browse/HIVE-22275): OperationManager.queryIdOperation が複数のクエリ ID を適切にクリーンアップしない | 
| バックポート | [HIVE-22273](https://issues.apache.org/jira/browse/HIVE-22273): 一時ディレクトリを削除するとアクセスチェックが失敗する | 
| バックポート | [HIVE-22270](https://issues.apache.org/jira/browse/HIVE-22270): commons-io を 2.6 にアップグレード | 
| バックポート | [HIVE-22241](https://issues.apache.org/jira/browse/HIVE-22241): UDF を実装して、内部表現とグレゴリオ暦とユリウス暦のハイブリッド暦を使用して日付/タイムスタンプを解釈する | 
| バックポート | [HIVE-22241](https://issues.apache.org/jira/browse/HIVE-22241): UDF を実装して、内部表現とグレゴリオ暦とユリウス暦のハイブリッドを使用して日付/タイムスタンプを解釈する | 
| バックポート | [HIVE-22232](https://issues.apache.org/jira/browse/HIVE-22232): hive.order.columnalignment が false に設定されている場合の NPE | 
| バックポート | [HIVE-22231](https://issues.apache.org/jira/browse/HIVE-22231): knox 経由の大きなサイズの Hive クエリが、パイプが壊れて書き込みの失敗で失敗する | 
| バックポート | [HIVE-22221](https://issues.apache.org/jira/browse/HIVE-22221): LLAP 外部クライアント - LlapBaseInputFormat\$1getSplits を減らす必要がある | 
| バックポート | [HIVE-22208](https://issues.apache.org/jira/browse/HIVE-22208): マスク列のあるテーブルの結合を含むクエリを書き換えると、予約キーワードの付いた列名がエスケープ解除される | 
| バックポート | [HIVE-22197](https://issues.apache.org/jira/browse/HIVE-22197): Common Merge join でクラスキャスト例外が発生する。 | 
| バックポート | [HIVE-22170](https://issues.apache.org/jira/browse/HIVE-22170): from\$1unixtime と unix\$1timestamp はユーザーセッションのタイムゾーンを使用する必要がある | 
| バックポート | [HIVE-22169](https://issues.apache.org/jira/browse/HIVE-22169): Tez: SplitGenerator が Tez には存在しないであろうプランファイルを探そうとする | 
| バックポート | [HIVE-22168](https://issues.apache.org/jira/browse/HIVE-22168): LLAP キャッシュのホットパスから非常にコストのかかるロギングを削除 | 
| バックポート | [HIVE-22161](https://issues.apache.org/jira/browse/HIVE-22161): UDF: FunctionRegistry が org.apache.hadoop.hive.ql.udf.UDFType クラスで同期する | 
| バックポート | [HIVE-22120](https://issues.apache.org/jira/browse/HIVE-22120): 特定の境界条件での左外側マップ結合での誤った結果/ArrayOutOfBound 例外を修正 | 
| バックポート | [HIVE-22115](https://issues.apache.org/jira/browse/HIVE-22115): プロパティが false に設定されている場合、クエリルーティングアペンダーが作成されないようにする | 
| バックポート | [HIVE-22113](https://issues.apache.org/jira/browse/HIVE-22113): AMReporter 関連の RuntimeException での LLAP シャットダウンを防ぐ | 
| バックポート | [HIVE-22106](https://issues.apache.org/jira/browse/HIVE-22106): パーティション評価用のクロスクエリ同期を削除 | 
| バックポート | [HIVE-22099](https://issues.apache.org/jira/browse/HIVE-22099): HIVE-20007 以降、いくつかの日付関連の UDF がユリウス暦を適切に処理できない | 
| バックポート | [HIVE-22037](https://issues.apache.org/jira/browse/HIVE-22037): OOM が原因でシャットダウンするときに HS2 がログを記録する必要がある | 
| バックポート | [HIVE-21976](https://issues.apache.org/jira/browse/HIVE-21976): Calcite HiveSortLimit では、オフセットはゼロではなくヌルでなければならない | 
| バックポート | [HIVE-21924](https://issues.apache.org/jira/browse/HIVE-21924): ヘッダー/フッターが存在していてもテキストファイルを分割する | 
| バックポート | [HIVE-21913](https://issues.apache.org/jira/browse/HIVE-21913): GenericUDTFGetSplits は LLAP と同じ方法でユーザー名を処理する必要がある | 
| バックポート | [HIVE-21905](https://issues.apache.org/jira/browse/HIVE-21905): FetchOperator クラスに関するジェネリックの改善 | 
| バックポート | [HIVE-21902](https://issues.apache.org/jira/browse/HIVE-21902): HiveServer2 UI: jetty レスポンスヘッダーには X フレームオプションが必要 | 
| バックポート | [HIVE-21888](https://issues.apache.org/jira/browse/HIVE-21888): hive.parquet.timestamp.skip.convertion のデフォルトを true に設定 | 
| バックポート | [HIVE-21868](https://issues.apache.org/jira/browse/HIVE-21868): CAST...FORMAT をベクトル化 | 
| バックポート | [HIVE-21864](https://issues.apache.org/jira/browse/HIVE-21864): LlapBaseInputFormat\$1closeAll | 
| バックポート | [HIVE-21863](https://issues.apache.org/jira/browse/HIVE-21863): WHEN 式の Vectorizer 型キャストを改善 | 
| バックポート | [HIVE-21862](https://issues.apache.org/jira/browse/HIVE-21862): ORC ppd がタイムスタンプ付きの間違った結果を生成する | 
| バックポート | [HIVE-21846](https://issues.apache.org/jira/browse/HIVE-21846): LlapDaemon のメトリクスを定期的に取得するスレッドを TezAM に作成する | 
| バックポート | [HIVE-21837](https://issues.apache.org/jira/browse/HIVE-21837): 選択した列の値が完全に NULL の場合、MapJoin は例外を投げる | 
| バックポート | [HIVE-21834](https://issues.apache.org/jira/browse/HIVE-21834): 不要な呼び出しを避けてフィルター条件を簡素化 | 
| バックポート | [HIVE-21832](https://issues.apache.org/jira/browse/HIVE-21832): キュー/サービング/レスポンスの平均時間を取得する新しいメトリクス | 
| バックポート | [HIVE-21827](https://issues.apache.org/jira/browse/HIVE-21827): SemanticAnalyzer での複数の呼び出しが getTableObjectByName メソッドを経由しない | 
| バックポート | [HIVE-21822](https://issues.apache.org/jira/browse/HIVE-21822): 新しい API メソッドを通じて LlapDaemon メトリクスを公開する | 
| バックポート | [HIVE-21818](https://issues.apache.org/jira/browse/HIVE-21818): CBO: TableRelOptHiveTable のコピー中にメタストアトラフィックが発生する | 
| バックポート | [HIVE-21815](https://issues.apache.org/jira/browse/HIVE-21815): ORC ファイル内の統計が 2 回解析される | 
| バックポート | [HIVE-21805](https://issues.apache.org/jira/browse/HIVE-21805): HiveServer2: 高速 ShutdownHookManager API を使用する | 
| バックポート | [HIVE-21799](https://issues.apache.org/jira/browse/HIVE-21799): 結合キーが集約列にある場合の DynamicPartitionPruningOptimization での NullPointerException | 
| バックポート | [HIVE-21794](https://issues.apache.org/jira/browse/HIVE-21794): sqlStdAuthSafeVarNameRegexes にマテリアライズドビューパラメータを追加 | 
| バックポート | [HIVE-21768](https://issues.apache.org/jira/browse/HIVE-21768): JDBC: 囲まれていない UNION クエリのデフォルトのユニオンプレフィックスを削除 | 
| バックポート | [HIVE-21746](https://issues.apache.org/jira/browse/HIVE-21746): CBO が無効になっている動的パーティションハッシュ結合中の ArrayIndexOutOfBoundsException | 
| バックポート | [HIVE-21717](https://issues.apache.org/jira/browse/HIVE-21717): 移動タスクでディレクトリの名前変更に失敗する。 | 
| バックポート | [HIVE-21685](https://issues.apache.org/jira/browse/HIVE-21685): 複数の IN 句を含むクエリの簡略化が間違っている | 
| バックポート | [HIVE-21681](https://issues.apache.org/jira/browse/HIVE-21681): 書式設定された説明で複数のプライマリキーについて、誤った情報が表示される | 
| バックポート | [HIVE-21651](https://issues.apache.org/jira/browse/HIVE-21651): protobuf serde を hive-exec に移動。 | 
| バックポート | [HIVE-21619](https://issues.apache.org/jira/browse/HIVE-21619): SQL explain 拡張でタイムスタンプ型を精度なしで出力する | 
| バックポート | [HIVE-21592](https://issues.apache.org/jira/browse/HIVE-21592): 式に CONCAT が含まれていると OptimizedSql が表示されない | 
| バックポート | [HIVE-21576](https://issues.apache.org/jira/browse/HIVE-21576): CAST...FORMAT と SQL:2016 日時フォーマットの限定リストを導入 | 
| バックポート | [HIVE-21573](https://issues.apache.org/jira/browse/HIVE-21573): 認証が delegationToken に設定されている場合、バイナリトランスポートはプリンシパルを無視する | 
| バックポート | [HIVE-21550](https://issues.apache.org/jira/browse/HIVE-21550): TestObjectStore のテストが不安定 - 要求された時間内にロックを取得できなかった | 
| バックポート | [HIVE-21544](https://issues.apache.org/jira/browse/HIVE-21544): 定数伝播により折りたたみ中に coalesce/case/when 式が破損する | 
| バックポート | [HIVE-21539](https://issues.apache.org/jira/browse/HIVE-21539): 同じ列の GroupBy \$1 where 句が原因でクエリの書き換えが正しく行われない | 
| バックポート | [HIVE-21538](https://issues.apache.org/jira/browse/HIVE-21538): Beeline: コンソールリーダー経由でパスワードソースが接続パラメータに渡されなかった | 
| バックポート | [HIVE-21509](https://issues.apache.org/jira/browse/HIVE-21509): LLAP が破損した列ベクトルをキャッシュし、間違ったクエリ結果を返すことがある | 
| バックポート | [HIVE-21499](https://issues.apache.org/jira/browse/HIVE-21499): 作成コマンドが AlreadyExistsException で失敗した場合、レジストリから関数を削除してはならない | 
| バックポート | [HIVE-21496](https://issues.apache.org/jira/browse/HIVE-21496): 順序付けられていないバッファの自動サイズ設定はオーバーフローする可能性がある | 
| バックポート | [HIVE-21468](https://issues.apache.org/jira/browse/HIVE-21468): JDBC ストレージハンドラーの識別子名の大文字と小文字の区別 | 
| バックポート | [HIVE-21467](https://issues.apache.org/jira/browse/HIVE-21467): 廃止予定の junit.framework.Assert インポートを削除 | 
| バックポート | [HIVE-21435](https://issues.apache.org/jira/browse/HIVE-21435): LlapBaseInputFormat は SubmitWorkRequestProto をビルド中に TASK\$1ATTEMPT\$1ID conf (存在する場合) からタスク番号を取得する必要がある | 
| バックポート | [HIVE-21389](https://issues.apache.org/jira/browse/HIVE-21389): HIVE-21247 以降、Hive のディストリビューションに javax.ws.rs-api.jar が見つからない | 
| バックポート | [HIVE-21385](https://issues.apache.org/jira/browse/HIVE-21385): 分割不可能な計算の JDBC ソースへのプッシュダウンを無効にできるようにする | 
| バックポート | [HIVE-21383](https://issues.apache.org/jira/browse/HIVE-21383): JDBC ストレージハンドラー: 指定されている場合、カタログとスキーマを使用してテーブルを取得する | 
| バックポート | [HIVE-21382](https://issues.apache.org/jira/browse/HIVE-21382): Group by キー削減の最適化 - query23 でキーが削減されない | 
| バックポート | [HIVE-21362](https://issues.apache.org/jira/browse/HIVE-21362): protobuf ファイルから読み込むための入力フォーマットと serde を追加。 | 
| バックポート | [HIVE-21340](https://issues.apache.org/jira/browse/HIVE-21340): CBO: SemiJoin にフィードされるキー以外の列をプルーニングする | 
| バックポート | [HIVE-21332](https://issues.apache.org/jira/browse/HIVE-21332): ロックされたバッファの代わりにロックされていないバッファを消去する | 
| バックポート | [HIVE-21329](https://issues.apache.org/jira/browse/HIVE-21329): オペレータパイプラインに依存するカスタム Tez ランタイムの順序付けされていない出力バッファサイズ | 
| バックポート | [HIVE-21295](https://issues.apache.org/jira/browse/HIVE-21295): StorageHandler は Hive の規則を使用して日付を文字列に変換する | 
| バックポート | [HIVE-21294](https://issues.apache.org/jira/browse/HIVE-21294): ベクトル化: 1-reducer Shuffle はオブジェクトハッシュ関数をスキップできる | 
| バックポート | [HIVE-21255](https://issues.apache.org/jira/browse/HIVE-21255): JdbcStorageHandler の QueryConditionBuilder を削除 | 
| バックポート | [HIVE-21253](https://issues.apache.org/jira/browse/HIVE-21253): JDBC StorageHandler で DB2 をサポート | 
| バックポート | [HIVE-21232](https://issues.apache.org/jira/browse/HIVE-21232): LLAP: キャッシュミスに対応したスプリットアフィニティプロバイダーの追加 | 
| バックポート | [HIVE-21214](https://issues.apache.org/jira/browse/HIVE-21214): MoveTask: ファイルの重複排除 compareTempOrDuplicateFiles にはファイルサイズの代わりに attemptId を使う | 
| バックポート | [HIVE-21184](https://issues.apache.org/jira/browse/HIVE-21184): 説明を追加し、コスト情報を含むフォーマット済み CBO プランを説明する | 
| バックポート | [HIVE-21182](https://issues.apache.org/jira/browse/HIVE-21182): 計画中に hive スクラッチディレクトリのセットアップをスキップする | 
| バックポート | [HIVE-21171](https://issues.apache.org/jira/browse/HIVE-21171): RPC がオンの場合、tez のスクラッチディレクトリの作成をスキップする | 
| バックポート | [HIVE-21126](https://issues.apache.org/jira/browse/HIVE-21126): LlapBaseInputFormat\$1getSplit でセッションレベルのクエリを許可する | 
| バックポート | [HIVE-21107](https://issues.apache.org/jira/browse/HIVE-21107): 動的にパーティション化されたハッシュ結合中に「Cannot find field」というエラーが発生する | 
| バックポート | [HIVE-21061](https://issues.apache.org/jira/browse/HIVE-21061): CTAS クエリが、ソースが空の場合 IllegalStateException で失敗する | 
| バックポート | [HIVE-21041](https://issues.apache.org/jira/browse/HIVE-21041): NPE、論理プランからスキーマを取得する際の ParseException | 
| バックポート | [HIVE-21013](https://issues.apache.org/jira/browse/HIVE-21013): JdbcStorageHandler が Oracle でパーティション列を見つけられない | 
| バックポート | [HIVE-21006](https://issues.apache.org/jira/browse/HIVE-21006): 再利用の機会があれば SharedWorkOptimizer を拡張して semijoins を削除する | 
| バックポート | [HIVE-20992](https://issues.apache.org/jira/browse/HIVE-20992): hive.metastore.dbaccess.ssl.properties の設定をより意味のある設定に分割する | 
| バックポート | [HIVE-20989](https://issues.apache.org/jira/browse/HIVE-20989): JDBC - GetOperationStatus \$1 ログがスリープによってクエリの進行を妨げることがある | 
| バックポート | [HIVE-20988](https://issues.apache.org/jira/browse/HIVE-20988): プライマリキーが複数の列にある group by クエリの結果が正しくない | 
| バックポート | [HIVE-20985](https://issues.apache.org/jira/browse/HIVE-20985): select 演算子の入力が一時的な列の場合、ベクトル化によってその一部が出力として再利用されることがある | 
| バックポート | [HIVE-20978](https://issues.apache.org/jira/browse/HIVE-20978): 「hive.jdbc.\$1」は sqlStdAuthSafeVarNameRegexes に追加される必要がある | 
| バックポート | [HIVE-20953](https://issues.apache.org/jira/browse/HIVE-20953): 作成時にメタストアに追加できない関数を関数レジストリから削除する。 | 
| バックポート | [HIVE-20952](https://issues.apache.org/jira/browse/HIVE-20952): VectorizationContext.java のクリーニング | 
| バックポート | [HIVE-20951](https://issues.apache.org/jira/browse/HIVE-20951): LLAP: Xms を常に 50% に設定する | 
| バックポート | [HIVE-20949](https://issues.apache.org/jira/browse/HIVE-20949): 物理プランニングにおける PKFK 基数の推定の改善 | 
| バックポート | [HIVE-20944](https://issues.apache.org/jira/browse/HIVE-20944): クエリのコンパイル中に統計を検証しない | 
| バックポート | [HIVE-20940](https://issues.apache.org/jira/browse/HIVE-20940): Calcite のタイプ解像度が Hive よりも厳しいブリッジケース。 | 
| バックポート | [HIVE-20937](https://issues.apache.org/jira/browse/HIVE-20937): Postgres の JDBC クエリが「LIMIT must not be negative」で失敗する | 
| バックポート | [HIVE-20926](https://issues.apache.org/jira/browse/HIVE-20926): ブルームフィルターのエントリが多い場合や統計がない場合、セミ結合削減ヒントが失敗する | 
| バックポート | [HIVE-20920](https://issues.apache.org/jira/browse/HIVE-20920): SQL 制約を使用して結合順序変更アルゴリズムを改善 | 
| バックポート | [HIVE-20918](https://issues.apache.org/jira/browse/HIVE-20918): Calcite から JDBC 接続への計算のプッシュダウンを有効/無効にするフラグ | 
| バックポート | [HIVE-20915](https://issues.apache.org/jira/browse/HIVE-20915): 動的ソートパーティションの最適化を HoS と MR で利用できるようにする | 
| バックポート | [HIVE-20910](https://issues.apache.org/jira/browse/HIVE-20910): 動的パーティションソートの最適化により、バケットテーブルへの挿入が失敗する | 
| バックポート | [HIVE-20899](https://issues.apache.org/jira/browse/HIVE-20899): LLAP YARN サービスの Keytab URI は HDFS のみをサポートするように制限されている | 
| バックポート | [HIVE-20898](https://issues.apache.org/jira/browse/HIVE-20898): 時間関連の関数では、引数を NULL 値を許容しない型にキャストできない場合がある | 
| バックポート | [HIVE-20881:](https://issues.apache.org/jira/browse/HIVE-20881) 定数伝播は投影を単純化しすぎる | 
| バックポート | [HIVE-20880](https://issues.apache.org/jira/browse/HIVE-20880): hive.stats.filter.in.min.ratio のデフォルト値を更新 | 
| バックポート | [HIVE-20873](https://issues.apache.org/jira/browse/HIVE-20873): ハッシュ衝突を減らすために、VectorHashKeyWrapperTwoLong に Murmur hash を使用する | 
| バックポート | [HIVE-20868](https://issues.apache.org/jira/browse/HIVE-20868): TezDummyOperator に MapRecordProcessor の getFinalOp の子オペレーションがあると、SMB Join が断続的に失敗する | 
| バックポート | [HIVE-20853](https://issues.apache.org/jira/browse/HIVE-20853): llap デーモン API の ShuffleHandler.registerDag を公開する | 
| バックポート | [HIVE-20850](https://issues.apache.org/jira/browse/HIVE-20850): 可能であれば条件付きでケースをプロジェクションからディメンションテーブルにプッシュする | 
| バックポート | [HIVE-20842](https://issues.apache.org/jira/browse/HIVE-20842): HIVE-20660 で導入されたロジックを group by の統計を推定するように修正 | 
| バックポート | [HIVE-20839](https://issues.apache.org/jira/browse/HIVE-20839): 動的にパーティション化されたハッシュ結合中に「Cannot find field」というエラーが発生する | 
| バックポート | [HIVE-20835](https://issues.apache.org/jira/browse/HIVE-20835): 制約と MV の書き換えが相互作用して、Calcite プランナーでループが発生することがある | 
| バックポート | [HIVE-20834](https://issues.apache.org/jira/browse/HIVE-20834): キャッシュされたクエリから SemanticAnalyzer への参照を保持する Hive QueryResultCache エントリ | 
| バックポート | [HIVE-20830](https://issues.apache.org/jira/browse/HIVE-20830): JdbcStorageHandler の範囲クエリアサーションが失敗する場合がある | 
| バックポート | [HIVE-20829](https://issues.apache.org/jira/browse/HIVE-20829): JdbcStorageHandler の範囲分割により NPE が発生する | 
| バックポート | [HIVE-20827](https://issues.apache.org/jira/browse/HIVE-20827): 空の配列の結果に一貫性がない | 
| バックポート | [HIVE-20826](https://issues.apache.org/jira/browse/HIVE-20826): HiveSemiJoin ルールを強化して、左側の join \$1 group by を Left Semi Join に変換する | 
| バックポート | [HIVE-20821](https://issues.apache.org/jira/browse/HIVE-20821): SUM0 を SUM \$1 COALESCE の組み合わせに書き換える | 
| バックポート | [HIVE-20815](https://issues.apache.org/jira/browse/HIVE-20815): JdbcRecordReader.next は例外を受け入れない | 
| バックポート | [HIVE-20813](https://issues.apache.org/jira/browse/HIVE-20813): udf to\$1epoch\$1milli はタイムゾーンなしのタイムスタンプもサポートする必要がある。 | 
| バックポート | [HIVE-20804](https://issues.apache.org/jira/browse/HIVE-20804): 制約付き group by 最適化のさらなる改善 | 
| バックポート | [HIVE-20792](https://issues.apache.org/jira/browse/HIVE-20792): ゾーン付きのタイムスタンプを挿入するとデータが切り捨てられる | 
| バックポート | [HIVE-20788](https://issues.apache.org/jira/browse/HIVE-20788): 拡張された SJ の削減では、フィルターを作成すると列が誤ってバックトラックされることがある | 
| バックポート | [HIVE-20778](https://issues.apache.org/jira/browse/HIVE-20778): プラン内のすべての結合が非相関ロジックで作成されている場合、結合の順序変更がトリガーされないことがある | 
| バックポート | [HIVE-20772](https://issues.apache.org/jira/browse/HIVE-20772): タスクごとの CPU カウンターを LLAP に記録する | 
| バックポート | [HIVE-20768](https://issues.apache.org/jira/browse/HIVE-20768): タンブリングウィンドウ UDF の追加 | 
| バックポート | [HIVE-20767](https://issues.apache.org/jira/browse/HIVE-20767): 結合演算子間の複数のプロジェクトが、制約を使用した結合の順序変更に影響することがある | 
| バックポート | [HIVE-20762](https://issues.apache.org/jira/browse/HIVE-20762): NOTIFICATION\$1LOG のクリーンアップ間隔が 60 秒でハードコードされており、短すぎる | 
| バックポート | [HIVE-20761](https://issues.apache.org/jira/browse/HIVE-20761): notification\$1sequence テーブルの更新対象として選択すると再試行間隔があり、再試行回数が少なすぎる | 
| バックポート | [HIVE-20751](https://issues.apache.org/jira/browse/HIVE-20751): arrow をバージョン 0.10.0 にアップグレード | 
| バックポート | [HIVE-20746](https://issues.apache.org/jira/browse/HIVE-20746): HiveProtoHookLogger が 1 日の終わりにファイルを閉じない。 | 
| バックポート | [HIVE-20744](https://issues.apache.org/jira/browse/HIVE-20744): SQL 制約を使用して結合順序変更アルゴリズムを改善 | 
| バックポート | [HIVE-20740](https://issues.apache.org/jira/browse/HIVE-20740): ObjectStore.setConf メソッドのグローバルロックを削除。このチェリーピックは、Hive 3.2 および 4.x 用の HIVE-20740 を 3.1.x にバックポートします。 | 
| バックポート | [HIVE-20734](https://issues.apache.org/jira/browse/HIVE-20734): Beeline: beeline-site.xml で hive CLI が beeline にリダイレクトする場合、プロンプトの代わりにシステムユーザー名/ダミーパスワードを使用する必要がある | 
| バックポート | [HIVE-20731](https://issues.apache.org/jira/browse/HIVE-20731): JdbcStorageHandler 内のキーストアファイルは承認される必要がある | 
| バックポート | [HIVE-20720](https://issues.apache.org/jira/browse/HIVE-20720): JDBC ハンドラーにパーティション列オプションを追加 | 
| バックポート | [HIVE-20719](https://issues.apache.org/jira/browse/HIVE-20719): hive.optimize.sort.dynamic.partition の最適化とベクトル化をオンにすると、UPDATE の後の SELECT ステートメントが失敗する | 
| バックポート | [HIVE-20718](https://issues.apache.org/jira/browse/HIVE-20718): 制約付きの perf CLI ドライバーを追加 | 
| バックポート | [HIVE-20716](https://issues.apache.org/jira/browse/HIVE-20716): hive.cbo.stats.correlated.multi.key.joins のデフォルト値を true に設定 | 
| バックポート | [HIVE-20712](https://issues.apache.org/jira/browse/HIVE-20712): HivePointLookupOptimizer はディープケースを抽出する必要がある | 
| バックポート | [HIVE-20710](https://issues.apache.org/jira/browse/HIVE-20710): 定数を折りたたみでは、型のない NULL 定数が作成できない場合がある | 
| バックポート | [HIVE-20706](https://issues.apache.org/jira/browse/HIVE-20706): external\$1jdbc\$1table2.q が断続的に失敗する | 
| バックポート | [HIVE-20704](https://issues.apache.org/jira/browse/HIVE-20704): HivePreFilteringRule を拡張して他の関数をサポートする | 
| バックポート | [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703): 動的ソートパーティションの最適化をコストベースの決定下に置く | 
| バックポート | [HIVE-20702](https://issues.apache.org/jira/browse/HIVE-20702): マップ結合選択時のデータ構造を考慮した推定によるオーバーヘッドを考慮する | 
| バックポート | [HIVE-20692](https://issues.apache.org/jira/browse/HIVE-20692): NOT x IS (NOT) [TRUE\$1FALSE] 式の折りたたみを有効にする | 
| バックポート | [HIVE-20691](https://issues.apache.org/jira/browse/HIVE-20691): org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[cttl] を修正 | 
| バックポート | [HIVE-20682](https://issues.apache.org/jira/browse/HIVE-20682): 共有 sessionHive がマスタースレッドによって閉じられると、非同期クエリの実行が失敗する可能性がある | 
| バックポート | [HIVE-20676](https://issues.apache.org/jira/browse/HIVE-20676): HiveServer2: PrivilegeSynchronizer がデーモンステータスに設定されていない | 
| バックポート | [HIVE-20660](https://issues.apache.org/jira/browse/HIVE-20660): 行の総数をソーステーブルに限定することで、Group by 統計の推定が改善される可能性がある | 
| バックポート | [HIVE-20652](https://issues.apache.org/jira/browse/HIVE-20652): JdbcStorageHandler が 2 つの異なるデータソースの結合を JDBC ドライバーにプッシュする | 
| バックポート | [HIVE-20651](https://issues.apache.org/jira/browse/HIVE-20651): JdbcStorageHandler のパスワードは暗号化する必要がある | 
| バックポート | [HIVE-20649](https://issues.apache.org/jira/browse/HIVE-20649): Orc 書き込み用の LLAP 対応メモリマネージャー | 
| バックポート | [HIVE-20648](https://issues.apache.org/jira/browse/HIVE-20648): LLAP: Vector group by 演算子はエグゼキュターごとにメモリを使用する必要がある | 
| バックポート | [HIVE-20646](https://issues.apache.org/jira/browse/HIVE-20646): パーティションフィルター条件に IS NOT NULL が設定されている場合、メタストアクエリにプッシュダウンされない | 
| バックポート | [HIVE-20644](https://issues.apache.org/jira/browse/HIVE-20644): Hive ランタイム例外による機密情報の公開を回避する | 
| バックポート | [HIVE-20636](https://issues.apache.org/jira/browse/HIVE-20636): outer join 後のヌル値数の推定を改善 | 
| バックポート | [HIVE-20632](https://issues.apache.org/jira/browse/HIVE-20632): クエリされたテーブルにマテリアライズドビューが作成されると、get\$1splits UDF によるクエリが失敗する | 
| バックポート | [HIVE-20627](https://issues.apache.org/jira/browse/HIVE-20627): 同時実行の非同期クエリが LockException で断続的に失敗し、メモリリークが発生する | 
| バックポート | [HIVE-20623](https://issues.apache.org/jira/browse/HIVE-20623): 共有作業: LLAP のマップ結合キャッシュエントリの共有を拡張 | 
| バックポート | [HIVE-20619](https://issues.apache.org/jira/browse/HIVE-20619): HiveServer2 に MultiDelimitSerDe をデフォルトで含める | 
| バックポート | [HIVE-20618](https://issues.apache.org/jira/browse/HIVE-20618): 結合選択中に、バケット化されていないテーブルに BucketMapJoin が選択されることがある | 
| バックポート | [HIVE-20617](https://issues.apache.org/jira/browse/HIVE-20617): IN 式の定数の型が正しい型になるように修正 | 
| バックポート | [HIVE-20612](https://issues.apache.org/jira/browse/HIVE-20612): CBO 用の新しいジョインマルチキー相関フラグを作成 | 
| バックポート | [HIVE-20603](https://issues.apache.org/jira/browse/HIVE-20603): テーブルロケーションファイルシステムを変更した後にパーティションに挿入すると「Wrong FS」エラーが発生する | 
| バックポート | [HIVE-20601](https://issues.apache.org/jira/browse/HIVE-20601): DbNotificationListener の ALTER\$1PARTITION イベントの EnvironmentContext が NULL | 
| バックポート | [HIVE-20583](https://issues.apache.org/jira/browse/HIVE-20583): HiveConnection の kerberos 認証には正規のホスト名のみを使用する | 
| バックポート | [HIVE-20582](https://issues.apache.org/jira/browse/HIVE-20582): hive プロトロギングの hflush を設定可能にする | 
| バックポート | [HIVE-20563](https://issues.apache.org/jira/browse/HIVE-20563): ベクトル化: THEN/ELSE 型と結果の型が異なる場合に CASE WHEN 式が失敗する | 
| バックポート | [HIVE-20558](https://issues.apache.org/jira/browse/HIVE-20558): hive.hashtable.key.count.adjustment のデフォルトを 0.99 に変更 | 
| バックポート | [HIVE-20552](https://issues.apache.org/jira/browse/HIVE-20552): LogicalPlan からスキーマをより速く取得 | 
| バックポート | [HIVE-20550](https://issues.apache.org/jira/browse/HIVE-20550): beeline を使用して Hive クエリを送信するように WebHCat を切り替える | 
| バックポート | [HIVE-20537](https://issues.apache.org/jira/browse/HIVE-20537): CBO と Hive で異なる非相関列を使用した複数列結合推定 | 
| バックポート | [HIVE-20524](https://issues.apache.org/jira/browse/HIVE-20524): Hive バージョン 2 からバージョン 3 への移行時に、ALTER TABLE VARCHAR から DECIMAL へのスキーマ進化チェックが壊れる | 
| バックポート | [HIVE-20522](https://issues.apache.org/jira/browse/HIVE-20522): HiveFilterSetOpTransposeRule は、フィールドの null 値許容性が原因でアサーションエラーを投げることがある | 
| バックポート | [HIVE-20521](https://issues.apache.org/jira/browse/HIVE-20521): HS2 doAs=true は hadoop.tmp.dir、MR と S3A ファイルシステムで権限の問題がある | 
| バックポート | [HIVE-20515](https://issues.apache.org/jira/browse/HIVE-20515): 結果キャッシュとクエリ一時ディレクトリ、結果キャッシュディレクトリを異なるファイルシステムで使用するとクエリ結果が空になる | 
| バックポート | [HIVE-20508](https://issues.apache.org/jira/browse/HIVE-20508): Hive は「user@realm」タイプのユーザー名をサポートしない | 
| バックポート | [HIVE-20507](https://issues.apache.org/jira/browse/HIVE-20507): Beeline: beeline-site.xml からすべての URI を取得するユーティリティコマンドを追加 | 
| バックポート | [HIVE-20505](https://issues.apache.org/jira/browse/HIVE-20505): org.openjdk.jmh:jmh-core を 1.21 にアップグレード | 
| バックポート | [HIVE-20503](https://issues.apache.org/jira/browse/HIVE-20503): マップ結合選択時にデータ構造を考慮した推定を使用する | 
| バックポート | [HIVE-20498](https://issues.apache.org/jira/browse/HIVE-20498): 列統計自動収集の日付型をサポート | 
| バックポート | [HIVE-20496](https://issues.apache.org/jira/browse/HIVE-20496): ベクトル化: ベクトル化 PTF IllegalStateException | 
| バックポート | [HIVE-20494](https://issues.apache.org/jira/browse/HIVE-20494): HIVE-19440 以降、GenericUDFRestrictInformationSchema が壊れている | 
| バックポート | [HIVE-20477](https://issues.apache.org/jira/browse/HIVE-20477): 式に IN が含まれていると OptimizedSql が表示されない | 
| バックポート | [HIVE-20467](https://issues.apache.org/jira/browse/HIVE-20467): リソースプランの作成/削除で IF NOT EXISTS/IF EXISTS を許可する | 
| バックポート | [HIVE-20462](https://issues.apache.org/jira/browse/HIVE-20462): ビューが既に存在する場合、「CREATE VIEW IF NOT EXISTS」が失敗する | 
| バックポート | [HIVE-20455](https://issues.apache.org/jira/browse/HIVE-20455): security.authorization.PrivilegeSynchonizer.run からのログの大量出力 | 
| バックポート | [HIVE-20439](https://issues.apache.org/jira/browse/HIVE-20439): llap の結合選択時に拡張されたメモリ制限を使用する | 
| バックポート | [HIVE-20433](https://issues.apache.org/jira/browse/HIVE-20433): 暗黙の文字列からタイムスタンプへの変換が遅い | 
| バックポート | [HIVE-20432](https://issues.apache.org/jira/browse/HIVE-20432): 統計情報推定のために整数型の BETWEEN を IN に書き換える | 
| バックポート | [HIVE-20423](https://issues.apache.org/jira/browse/HIVE-20423): NULLS LAST をデフォルトのヌル順序として設定 | 
| バックポート | [HIVE-20418](https://issues.apache.org/jira/browse/HIVE-20418): LLAP IO が、列が選択されていないクエリの行インデックスが無効になっている ORC ファイルを正しく処理しない場合がある | 
| バックポート | [HIVE-20412](https://issues.apache.org/jira/browse/HIVE-20412): HiveMetaHook の NPE | 
| バックポート | [HIVE-20406](https://issues.apache.org/jira/browse/HIVE-20406): 入れ子になった Coalesce で間違った結果が出る | 
| バックポート | [HIVE-20399](https://issues.apache.org/jira/browse/HIVE-20399): 完全修飾されていないカスタムテーブルの場所を含む CTAS は MM テーブルで失敗する | 
| バックポート | [HIVE-20393](https://issues.apache.org/jira/browse/HIVE-20393): Semijoin 削減: markSemiJoinForDPP の動作が一貫しない | 
| バックポート | [HIVE-20391](https://issues.apache.org/jira/browse/HIVE-20391): 集約関数を分解すると、HiveAggregateReduceFunctionsRule が間違った戻り値の型を推測することがある | 
| バックポート | [HIVE-20383](https://issues.apache.org/jira/browse/HIVE-20383): hive プロトイベントフックの無効なキュー名と同期の問題。 | 
| バックポート | [HIVE-20367](https://issues.apache.org/jira/browse/HIVE-20367): ベクトル化: PTF AVG、MAX、MIN、SUM のストリーミングのサポート | 
| バックポート | [HIVE-20366](https://issues.apache.org/jira/browse/HIVE-20366): TPC-DS query78 の is null フィルターの統計推定値がずれている | 
| バックポート | [HIVE-20364](https://issues.apache.org/jira/browse/HIVE-20364): hive.map.aggr.hash.min.reduction デフォルトをアップデート | 
| バックポート | [HIVE-20352](https://issues.apache.org/jira/browse/HIVE-20352): ベクトル化: グループ化関数をサポート | 
| バックポート | [HIVE-20347](https://issues.apache.org/jira/browse/HIVE-20347): hive.optimize.sort.dynamic.partition はパーティション化された CTAS と MV で動作する必要がある | 
| バックポート | [HIVE-20345](https://issues.apache.org/jira/browse/HIVE-20345): 別の呼び出しからテーブルが削除されると、Drop database がハングアップすることがある | 
| バックポート | [HIVE-20343](https://issues.apache.org/jira/browse/HIVE-20343): Hive 3: CTAS は transactional\$1properties を考慮しない | 
| バックポート | [HIVE-20340](https://issues.apache.org/jira/browse/HIVE-20340): タイムスタンプ関数の出力を Strin として使用する場合、Druid はタイムスタンプから文字列への明示的な CAST を必要とする | 
| バックポート | [HIVE-20339](https://issues.apache.org/jira/browse/HIVE-20339): ベクトル化: RANK を持つ一部の PTF がベクトル化されない原因となっている不要な制限を解除する | 
| バックポート | [HIVE-20337](https://issues.apache.org/jira/browse/HIVE-20337): CachedStore: getPartitionsByExpr がパーティションリストに正しく入力されていない | 
| バックポート | [HIVE-20336](https://issues.apache.org/jira/browse/HIVE-20336): マテリアライズドビューのマスキングポリシーとフィルタリングポリシー | 
| バックポート | [HIVE-20326](https://issues.apache.org/jira/browse/HIVE-20326): NO RELY の代わりに RELY をデフォルトとして制約を作成 | 
| バックポート | [HIVE-20321](https://issues.apache.org/jira/browse/HIVE-20321): ベクトル化: VectorHashKeyWrapper の 1 列のメモリサイズを 1 CacheLine 未満に削減 | 
| バックポート | [HIVE-20320](https://issues.apache.org/jira/browse/HIVE-20320): hive.optimize.remove.sq\$1count\$1check フラグをオンにする | 
| バックポート | [HIVE-20315](https://issues.apache.org/jira/browse/HIVE-20315): ベクトル化: NULL/誤った結果に関する問題をさらに修正し、不要なキャスト/変換を回避 | 
| バックポート | [HIVE-20314](https://issues.apache.org/jira/browse/HIVE-20314): マテリアライズドビューの書き換えにパーティションプルーニングを含める | 
| バックポート | [HIVE-20312](https://issues.apache.org/jira/browse/HIVE-20312): arrow クライアントが LlapOutputFormatService で独自の BufferAllocator を使用できるようにする | 
| バックポート | [HIVE-20302](https://issues.apache.org/jira/browse/HIVE-20302): LLAP: IO でのベクトル化されていない実行では、ROW\$1ID を含む仮想列が無視される | 
| バックポート | [HIVE-20300](https://issues.apache.org/jira/browse/HIVE-20300): VectorFileSinkArrowOperator | 
| バックポート | [HIVE-20299](https://issues.apache.org/jira/browse/HIVE-20299): LLAP 署名者ユニットテストにおける競合の可能性 | 
| バックポート | [HIVE-20296](https://issues.apache.org/jira/browse/HIVE-20296): HivePointLookupOptimizerRule を改善して、より高度なコンテキストから抽出を可能にした | 
| バックポート | [HIVE-20294](https://issues.apache.org/jira/browse/HIVE-20294): ベクトル化: COALESCE/ELT における NULL/間違った結果の問題を修正 | 
| バックポート | [HIVE-20292](https://issues.apache.org/jira/browse/HIVE-20292): 主制約が定義されている tpcds query93 の結合順序が正しくない | 
| バックポート | [HIVE-20290](https://issues.apache.org/jira/browse/HIVE-20290): ArrowColumnarBatchSerDe を遅延初期化して、GetSplits 中にバッファを割り当てないようにする | 
| バックポート | [HIVE-20281](https://issues.apache.org/jira/browse/HIVE-20281): SharedWorkOptimizer が「operator cache contents and actual plan differ」エラーで失敗する | 
| バックポート | [HIVE-20277](https://issues.apache.org/jira/browse/HIVE-20277): ベクトル化: BOOLEAN を返すケース式は FILTER ではサポートされていない | 
| バックポート | [HIVE-20267](https://issues.apache.org/jira/browse/HIVE-20267): WebUI を拡張してログレベルを動的に設定するフォームを含める | 
| バックポート | [HIVE-20263](https://issues.apache.org/jira/browse/HIVE-20263): HiveReduceExpressionsWithStatsRule 変数のタイプミス | 
| バックポート | [HIVE-20260](https://issues.apache.org/jira/browse/HIVE-20260): 別の列のフィルターによって行数が変更された場合、列の NDV をスケールしてはならない | 
| バックポート | [HIVE-20252](https://issues.apache.org/jira/browse/HIVE-20252): Semijoin 削減: 小さいテーブル側の上流にマップ結合があると、セミ結合ブランチによるサイクルが検出されないままになることがある。 | 
| バックポート | [HIVE-20245](https://issues.apache.org/jira/browse/HIVE-20245): ベクトル化: BETWEEN/IN の NULL/間違った結果の問題を修正 | 
| バックポート | [HIVE-20241](https://issues.apache.org/jira/browse/HIVE-20241): CTAS ステートメントのパーティショニング仕様をサポート | 
| バックポート | [HIVE-20240](https://issues.apache.org/jira/browse/HIVE-20240): Semijoin 削減: ローカル変数を使用して外部テーブル条件をチェック | 
| バックポート | [HIVE-20226](https://issues.apache.org/jira/browse/HIVE-20226): リクエストの maxEvents がテーブルの max\$1rows を超えると、HMS getNextNotification が例外をスローする | 
| バックポート | [HIVE-20225](https://issues.apache.org/jira/browse/HIVE-20225): SerDe が Teradata バイナリ形式をサポート | 
| バックポート | [HIVE-20213](https://issues.apache.org/jira/browse/HIVE-20213): Calcite を 1.17.0 にアップグレード | 
| バックポート | [HIVE-20212](https://issues.apache.org/jira/browse/HIVE-20212): http モードの Hiveserver2 がメトリック default.General.open\$1connections を誤って出力する | 
| バックポート | [HIVE-20210](https://issues.apache.org/jira/browse/HIVE-20210): 非パーティション列のフィルターと変換が最小限の場合、シンプルなフェッチオプティマイザーが MapReduce につながる | 
| バックポート | [HIVE-20209](https://issues.apache.org/jira/browse/HIVE-20209): repl ダンプでの最初の試行でメタストア接続が失敗する | 
| バックポート | [HIVE-20207](https://issues.apache.org/jira/browse/HIVE-20207): ベクトル化: フィルター/比較での NULL/間違った結果の問題を修正 | 
| バックポート | [HIVE-20204](https://issues.apache.org/jira/browse/HIVE-20204): IN 時の型変換 | 
| バックポート | [HIVE-20203](https://issues.apache.org/jira/browse/HIVE-20203): Arrow SerDe が DirectByteBuffer をリークする | 
| バックポート | [HIVE-20197](https://issues.apache.org/jira/browse/HIVE-20197): ベクトル化: DECIMAL\$164 テストの追加、日付/間隔/タイムスタンプ算術の追加、および GROUP BY 集計機能の追加 | 
| バックポート | [HIVE-20193](https://issues.apache.org/jira/browse/HIVE-20193): 説明プランの JSON に cboInfo がない | 
| バックポート | [HIVE-20192](https://issues.apache.org/jira/browse/HIVE-20192): メタストアが埋め込まれた HS2 から JDOPersistenceManager オブジェクトがリークする | 
| バックポート | [HIVE-20183](https://issues.apache.org/jira/browse/HIVE-20183): ソーステーブルに空のバケットが含まれている場合、バケット化されたテーブルから挿入するとデータが失われる可能性がある | 
| バックポート | [HIVE-20177](https://issues.apache.org/jira/browse/HIVE-20177): ベクトル化: GroupBy ストリーミングモードでの KeyWrapper 割り当ての削減 | 
| バックポート | [HIVE-20174](https://issues.apache.org/jira/browse/HIVE-20174): ベクトル化: GROUP BY 集計関数における NULL/誤った結果の問題を修正 | 
| バックポート | [HIVE-20172](https://issues.apache.org/jira/browse/HIVE-20172): StatsUpdater がリモートメタストアに接続しようとしたときに GSS 例外が発生して失敗した | 
| バックポート | [HIVE-20153](https://issues.apache.org/jira/browse/HIVE-20153): Hive 2 以上で UDF をカウントして合計するとメモリ消費量が増える | 
| バックポート | [HIVE-20152](https://issues.apache.org/jira/browse/HIVE-20152): repl ダンプが失敗したときにデータベースの状態をリセットし、テーブルの名前を変更できるようにする | 
| バックポート | [HIVE-20149](https://issues.apache.org/jira/browse/HIVE-20149): TestHiveCli の失敗/タイムアウト | 
| バックポート | [HIVE-20130](https://issues.apache.org/jira/browse/HIVE-20130): 情報スキーマシンクロナイザーのロギングの改善 | 
| バックポート | [HIVE-20129](https://issues.apache.org/jira/browse/HIVE-20129): orc テーブルについてポジションベースのスキーマ進化に戻す | 
| バックポート | [HIVE-20118](https://issues.apache.org/jira/browse/HIVE-20118): SessionStateUserAuthenticator.getGroupNames | 
| バックポート | [HIVE-20116](https://issues.apache.org/jira/browse/HIVE-20116): TezTask はペアレントロガーを使用している | 
| バックポート | [HIVE-20115](https://issues.apache.org/jira/browse/HIVE-20115): Acid テーブルは分析にフッタースキャンを使うべきではない | 
| バックポート | [HIVE-20103](https://issues.apache.org/jira/browse/HIVE-20103): WM: 少なくとも 1 つを使用している場合のみ DAG カウンターを集約する | 
| バックポート | [HIVE-20101](https://issues.apache.org/jira/browse/HIVE-20101): BloomKFilter: ローカルの byte[] 配列を使用することは完全に避ける | 
| バックポート | [HIVE-20100](https://issues.apache.org/jira/browse/HIVE-20100): OpTraits: 不一致が検出された場合は Optraits の選択を停止する必要がある | 
| バックポート | [HIVE-20098](https://issues.apache.org/jira/browse/HIVE-20098): 統計: 日付列のパーティション統計を取得する場合の NPE | 
| バックポート | [HIVE-20095](https://issues.apache.org/jira/browse/HIVE-20095): jdbc 外部テーブルに計算をプッシュする機能を修正 | 
| バックポート | [HIVE-20093](https://issues.apache.org/jira/browse/HIVE-20093): LlapOutputFomatService: アカウンティングには Netty で ArrowBuf を使用する | 
| バックポート | [HIVE-20090](https://issues.apache.org/jira/browse/HIVE-20090): semijoin 削減フィルターの作成を拡張して新しいオポチュニティを発見できるようにする | 
| バックポート | [HIVE-20088](https://issues.apache.org/jira/browse/HIVE-20088): Beeline コンフィグのロケーションパスが正しくアセンブルされていない | 
| バックポート | [HIVE-20082](https://issues.apache.org/jira/browse/HIVE-20082): HiveDecimal を文字列に変換しても、10 進数が正しくフォーマットされない | 
| バックポート | [HIVE-20069](https://issues.apache.org/jira/browse/HIVE-20069): DPP と Semijoin の最適化の場合の再最適化を修正 | 
| バックポート | [HIVE-20051](https://issues.apache.org/jira/browse/HIVE-20051): 一時テーブルの認可をスキップする | 
| バックポート | [HIVE-20044](https://issues.apache.org/jira/browse/HIVE-20044): Arrow Serde は文字値を埋め、空の文字列を正しく処理する必要がある | 
| バックポート | [HIVE-20028](https://issues.apache.org/jira/browse/HIVE-20028): メタストアクライアントのキャッシュ設定が正しく使用されていない | 
| バックポート | [HIVE-20025](https://issues.apache.org/jira/browse/HIVE-20025): HiveProtoLoggingHook によって作成されたイベントファイルのクリーンアップ | 
| バックポート | [HIVE-20020](https://issues.apache.org/jira/browse/HIVE-20020): Hive contrib jar はライブラリにあってはいけない | 
| バックポート | [HIVE-20013](https://issues.apache.org/jira/browse/HIVE-20013): to\$1date 関数の日付型への暗黙的なキャストを追加 | 
| バックポート | [HIVE-20011](https://issues.apache.org/jira/browse/HIVE-20011): プロトロギングフックの追加モードから離れる | 
| バックポート | [HIVE-20005](https://issues.apache.org/jira/browse/HIVE-20005): acid\$1table\$1stats、acid\$1no\$1buckets など - ブランチでのクエリ結果の変更 | 
| バックポート | [HIVE-20004](https://issues.apache.org/jira/browse/HIVE-20004): ConvertDecimal64ToDecimal で間違ったスケールを使用すると、結果が不正確になる | 
| バックポート | [HIVE-19995](https://issues.apache.org/jira/browse/HIVE-19995): acid テーブルの行トラフィックを集計する | 
| バックポート | [HIVE-19993](https://issues.apache.org/jira/browse/HIVE-19993): 列名としても表示されるテーブルエイリアスは使用できない | 
| バックポート | [HIVE-19992](https://issues.apache.org/jira/browse/HIVE-19992): ベクトル化: HIVE-19951 に続いて--> SchemaEvolution.isOnlyImplicitConversion への呼び出しを追加して、データ型変換が暗黙的ではない場合にのみ ORC のエンコードされた LLAP I/O を無効にする | 
| バックポート | [HIVE-19989](https://issues.apache.org/jira/browse/HIVE-19989): メタストアが HADOOP2 メトリクスに間違ったアプリケーション名を使用する | 
| バックポート | [HIVE-19981](https://issues.apache.org/jira/browse/HIVE-19981): HiveStrictManagedMigration ユーティリティによって外部テーブルに変換された管理テーブルは、テーブルがドロップされたときにデータを削除するように設定する必要がある | 
| バックポート | [HIVE-19967](https://issues.apache.org/jira/browse/HIVE-19967): SMB Join: PTFOperator ala GBY Op に Optraits が必要 | 
| バックポート | [HIVE-19935](https://issues.apache.org/jira/browse/HIVE-19935): Hive WM セッションが強制終了された: LLAP タスクカウントを更新できなかった | 
| バックポート | [HIVE-19924](https://issues.apache.org/jira/browse/HIVE-19924): Repl Load によって実行される distcp ジョブにタグを付ける | 
| バックポート | [HIVE-19891](https://issues.apache.org/jira/browse/HIVE-19891): カスタムパーティションディレクトリを含む外部テーブルに挿入すると、データが失われる可能性がある | 
| バックポート | [HIVE-19850](https://issues.apache.org/jira/browse/HIVE-19850): Tez の動的パーティションプルーニングにより、「No work found for tablescan」というエラーが発生する | 
| バックポート | [HIVE-19806](https://issues.apache.org/jira/browse/HIVE-19806): qtests の出力をソートしてテスト結果が不安定にならないようにする | 
| バックポート | [HIVE-19770](https://issues.apache.org/jira/browse/HIVE-19770): select に同じ列が複数あるクエリの CBO の Support | 
| バックポート | [HIVE-19769](https://issues.apache.org/jira/browse/HIVE-19769): データベースとテーブル名専用のオブジェクトを作成する | 
| バックポート | [HIVE-19765](https://issues.apache.org/jira/browse/HIVE-19765): BlobstoreCliDriver に Parquet 固有のテストを追加 | 
| バックポート | [HIVE-19759](https://issues.apache.org/jira/browse/HIVE-19759): フレーキーテスト: TestRpc\$1testServerPort | 
| バックポート | [HIVE-19711](https://issues.apache.org/jira/browse/HIVE-19711): Hive スキーマツールのリファクタリング | 
| バックポート | [HIVE-19701](https://issues.apache.org/jira/browse/HIVE-19701): getDelegationTokenFromMetaStore は同期させる必要がない | 
| バックポート | [HIVE-19694](https://issues.apache.org/jira/browse/HIVE-19694): マテリアライズドビューの作成ステートメントは、MV の SQL ステートメントを実行する前に MV 名の競合をチェックする必要がある。 | 
| バックポート | [HIVE-19674](https://issues.apache.org/jira/browse/HIVE-19674): Group by 10 進定数が Druid テーブルにプッシュダウンする | 
| バックポート | [HIVE-19668](https://issues.apache.org/jira/browse/HIVE-19668): org.antlr.runtime.CommonToken の重複と文字列の重複により、ヒープの 30% 以上が無駄になる | 
| バックポート | [HIVE-19663](https://issues.apache.org/jira/browse/HIVE-19663): LLAP IO レポート生成のリファクタリング | 
| バックポート | [HIVE-19661](https://issues.apache.org/jira/browse/HIVE-20829): Hive UDF を Re2J 正規表現エンジンを使用するように切り替える | 
| バックポート | [HIVE-19628](https://issues.apache.org/jira/browse/HIVE-19628): LLAP testSigning で NPE が発生する可能性がある | 
| バックポート | [HIVE-19568](https://issues.apache.org/jira/browse/HIVE-19568): アクティブ/パッシブ HS2 HA: パッシブ HS2 インスタンスへの直接接続を許可しない | 
| バックポート | [HIVE-19564](https://issues.apache.org/jira/browse/HIVE-19564): ベクトル化: 算術での NULL/誤った結果の問題を修正 | 
| バックポート | [HIVE-19552](https://issues.apache.org/jira/browse/HIVE-19552): TestMiniDruidKafkaCliDriver\$1druidkafkamini\$1basic.q を有効にする | 
| バックポート | [HIVE-19432](https://issues.apache.org/jira/browse/HIVE-19432): hive に含まれるデータベースとテーブルの数が多すぎると、GetTablesOperation が遅すぎる | 
| バックポート | [HIVE-19360](https://issues.apache.org/jira/browse/HIVE-19360): CBO: 「optimizedSQL」を QueryPlan オブジェクトに追加 | 
| バックポート | [HIVE-19326](https://issues.apache.org/jira/browse/HIVE-19326): 統計の自動収集: UNION クエリ中の集計が正しくない | 
| バックポート | [HIVE-19313](https://issues.apache.org/jira/browse/HIVE-19313): TestJdbcWithDBTokenStoreNoDoAs テストが失敗する | 
| バックポート | [HIVE-19285](https://issues.apache.org/jira/browse/HIVE-19285): MetaDataOperation のサブクラスにログを追加 | 
| バックポート | [HIVE-19235](https://issues.apache.org/jira/browse/HIVE-19235): Minimr テストのゴールデンファイルを更新 | 
| バックポート | [HIVE-19104](https://issues.apache.org/jira/browse/HIVE-19104): テスト MetaStore をリトライで起動する場合、インスタンスは独立している必要がある | 
| バックポート | [HIVE-18986](https://issues.apache.org/jira/browse/HIVE-18986): テーブルに多数の列が含まれている場合、テーブルの名前を変更すると dataNucleus で java.lang.StackOverflowError が実行される | 
| バックポート | [HIVE-18920](https://issues.apache.org/jira/browse/HIVE-18920): CBO: 最初のクエリの前に Janino プロバイダーを初期化する | 
| バックポート | [HIVE-18873](https://issues.apache.org/jira/browse/HIVE-18873): HiveInputFormat で MR の述語プッシュダウンをサイレントにスキップすると、ストレージハンドラーが誤った結果を生成することがある | 
| バックポート | [HIVE-18871](https://issues.apache.org/jira/browse/HIVE-18871): hive.aux.jars.path を hdfs:// に設定したために hive on tez 実行エラーが発生する | 
| バックポート | [HIVE-18725](https://issues.apache.org/jira/browse/HIVE-18725): 列参照が間違っている場合のサブクエリのエラー処理を改善 | 
| バックポート | [HIVE-18696](https://issues.apache.org/jira/browse/HIVE-18696): 例外が発生した場合、HiveMetaStore.add\$1partitions\$1core メソッドでパーティションフォルダが正しくクリーンアップされないことがある | 
| バックポート | [HIVE-18453](https://issues.apache.org/jira/browse/HIVE-18453): ACID: ACID ORC と Parquet のサポートを統一するために「CREATE TRANSACTIONAL TABLE」構文を追加 | 
| バックポート | [HIVE-18201](https://issues.apache.org/jira/browse/HIVE-18201): sq\$1count\$1chec の XPROD\$1EDGE を無効にする | 
| バックポート | [HIVE-18140](https://issues.apache.org/jira/browse/HIVE-18140): 基本統計が混在していると、パーティションテーブルの統計が間違ってしまうことがある | 
| バックポート | [HIVE-17921](https://issues.apache.org/jira/browse/HIVE-17921): LLAP で構造体を使って集計すると間違った結果になる | 
| バックポート | [HIVE-17896](https://issues.apache.org/jira/browse/HIVE-17896): TopNKey: ベクトル化可能なスタンドアロンの TopNKey 演算子を作成する | 
| バックポート | [HIVE-17840](https://issues.apache.org/jira/browse/HIVE-17840): transactionalListeners.notifyEvent が失敗した場合 HiveMetaStore は例外を受け取る | 
| バックポート | [HIVE-17043](https://issues.apache.org/jira/browse/HIVE-17043): 後で参照されない場合、一意でない列を group by キーから削除する | 
| バックポート | [HIVE-17040](https://issues.apache.org/jira/browse/HIVE-17040): FK リレーションシップが存在する場合の Join 削除 | 
| バックポート | [HIVE-16839](https://issues.apache.org/jira/browse/HIVE-16839): 同じパーティションを同時に変更したときの openTransaction/commitTransaction の呼び出しが不均衡になる | 
| バックポート | [HIVE-16100](https://issues.apache.org/jira/browse/HIVE-16100): 動的ソートパーティションオプティマイザが兄弟演算子を失う | 
| バックポート | [HIVE-15956](https://issues.apache.org/jira/browse/HIVE-15956): 大量のパーティションをドロップした場合の StackOverflowError | 
| バックポート | [HIVE-15177](https://issues.apache.org/jira/browse/HIVE-15177): Kerberos 認証タイプが fromSubject に設定されていて、プリンシパルに \$1HOST が含まれていると、hive による認証が失敗する | 
| バックポート | [HIVE-14898](https://issues.apache.org/jira/browse/HIVE-14898): HS2 は空の認証ヘッダーエラーのコールスタックをログに記録すべきでない | 
| バックポート | [HIVE-14493](https://issues.apache.org/jira/browse/HIVE-14493): マテリアライズドビューのパーティショニングサポート | 
| バックポート | [HIVE-14431](https://issues.apache.org/jira/browse/HIVE-14431): COALESCE を CASE として認識する | 
| バックポート | [HIVE-13457](https://issues.apache.org/jira/browse/HIVE-13457): モニタリング情報用の HS2 REST API エンドポイントを作成する | 
| バックポート | [HIVE-12342](https://issues.apache.org/jira/browse/HIVE-12342): hive.optimize.index.filter のデフォルト値を true に設定 | 
| バックポート | [HIVE-10296](https://issues.apache.org/jira/browse/HIVE-10296): hive がメタストアでマルチ結合クエリを実行するとキャスト例外が発生する | 
| バックポート | [HIVE-6980](https://issues.apache.org/jira/browse/HIVE-6980): ダイレクト SQL を使用してテーブルをドロップする | 

## Amazon EMR 6.6.0 - Hive 設定の変更点
<a name="emr-Hive-660-configs"></a>
+ OSS 変更 [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) の一環として、動的パーティションをソートするプロパティ `hive.optimize.sort.dynamic.partition` が `hive.optimize.sort.dynamic.partition.threshold` に置き換えられました。

  `hive.optimize.sort.dynamic.partition.threshold` 構成には次のような潜在的な値があります。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/Hive-release-history-660.html)

## Amazon EMR 6.6.0 - Hive の既知の問題
<a name="emr-Hive-660-issues"></a>
+ join と同じ列にウィンドウ関数があるクエリは、[HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278) で報告されているように無効な変換を引き起こし、誤った結果やクエリ失敗の原因となることがあります。回避策として、このようなクエリのクエリレベルで CBO を無効にすることができます。詳細については、 AWS サポートにお問い合わせください。
+  Amazon EMR 6.6.0 には Hive ソフトウェアバージョン 3.1.2 が含まれています。Hive 3.1.2 では、テキストファイルにヘッダーとフッターが含まれている場合にテキストファイルを分割する機能が導入されています ([HIVE-21924](https://issues.apache.org/jira/browse/HIVE-21924))。Apache Tez App Master は各ファイルを読み取り、データ範囲内のオフセットポイントを決定します。クエリで大量の小さなテキストファイルが読み込まれる場合、これらの動作が組み合わさるとパフォーマンスに悪影響を及ぼす可能性があります。回避策として、`CombineHiveInputFormat` を使用し、以下のプロパティを設定して最大分割サイズを調整してください。

  ```
  SET hive.tez.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
  SET mapreduce.input.fileinputformat.split.maxsize=16777216;
  ```
+ Amazon EMR 6.6.0 から 6.9.x では、動的パーティションと ORDER BY 句または SORT BY 句を使用した INSERT クエリには常に 2 つのリデューサーがあります。この問題は、OSS が変更された [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) が原因です。これにより、動的ソートパーティションの最適化がコストベースの決定下に置かれます。ワークロードで動的パーティションのソートが不要な場合は、`hive.optimize.sort.dynamic.partition.threshold` プロパティを `-1` に設定して新機能を無効にし、リデューサーの数を正しく計算することをお勧めします。この問題は、[HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) の一部として OSS Hive で修正され、Amazon EMR 6.10.0 で修正されています。