

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

Bei Hive handelt es sich um ein Open-Source-Data-Warehouse und Analyse-Paket von Datensätzen, das auf einem Hadoop-Cluster ausgeführt wird. Für Hive-Skripte wird die SQL-ähnliche Sprache Hive QL (Query Language) verwendet, die Programmiermodelle abstrahiert und typische Data Warehouse-Interaktionen unterstützt. Mit Hive können Sie die Komplexität vermeiden, die mit dem Schreiben von Tez-Jobs verbunden ist, die auf gerichteten azyklischen Graphen (DAGs) oder MapReduce Programmen in einer Computersprache niedrigerer Stufe wie Java basieren. 

Hive erweitert das SQL-Paradigma durch Einschließen von Serialisierungsformaten. Sie können die Abfrageverarbeitung auch anpassen, indem Sie ein Tabellenschema erstellen, das mit Ihren Daten übereinstimmt, ohne die eigentlichen Daten zu bearbeiten. Während SQL nur primitive Wertetypen (z. B. Datumsangaben, Zahlen und Zeichenfolgen) unterstützt, handelt es sich bei den Werten in Hive-Tabellen um strukturierte Elemente wie beispielsweise JSON-Objekte, benutzerdefinierte Datentypen oder Java-Funktionen. 

Weitere Informationen zu Hive finden Sie unter [http://hive.apache.org/](http://hive.apache.org/).

Die folgende Tabelle listet die Version von Hive auf, die in der neuesten Version der Amazon-EMR-7.x-Serie enthalten ist, zusammen mit den Komponenten, die Amazon EMR mit Hive installiert.

[Informationen zur Version der Komponenten, die in dieser Version mit Hive installiert wurden, finden Sie unter Komponentenversionen von Version 7.12.0.](emr-7120-release.md)


**Hive-Versionsinformationen für emr-7.12.0**  

| Amazon-EMR-Versionsbezeichnung | Hive-Version | Mit Hive installierte Komponenten | 
| --- | --- | --- | 
| 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 | 

Die folgende Tabelle listet die Version von Hive auf, die in der neuesten Version der Amazon-EMR-6.x-Serie enthalten ist, zusammen mit den Komponenten, die Amazon EMR mit Hive installiert.

Die Version der Komponenten, die mit Hive in dieser Version installiert wurden, finden Sie unter [Komponentenversionen der Version 6.15.0](emr-6150-release.md).


**Hive-Versionsinformationen für emr-6.15.0**  

| Amazon-EMR-Versionsbezeichnung | Hive-Version | Mit Hive installierte Komponenten | 
| --- | --- | --- | 
| 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 | 

Die folgende Tabelle listet die Version von Hive auf, die in der neuesten Version der Amazon-EMR-5.x-Serie enthalten ist, zusammen mit den Komponenten, die Amazon EMR mit Hive installiert.

[Informationen zur Version der Komponenten, die in dieser Version mit Hive installiert wurden, finden Sie unter Komponentenversionen von Version 5.36.2.](emr-5362-release.md)


**Hive-Versionsinformationen für emr-5.36.2**  

| Amazon-EMR-Versionsbezeichnung | Hive-Version | Mit Hive installierte Komponenten | 
| --- | --- | --- | 
| 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 | 

Ab Amazon EMR 5.18.0 können Sie das Amazon-EMR-Artefakt-Repository verwenden, um Ihren Auftragscode anhand der genauen Versionen von Bibliotheken und Abhängigkeiten zu erstellen, die mit bestimmten Amazon-EMR-Versionen verfügbar sind. Weitere Informationen finden Sie unter [Überprüfen von Abhängigkeiten mithilfe des Amazon-EMR-Artefakt-Repositorys](emr-artifact-repository.md).

**Topics**
+ [Unterschiede und Überlegungen für Hive auf Amazon EMR](emr-hive-differences.md)
+ [Konfigurieren eines externen Metastores für Hive](emr-metastore-external-hive.md)
+ [Den Hive-JDBC-Treiber verwenden](HiveJDBCDriver.md)
+ [Verbessern der Hive-Leistung](emr-hive-s3-performance.md)
+ [Verwendung von Hive Live Long and Process (LLAP)](emr-hive-llap.md)
+ [Verschlüsselung im Hive](hive-encryption.md)
+ [Versionsverlauf von Hive](Hive-release-history.md)

# Unterschiede und Überlegungen für Hive auf Amazon EMR
<a name="emr-hive-differences"></a>

## Unterschiede zwischen Apache Hive in Amazon EMR und Apache Hive
<a name="emr-hive-apache-diff"></a>

[In diesem Abschnitt werden die Unterschiede zwischen Hive auf Amazon EMR und den Standardversionen von Hive beschrieben, die unter http://svn.apache verfügbar sind. org/viewvc/hive/branches/.](http://svn.apache.org/viewvc/hive/branches/) 

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

 Amazon EMR unterstützt [Hive-Autorisierung](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization) für HDFS, aber nicht für EMRFS und Amazon S3. Amazon-EMR-Cluster werden standardmäßig mit deaktivierter Autorisierung ausgeführt.

### Dateizusammenführung mit Hive in Amazon S3
<a name="emr-hive-filemerge"></a>

Apache Hive führt kleine Dateien am Ende eines Map-Auftrags zusammen, wenn `hive.merge.mapfiles` auf "true" gesetzt ist und die Zusammenführung nur dann ausgelöst wird, wenn die durchschnittliche Ausgabegröße des Auftrags kleiner als die Einstellung `hive.merge.smallfiles.avgsize` ist. Amazon EMR; Hive verhält sich genau gleich, wenn sich der Endausgabepfad in HDFS befindet. Wenn sich der Ausgabepfad in Amazon S3 befindet, wird der Parameter `hive.merge.smallfiles.avgsize` jedoch ignoriert. In diesem Fall wird die Zusammenführungsaufgabe immer dann ausgelöst, wenn `hive.merge.mapfiles` auf `true` gesetzt ist.

### ACID-Transaktionen und Amazon S3
<a name="emr-hive-acid"></a>

Amazon EMR 6.1.0 und höher unterstützt Hive-ACID-Transaktionen (Atomicity, Consistency, Isolation, Durability), sodass sie den ACID-Eigenschaften einer Datenbank entsprechen. Mit diesem Feature können Sie INSERT-, UPDATE-, DELETE- und MERGE-Operationen in Hive-Tabellen mit Daten in Amazon Simple Storage Service (Amazon S3) ausführen.

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

Die [LLAP-Funktionalität](https://cwiki.apache.org/confluence/display/Hive/LLAP), die in Version 2.0 von Standard-Apache Hive hinzugefügt wurde, wird in Hive 2.1.0 für Amazon-EMR-Version 5.0 nicht unterstützt.

Amazon-EMR-Version 6.0.0 und höher unterstützt die Live Long and Process (LLAP)-Funktionalität für Hive. Weitere Informationen finden Sie unter [Verwenden von Hive LLAP](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-llap.html). 

## Hive-Unterschiede zwischen Amazon-EMR-Version 4.x und 5.x
<a name="emr-hive-diff"></a>

In diesem Abschnitt werden die Unterschiede behandelt, die Sie berücksichtigen sollten, bevor Sie eine Hive-Implementierung von Hive Version 1.0.0 in Amazon-EMR-Version 4.x zu Hive 2.x in Amazon-EMR-Version 5.x migrieren.

### Betriebliche Unterschiede und Überlegungen
<a name="emr-hive-diffs-ops"></a>
+ **Die Unterstützung für [ACID-Transaktionen (Atomizität, Konsistenz, Isolation und Dauerhaftigkeit)](https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions) wurde ergänzt:** Dieser Unterschied zwischen Hive 1.0.0 für Amazon EMR 4.x und Standard-Apache-Hive wurde entfernt.
+ **Direkte Schreibvorgänge in Amazon S3 beseitigt:** Dieser Unterschied zwischen Hive 1.0.0 auf Amazon EMR und dem Standard-Apache-Hive wurde beseitigt. Hive 2.1.0 in Amazon-EMR-Version 5.x erstellt, liest und schreibt jetzt aus und zu temporären Dateien, die in Amazon S3 gespeichert werden. Daher müssen Sie bei Lese- und Schreibvorgängen für dieselbe Tabelle keine temporäre Tabelle mehr im lokalen HDFS-Dateisystem des Clusters erstellen, um das Problem zu umgehen. Wenn Sie versionierte Buckets verwenden, stellen Sie sicher, dass diese temporären Dateien wie unten beschrieben verwaltet werden.
+ **Verwalten Sie temporäre Dateien, wenn Sie versionierte Amazon-S3-Buckets verwenden:** Wenn Sie Hive-Abfragen ausführen, bei denen das Ziel der generierten Daten Amazon S3 ist, werden viele temporäre Dateien und Verzeichnisse erstellt. Hierbei handelt es sich, wie bereits beschrieben, um ein neues Verhalten. Wenn Sie versionierte S3-Buckets verwenden, wird Amazon S3 von diesen temporären Dateien überfrachtet und es fallen Kosten an, wenn sie nicht gelöscht werden. Passen Sie Ihre Lebenszyklusregeln an, damit Daten mit einem `/_tmp`-Präfix nach einem kurzen Zeitraum, wie z. B. nach fünf Tagen, gelöscht werden. Weitere Informationen finden Sie unter [Angeben einer Lebenszykluskonfiguration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).
+ **Aktualisierung von Log4j auf log4j 2:** Wenn Sie log4j verwenden, müssen Sie aufgrund dieser Aktualisierung möglicherweise Ihre Protokollierungskonfiguration ändern. Weitere Informationen finden Sie unter [Apache log4j 2](http://logging.apache.org/log4j/2.x/).

### Unterschiede und Überlegungen im Bezug auf Leistung
<a name="emr-hive-diffs-perf"></a>
+ **Leistungsunterschiede zu Tez:** Mit Amazon EMR Version 5.x ist Tez die Standard-Ausführungs-Engine für Hive anstelle von. MapReduce Tez bietet eine verbesserte Leistung für die meisten Workflows.
+ **Tabellen mit zahlreichen Partitionen:** Abfragen, die eine große Anzahl dynamischer Partitionen generieren, schlagen möglicherweise fehl. Außerdem kann die Ausführung von Abfragen, die aus Tabellen mit vielen Partitionen auswählen, länger dauern als erwartet. Beispielsweise kann eine Auswahl aus 100.000 Partitionen 10 Minuten oder länger dauern.

## Zusätzliche Features von Hive in Amazon EMR
<a name="emr-hive-additional-features"></a>

Amazon EMR erweitert Hive um neue Funktionen, die die Hive-Integration mit anderen AWS Diensten unterstützen, z. B. die Fähigkeit, von Amazon Simple Storage Service (Amazon S3) und DynamoDB zu lesen und in diese zu schreiben.

### Variablen in Hive
<a name="emr-hive-variables"></a>

 Sie können Variablen in Ihre Skripts aufnehmen, indem Sie das Dollarzeichen und geschweifte Klammern verwenden. 

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

 Sie übergeben die Werte dieser Variablen an Hive in der Befehlszeile mit dem Parameter `-d`, wie im folgenden Beispiel dargestellt: 

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

 Sie können die Werte auch an Schritte übergeben, die Hive-Skripts ausführen. 

**So übergeben Sie Variablenwerte mithilfe der Konsole an Hive-Schritte**

1. Öffnen Sie die Amazon EMR-Konsole unter [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr/).

1. Wählen Sie **Cluster erstellen**.

1. Wählen Sie im Abschnitt **Steps (Schritte)** in **Add Step (Schritt hinzufügen)** die Option **Hive Program (Hive-Programm)** in der Liste und **Configure and add (Konfigurieren und hinzufügen)** aus.

1.  Geben Sie im Dialogfeld **Add Step (Schritt hinzufügen)** die Parameter mithilfe der folgenden Tabelle als Leitfaden an. Wählen Sie anschließend **Add (Hinzufügen)** aus.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/emr/latest/ReleaseGuide/emr-hive-differences.html)

1. Wählen Sie die Werte wie notwendig und anschließend **Create cluster (Cluster erstellen)** aus.

**Um Variablenwerte an Hive-Schritte zu übergeben, verwenden Sie AWS CLI**

Um Variablenwerte mithilfe von an Hive-Schritte zu übergeben AWS CLI, verwenden Sie den `--steps` Parameter und fügen Sie eine Argumentliste hinzu.
+ 
**Anmerkung**  
Linux-Zeilenfortsetzungszeichen (\$1) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

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

  Weitere Informationen zur Verwendung von Amazon EMR-Befehlen finden Sie AWS CLI unter[https://docs.aws.amazon.com/cli/latest/reference/emr](https://docs.aws.amazon.com/cli/latest/reference/emr).

**So übergeben Sie Variablenwerte mithilfe des Java SDK an Hive-Schritte**
+ Im folgenden Beispiel wird gezeigt, wie Variablen mithilfe des SDK an Schritte übergeben werden. Weitere Informationen finden Sie unter [Class StepFactory](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/util/StepFactory.html) in der *AWS SDK für Java API-Referenz.* 

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

### Amazon-EMR-Hive-Abfragen zur Unterstützung partieller DynamoDB-Schemas
<a name="emr-hive-partial-schema"></a>

Amazon EMR Hive bietet maximale Flexibilität beim Abfragen von DynamoDB-Tabellen, da Sie eine Teilmenge von Spalten angeben können, nach denen Sie Daten filtern können, und nicht alle Spalten in die Abfrage einschließen müssen. Diese Technik der Teilschemaabfrage ist effektiv, wenn Sie ein Sparse-Datenbankschema vorliegen haben und Datensätze nach wenigen Spalten filtern möchten, z. B. nach Zeitstempel. 

 Im folgenden Beispiel wird gezeigt, wie Sie eine Hive-Abfrage für folgende Aufgaben verwenden: 
+ Erstellen Sie eine DynamoDB-Tabelle.
+ Wählen Sie eine Teilmenge von Elementen (Zeilen) in DynamoDB aus und grenzen Sie die Daten basierend auf bestimmten Spalten weiter ein.
+ Kopieren Sie die Ergebnisdaten in 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";
```

Die folgende Tabelle zeigt die Abfragesyntax für die Auswahl einer beliebigen Kombination von Elementen aus DynamoDB.


| Abfragebeispiel: | Ergebnisbeschreibung | 
| --- | --- | 
| WÄHLEN SIE \$1 AUStable\$1name; | Wählt alle Elemente (Zeilen) in einer bestimmten Tabelle aus und bezieht Daten aus allen für diese Elemente verfügbaren Spalten ein. | 
| WÄHLEN SIE \$1 AUS table\$1name WOHER field\$1name =value; | Wählt einige Elemente (Zeilen) in einer bestimmten Tabelle aus und bezieht Daten aus allen für diese Elemente verfügbaren Spalten ein. | 
| WÄHLEN SIEcolumn1\$1name,column2\$1name, column3\$1name AUStable\$1name; | Wählt alle Elemente (Zeilen) in einer bestimmten Tabelle aus und bezieht Daten aus einigen für diese Elemente verfügbaren Spalten ein. | 
| WÄHLEN SIE column1\$1namecolumn2\$1name,, column3\$1name table\$1name WOHER field\$1name =value; | Wählt einige Elemente (Zeilen) in einer bestimmten Tabelle aus und bezieht Daten aus einigen für diese Elemente verfügbaren Spalten ein. | 

### Daten zwischen DynamoDB-Tabellen in verschiedenen Regionen kopieren AWS
<a name="emr-hive-cross-region-ddb-copy"></a>

Amazon EMR Hive stellt die `dynamodb.region`-Eigenschaft bereit, die Sie pro DynamoDB-Tabelle festlegen können. Wenn `dynamodb.region` in zwei Tabellen unterschiedlich festgelegt ist, erscheinen alle Daten, die Sie zwischen den Tabellen kopieren, automatisch in den angegebenen Regionen.

 Das folgende Beispiel zeigt das Erstellen einer DynamoDB-Tabelle mit einem Hive-Skript, das die `dynamodb.region`-Eigenschaft festlegt:

**Anmerkung**  
Die tabellenspezifischen Regionseigenschaften überschreiben die globalen Hive-Eigenschaften.

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

### Festlegen von DynamoDB-Durchsatzwerten pro Tabelle
<a name="emr-hive-set-ddb-throughput"></a>

Amazon EMR Hive ermöglicht es Ihnen, DynamoDB readThroughputPercent und writeThroughputPercent Einstellungen pro Tabelle in der Tabellendefinition festzulegen. Das folgende Amazon-EMR-Hive-Skript zeigt, wie die Durchsatzwerte festgelegt werden. Weitere Informationen zu DynamoDB-Durchsatzwerten finden Sie unter [Angeben von Lese- und Schreibanforderungen für Tabellen](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");
```

# Konfigurieren eines externen Metastores für Hive
<a name="emr-metastore-external-hive"></a>

Hive zeichnet Metastore-Daten standardmäßig in einer MySQL-Datenbank im Dateisystem des Primärknotens auf. Die Metastore enthält eine Beschreibung der Tabelle und der zugrunde liegenden Daten, auf denen sie beruht. Das schließt auch die Partitionsnamen, Datentypen usw. ein. Wenn ein Cluster beendet wird, werden alle Cluster-Knoten heruntergefahren – einschließlich Primärknoten. Wenn dies geschieht, gehen lokale Daten verloren, da die Dateisysteme der Knoten flüchtigen Speicher verwenden. Wenn Sie der Metastore dauerhaft sein soll, müssen Sie einen *externen Metastore* außerhalb des Clusters erstellen.

Ihnen stehen zwei Optionen für einen externen Metastore zur Verfügung:
+ AWS Glue-Datenkatalog (nur Amazon EMR Version 5.8.0 oder höher).

  Weitere Informationen finden Sie unter [Verwenden des AWS Glue-Datenkatalogs als Metastore für Hive](emr-hive-metastore-glue.md).
+ Amazon RDS oder Amazon Aurora.

  Weitere Informationen finden Sie unter [Verwenden einer externen MySQL-Datenbank oder von Amazon Aurora;](emr-hive-metastore-external.md).

**Anmerkung**  
Wenn Sie Hive 3 verwenden und zu viele Verbindungen zu Hive Metastore haben, konfigurieren Sie den Parameter `datanucleus.connectionPool.maxPoolSize` so, dass er einen kleineren Wert hat, oder erhöhen Sie die Anzahl der Verbindungen, die der Datenbankserver verarbeiten kann. Die erhöhte Anzahl von Verbindungen ist darauf zurückzuführen, wie Hive die maximale Anzahl von JDBC-Verbindungen berechnet. [Informationen zur Berechnung des optimalen Leistungswerts finden Sie unter Hive-Konfigurationseigenschaften.](https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-datanucleus.connectionPool.maxPoolSize.1)

# Verwenden des AWS Glue-Datenkatalogs als Metastore für Hive
<a name="emr-hive-metastore-glue"></a>

Mit Amazon EMR Version 5.8.0 oder höher können Sie Hive so konfigurieren, dass der AWS Glue-Datenkatalog als Metastore verwendet wird. Wir empfehlen diese Konfiguration, wenn Sie einen persistenten Metastore oder einen gemeinsamen Metastore für verschiedene Cluster, Services, Anwendungen oder AWS -Konten benötigen.

AWS Glue ist ein vollständig verwalteter ETL-Service (Extrahieren, Transformieren und Laden), mit dem Sie Ihre Daten einfach und kostengünstig kategorisieren, bereinigen, anreichern und zuverlässig zwischen verschiedenen Datenspeichern verschieben können. Der AWS Glue Data Catalog bietet ein einheitliches Metadaten-Repository für eine Vielzahl von Datenquellen und Datenformaten, das sich in Amazon EMR sowie Amazon RDS, Amazon Redshift, Redshift Spectrum, Athena und jede mit dem Apache Hive Metastore kompatible Anwendung integrieren lässt. AWS Glue-Crawler können automatisch Schemas aus Quelldaten in Amazon S3 ableiten und die zugehörigen Metadaten im Datenkatalog speichern. Weitere Informationen zum Datenkatalog finden Sie unter [Füllen des AWS Glue-Datenkatalogs im *AWS Glue-Entwicklerhandbuch*](https://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html).

Für AWS Glue fallen separate Gebühren an. Es gibt eine monatliche Gebühr für das Speichern und Zugreifen auf die Metadaten im Datenkatalog, einen Stundensatz, der pro Minute für AWS Glue ETL-Jobs und Crawler-Laufzeit abgerechnet wird, und einen Stundensatz, der pro Minute für jeden bereitgestellten Entwicklungsendpunkt abgerechnet wird. Der Datenkatalog ermöglicht Ihnen die gebührenfreie Speicherung von bis zu einer Million Objekten. Wenn Sie mehr als eine Million Objekte speichern, fällt eine Gebühr von 1 USD für jeweils 100.000 zusätzliche Objekte an. Im Data Catalog ist ein Objekt eine Tabelle, eine Partition oder eine Datenbank. Weitere Informationen finden Sie unter [Glue-Preise](https://aws.amazon.com/glue/pricing).

**Wichtig**  
Wenn Sie vor dem 14. August 2017 Tabellen mit Amazon Athena oder Amazon Redshift Spectrum erstellt haben, werden Datenbanken und Tabellen in einem von Athena verwalteten Katalog gespeichert, der vom Glue-Datenkatalog getrennt ist. AWS Um Amazon EMR mit diesen Tabellen zu integrieren, müssen Sie ein Upgrade auf den AWS Glue Data Catalog durchführen. Weitere Informationen finden Sie unter [Upgrade auf den AWS Glue-Datenkatalog](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html) im *Amazon Athena Athena-Benutzerhandbuch*.

## AWS Glue Data Catalog als Metastore angeben
<a name="emr-hive-glue-configure"></a>

Sie können den AWS Glue-Datenkatalog mithilfe der Amazon EMR-API AWS-Managementkonsole AWS CLI, oder als Metastore angeben. Wenn Sie die CLI oder API verwenden, verwenden Sie die Konfigurationsklassifizierung für Hive, um den Data Catalog anzugeben. Darüber hinaus können Sie mit Amazon EMR 5.16.0 und höher die Konfigurationsklassifizierung verwenden, um einen Datenkatalog in einem anderen Format anzugeben. AWS-Konto**Wenn Sie die Konsole verwenden, können Sie den Data Catalog mit den **erweiterten Optionen oder den Schnelloptionen** angeben.**

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

**So geben Sie AWS Glue Data Catalog mit der Konsole als Hive-Metastore an**

1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon EMR-Konsole unter [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr).

1. Wählen Sie im linken Navigationsbereich unter **EMR in EC2** die Option **Cluster** und dann **Cluster erstellen** aus.

1. **Wählen Sie unter **Anwendungspaket** die Option **Core Hadoop oder Benutzerdefiniert** aus. **HBase**** Wenn Sie Ihren Cluster anpassen, stellen Sie sicher, dass Sie Hive oder HCatalog als eine Ihrer Anwendungen auswählen.

1. Aktivieren Sie unter **Einstellungen für den AWS Glue Data Catalog** das Kontrollkästchen **Für Hive-Tabellenmetadaten** verwenden.

1. Wählen Sie alle anderen Optionen aus, die für Ihren Cluster gelten. 

1. Um Ihren Cluster jetzt zu starten, wählen Sie **Cluster erstellen** aus.

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

**Um den AWS Glue-Datenkatalog als Hive-Metastore anzugeben, mit dem AWS CLI**

Weitere Informationen zum Angeben einer Konfigurationsklassifizierung mithilfe der AWS CLI und EMR-API finden Sie unter[Anwendungen konfigurieren](emr-configure-apps.md).
+ Geben Sie den Wert für `hive.metastore.client.factory.class` mittels der Konfigurationsklassifizierung `hive-site` wie im folgenden Beispiel gezeigt an:

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

  Wenn Sie in den EMR-Release-Versionen 5.28.0, 5.28.1, 5.29.0 oder 6.x einen Cluster mit dem AWS Glue-Datenkatalog als Metastore erstellen, setzen Sie den Wert auf. `hive.metastore.schema.verification` `false` Dadurch wird verhindert, dass Hive und das Metastore-Schema anhand HCatalog von MySQL validieren. Ohne diese Konfiguration wird die primäre Instanzgruppe nach der Neukonfiguration auf Hive oder gesperrt. HCatalog 

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

  Wenn Sie bereits über einen Cluster in EMR-Version 5.28.0, 5.28.1 oder 5.29.0 verfügen, können Sie die Primär-Instance-Gruppe `hive.metastore.schema.verification` mit folgenden Informationen auf `false` festlegen:

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

  Um einen Datenkatalog in einem anderen AWS Konto anzugeben, fügen Sie die `hive.metastore.glue.catalogid` Eigenschaft hinzu, wie im folgenden Beispiel gezeigt. Ersetzen Sie `acct-id` durch das AWS -Konto des Data Catalog.

  ```
  [
    {
      "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-Berechtigungen
<a name="emr-hive-glue-permissions"></a>

Das EC2-Instanzprofil für einen Cluster muss über IAM-Berechtigungen für AWS Glue-Aktionen verfügen. Wenn Sie die Verschlüsselung für AWS Glue Data Catalog-Objekte aktivieren, muss die Rolle außerdem berechtigt sein, die für die Verschlüsselung AWS KMS key verwendeten Daten zu verschlüsseln, zu entschlüsseln und zu generieren.

### Berechtigungen für AWS Glue-Aktionen
<a name="emr-hive-glue-permissions-actions"></a>

Wenn Sie das standardmäßige EC2-Instance-Profil für Amazon EMR verwenden, ist keine Aktion erforderlich. Die `AmazonElasticMapReduceforEC2Role` verwaltete Richtlinie, die an die angehängt ist, `EMR_EC2_DefaultRole` ermöglicht alle erforderlichen AWS Glue-Aktionen. Wenn Sie jedoch ein benutzerdefiniertes EC2-Instanzprofil und Berechtigungen angeben, müssen Sie die entsprechenden AWS Glue-Aktionen konfigurieren. Verwenden Sie hierzu die verwaltete Richtlinie `AmazonElasticMapReduceforEC2Role` als Ausgangspunkt. Weitere Informationen finden Sie unter [Servicerolle für Cluster-EC2-Instances (EC2-Instance-Profil)](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role-for-ec2.html) im *Verwaltungshandbuch für Amazon EMR*.

### Berechtigungen zum Verschlüsseln und Entschlüsseln von AWS Glue Data Catalog
<a name="emr-hive-glue-permissions-encrypt"></a>

Ihr Instance-Profil benötigt die Erlaubnis, Daten mithilfe Ihres Schlüssels zu verschlüsseln und zu entschlüsseln. Sie müssen diese Berechtigungen *nicht* konfigurieren, wenn die beiden folgenden Aussagen zutreffen:
+ Sie aktivieren die Verschlüsselung für AWS Glue Data Catalog-Objekte mithilfe von verwalteten Schlüsseln für AWS Glue.
+ Sie verwenden einen Cluster, der sich im selben Verzeichnis befindet AWS-Konto wie der AWS Glue-Datenkatalog.

Andernfalls müssen Sie die folgende Anweisung der Berechtigungsrichtlinie hinzufügen, die mit Ihrem EC2-Instance-Profil verknüpft ist. 

Weitere Informationen zur Verschlüsselung von AWS Glue Data Catalog finden Sie unter [Verschlüsselung Ihres Datenkatalogs](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html) im *AWS Glue Developer Guide*.

### Ressourcenbasierte Berechtigungen
<a name="emr-hive-glue-permissions-resource"></a>

Wenn Sie AWS Glue in Verbindung mit Hive, Spark oder Presto in Amazon EMR verwenden, unterstützt AWS Glue ressourcenbasierte Richtlinien zur Steuerung des Zugriffs auf Datenkatalogressourcen. Zu diesen Ressourcen gehören Datenbanken, Tabellen, Verbindungen und benutzerdefinierte Funktionen. Weitere Informationen finden Sie unter [Verwenden von ressourcenbasierten Richtlinien für AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html) im *AWS -Glue-Entwicklerhandbuch*.

Wenn Sie ressourcenbasierte Richtlinien verwenden, um den Zugriff auf AWS Glue von Amazon EMR aus zu beschränken, muss der Principal, den Sie in der Berechtigungsrichtlinie angeben, der Rollen-ARN sein, der dem EC2-Instance-Profil zugeordnet ist, das bei der Erstellung eines Clusters angegeben wird. Für eine ressourcenbasierte Richtlinie, die an einen Katalog angehängt ist, können Sie beispielsweise den Rollen-ARN für die Standarddienstrolle für Cluster-EC2-Instances *EMR\$1EC2\$1DefaultRole* wie folgt angeben: `Principal`

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

Die *acct-id* kann sich von der AWS Glue-Konto-ID unterscheiden. Dies ermöglicht den Zugriff von EMR-Clustern in verschiedenen Konten aus. Sie können mehrere Principals angeben, von denen jeder aus einem anderen Konto stammt.

## Überlegungen zur Verwendung von AWS Glue Data Catalog
<a name="emr-hive-glue-considerations-hive"></a>

Beachten Sie die folgenden Punkte, wenn Sie den AWS Glue-Datenkatalog als Metastore mit Hive verwenden:
+ Das Hinzufügen von JARs Hilfsmitteln mithilfe der Hive-Shell wird nicht unterstützt. Um das Problem zu umgehen, verwenden Sie die `hive-site` Konfigurationsklassifizierung, um die `hive.aux.jars.path` Eigenschaft festzulegen, wodurch dem Hive-Klassenpfad JARs ein Hilfsprogramm hinzugefügt wird.
+ [Hive-Transaktionen](https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions) werden nicht unterstützt.
+ Das Umbenennen von Tabellen in AWS Glue wird nicht unterstützt.
+ Wenn Sie eine Hive-Tabelle erstellen, ohne eine `LOCATION` anzugeben, werden die Tabellendaten an dem in der Eigenschaft `hive.metastore.warehouse.dir` angegebenen Ort gespeichert. Standardmäßig ist dies ein Speicherort in HDFS. Wenn ein anderer Cluster auf die Tabelle zugreifen muss, schlägt er fehl, sofern er nicht über ausreichende Berechtigungen für den Cluster verfügt, der die Tabelle erstellt hat. Da HDFS-Speicher vorübergehend ist, gehen außerdem die Tabellendaten verloren, wenn der Cluster beendet wird, und die Tabelle muss neu erstellt werden. Wir empfehlen, dass Sie `LOCATION` in Amazon S3 a angeben, wenn Sie eine Hive-Tabelle mit AWS Glue erstellen. Alternativ können Sie die `hive-site`-Konfigurationsklassifizierung verwenden, um einen Speicherort in Amazon S3 für `hive.metastore.warehouse.dir` anzugeben, der für alle Hive-Tabellen gilt. Wenn eine Tabelle an einem HDFS-Speicherort erstellt wurde und der Cluster, der sie erstellt hat, noch läuft, können Sie den Tabellenspeicherort von AWS Glue aus auf Amazon S3 aktualisieren. Weitere Informationen finden Sie unter [Arbeiten mit Tabellen auf der AWS Glue-Konsole](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html) im *AWS Glue-Entwicklerhandbuch*. 
+ Partitionswerte, die Anführungszeichen und Apostrophe enthalten, werden nicht unterstützt, zum Beispiel `PARTITION (owner="Doe's").`
+ [Spaltenstatistiken](https://cwiki.apache.org/confluence/display/Hive/StatsDev#StatsDev-ColumnStatistics) werden für emr-5.31.0 und höher unterstützt.
+ Die Verwendung der [Hive-Autorisierung](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization) wird nicht unterstützt. Als Alternative sollten Sie die Verwendung [ressourcenbasierter Richtlinien für AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html) in Betracht ziehen. Weitere Informationen finden Sie unter [Verwenden von ressourcenbasierten Richtlinien für Amazon EMR Access to AWS Glue](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html) Data Catalog.
+ [Hive-Einschränkungen](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Constraints) werden nicht unterstützt.
+ Die [kostenbasierte Optimierung in Hive](https://cwiki.apache.org/confluence/display/Hive/Cost-based+optimization+in+Hive) wird nicht unterstützt.
+ Die Einstellung `hive.metastore.partition.inherit.table.properties` wird nicht unterstützt. 
+ Die Verwendung der folgenden Metastore-Konstanten wird nicht unterstützt: `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`.
+ Wenn Sie einen Prädikatausdruck verwenden, müssen sich explizite Werte auf der rechten Seite des Vergleichsoperators befinden. Andernfalls schlagen Abfragen möglicherweise fehl.
  + **Richtig**: `SELECT * FROM mytable WHERE time > 11`
  + **Falsch**: `SELECT * FROM mytable WHERE 11 > time`
+ Die Amazon EMR-Versionen 5.32.0 und 6.3.0 und höher unterstützen die Verwendung benutzerdefinierter Funktionen () UDFs in Prädikatausdrücken. Wenn Sie frühere Versionen verwenden, schlagen Ihre Abfragen möglicherweise fehl, weil Hive versucht, die Abfrageausführung zu optimieren.
+ [Temporäre Tabellen](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables) werden nicht unterstützt.
+ Wir empfehlen, Tabellen mithilfe von Anwendungen über Amazon EMR zu erstellen, anstatt sie direkt mit AWS Glue zu erstellen. Das Erstellen einer Tabelle mit AWS Glue kann dazu führen, dass erforderliche Felder fehlen und Abfrageausnahmen auftreten.
+ In EMR 5.20.0 oder höher wird das parallel Partitionsbereinigen automatisch für Spark und Hive aktiviert, wenn AWS Glue Data Catalog als Metastore verwendet wird. Diese Änderung reduziert die Zeit für die Abfrageplanung erheblich, da mehrere Anfragen parallel ausgeführt werden, um Partitionen abzurufen. Die Gesamtzahl der Segmente, die gleichzeitig ausgeführt werden können, liegt zwischen 1 und 10. Der Standardwert ist 5, was eine empfohlene Einstellung ist. Sie können dies ändern, indem Sie die Eigenschaft `aws.glue.partition.num.segments` in der `hive-site`-Konfigurationsklassifizierung angeben. Wenn eine Drosselung auftritt, können Sie das Feature ausschalten, indem Sie den Wert auf 1 ändern. Weitere Informationen finden Sie unter [AWS -Glue-Segmentstruktur](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-Segment).

# Verwenden einer externen MySQL-Datenbank oder von Amazon Aurora;
<a name="emr-hive-metastore-external"></a>

Um eine externe MySQL-Datenbank oder Amazon Aurora als Ihren Hive-Metastore zu verwenden, überschreiben Sie die Standardkonfigurationswerte für den Metastore in Hive, um den externen Datenbankspeicherort anzugeben, entweder auf einer Amazon RDS MySQL-Instance oder einem Amazon Aurora Postgre. SQLinstance

**Anmerkung**  
Von Hive werden gleichzeitige Schreibzugriffe auf Metastore-Tabellen weder unterstützt noch verhindert. Wenn zwei Cluster gemeinsam Metastore-Daten nutzen, müssen Sie sicherstellen, dass Sie nicht gleichzeitig in dieselbe Metastore-Tabelle schreiben, es sei denn, sie schreiben auf verschiedene Partitionen derselben Metastore-Tabelle.

Das folgende Verfahren zeigt, wie Sie die Standardkonfigurationswerte für den Speicherort des Hive-Metastores überschreiben und einen Cluster mit dem neu konfigurierten Metastore-Speicherort starten.

**So erstellen Sie einen Metastore außerhalb des EMR-Clusters**

1. Erstellen Sie eine MySQL- oder Aurora-PostgreSQL-Datenbank. Wenn Sie PostgreSQL verwenden, müssen Sie es konfigurieren, nachdem Sie Ihren Cluster bereitgestellt haben. Bei der Clustererstellung wird nur MySQL unterstützt. Informationen zu den Unterschieden zwischen Aurora MySQL und Aurora PostgreSQL finden Sie unter [Überblick über Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Overview.html) und [Arbeiten mit Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html). Allgemeine Informationen zum Erstellen einer Amazon RDS-Datenbank finden Sie unter [https://aws.amazon.com/rds/](https://aws.amazon.com/rds/).

1. Ändern Sie Ihre Sicherheitsgruppen, um JDBC-Verbindungen zwischen Ihrer Datenbank und der **ElasticMapReduce-Master-Sicherheitsgruppe** zuzulassen. Informationen zum Ändern Ihrer Sicherheitsgruppen für den Zugriff finden Sie unter [Arbeiten mit von Amazon EMR verwalteten Sicherheitsgruppen](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html).

1. Legen Sie die JDBC-Konfigurationswerte in `hive-site.xml` fest:
**Wichtig**  
Wenn Sie sensible Daten wie z. B. Passwörter an die Amazon-EMR-Konfigurations-API übergeben, werden diese Informationen für Konten mit ausreichenden Berechtigungen angezeigt. Wenn Sie besorgt sind, dass diese Daten anderen Benutzern angezeigt werden könnten, erstellen Sie den Cluster mit einem administrativen Konto und schränken Sie den Zugriff anderer Benutzer (IAM-Benutzer oder Benutzer mit delegierten Anmeldeinformationen) auf die Services im Cluster ein, indem Sie eine Rolle erstellen, die Berechtigungen für den API-Schlüssel `elasticmapreduce:DescribeCluster` ausdrücklich verweigert.

   1. Erstellen Sie eine Konfigurationsdatei namens `hiveConfiguration.json`, die Änderungen an `hive-site.xml` enthält, wie im folgenden Beispiel gezeigt.

       *hostname*Ersetzen Sie durch die DNS-Adresse Ihrer Amazon RDS-Instance, auf der die Datenbank ausgeführt wird, *username* und *password* durch die Anmeldeinformationen für Ihre Datenbank. Weitere Informationen zum Verbinden mit MySQL- und Autora-Datenbank-Instances finden Sie unter [Verbinden mit einer DB-Instance, die die MySQL Database Engine ausführt](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html) und [Verbinden mit einem DB-Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Connect.html) im *Amazon-RDS-Benutzerhandbuch*. `javax.jdo.option.ConnectionURL` ist die JDBC-Verbindungszeichenfolge für einen JDBC-Metastore. `javax.jdo.option.ConnectionDriverName` ist der Treiberklassenname für einen JDBC-Metastore.

      Die MySQL-JDBC-Treiber werden von Amazon EMR installiert. 

      Die Werteigenschaft darf keine Leerzeichen oder Wagenrückläufe enthalten. Sie sollte in einer Zeile erscheinen.

      ```
      [
          {
            "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. Verweisen Sie bei der Erstellung des Clusters auf die `hiveConfiguration.json` Datei, wie im folgenden AWS CLI Befehl gezeigt. In diesem Befehl ist die Datei lokal gespeichert. Sie können die Datei auch zu Amazon S3 hochladen und dort referenzieren, beispielsweise `s3://DOC-EXAMPLE-BUCKET/hiveConfiguration.json`.
**Anmerkung**  
Linux-Zeilenfortsetzungszeichen (\$1) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

      ```
      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. Stellen Sie eine Verbindung mit dem Primärknoten Ihres Clusters her. 

   Informationen zum Verbinden mit dem Primärknoten finden Sie unter [Verbinden mit dem Primärknoten über SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html) im *Verwaltungshandbuch für Amazon EMR*.

1. Erstellen Sie Ihre Hive-Tabellen, indem Sie den Speicherort in Amazon S3 durch Eingabe eines Befehls ähnlich dem folgenden angeben:

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

1. Fügen Sie dem aktiven Cluster Ihr Hive-Skript hinzu.

Ihr Hive-Cluster wird unter Verwendung des Metastores in Amazon RDS ausgeführt. Starten Sie alle zusätzlichen Hive-Cluster, die diesen Metastore nutzen, indem Sie den Metastore-Speicherort angeben. 

# Den Hive-JDBC-Treiber verwenden
<a name="HiveJDBCDriver"></a>

Sie können beliebte Business Intelligence-Tools wie Microsoft Excel, MicroStrategyQlikView, und Tableau mit Amazon EMR verwenden, um Ihre Daten zu untersuchen und zu visualisieren. Viele dieser Tools erfordern einen Java Database Connectivity (JDBC)- oder einen Open Database Connectivity (ODBC)-Treiber. Amazon EMR unterstützt sowohl JDBC- als auch ODBC-Konnektivität zu einem Spark-, Hive- oder Presto-Cluster.

Das folgende Beispiel zeigt die Verwendung von SQL Workbench/J als SQL-Client, um eine Verbindung zu einem Hive-Cluster in Amazon EMR herzustellen. Weitere Treiber finden Sie unter [Verwenden von Business-Intelligence-Tools mit Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-bi-tools.html).

Bevor Sie SQL Workbench/J installieren und damit arbeiten, laden Sie das Treiber-Paket herunter, und installieren Sie den Treiber. Die in dem Paket enthaltenen Treiber unterstützen die Hive-Versionen, die in den Amazon-EMR-Versionen 4.0 und höher verfügbar sind. Detaillierte Versionshinweise und Dokumentationen finden Sie in der PDF-Dokumentation in dem Paket.
+ **Die neuesten JDBC- und ODBC-Treiberpakete**

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

**So installieren und konfigurieren Sie die SQL Workbench**

1. Laden Sie den Workbench/J SQL-Client für Ihr Betriebssystem von herunter. [http://www.sql-workbench.net/downloads.html](http://www.sql-workbench.net/downloads.html)

1. Installieren Sie SQL Workbench/J. Weitere Informationen finden Sie unter [SQL Workbench/J installieren und starten](http://www.sql-workbench.net/manual/install.html) im SQL-Handbuch. Workbench/J 

1. **Linux-, Unix-, Mac OS X-Benutzer**: Erstellen Sie mithilfe des folgenden Befehls in einer Terminalsitzung einen SSH-Tunnel zum Master-Knoten Ihres Clusters. *master-public-dns-name*Ersetzen Sie durch den öffentlichen DNS-Namen des Master-Knotens und durch den Speicherort und den Dateinamen Ihrer Amazon EC2 EC2-Datei *path-to-key-file* mit privatem Schlüssel (`.pem`).

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

   **Windows-Benutzer**: Erstellen Sie in einer PuTTY-Sitzung einen SSH-Tunnel zum Hauptknoten Ihres Clusters (mit lokaler Port-Weiterleitung) und legen Sie `10000` für **Quellport** und `master-public-dns-name:10000` für **Ziel** fest. Ersetzen Sie `master-public-dns-name` durch den öffentlichen DNS-Namen des Master-Knotens.

1. Fügen Sie SQL Workbench den JDBC-Treiber hinzu.

   1. Klicken Sie im Dialogfeld **Select Connection Profile (Verbindungsprofil auswählen)** auf **Manage Drivers (Treiber verwalten)**. 

   1. Klicken Sie auf das Symbol (leere Seite) **Create a new entry (Neuen Eintrag erstellen)**.

   1. Geben Sie in das Feld **Name** **Hive JDBC** ein.

   1. Klicken Sie bei **Library (Bibliothek)** auf das Symbol **Select the JAR file(s) (JAR-Datei(en) auswählen)**.

   1. Navigieren Sie zu dem Speicherort, der die extrahierten Treiber enthält. Wählen Sie die Treiber aus, die in der heruntergeladenen Version des JDBC-Treiberpakets enthalten sind, und klicken Sie auf **Öffnen**.

      Ihr JDBC-Treiberpaket kann beispielsweise Folgendes enthalten. JARs

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

   1. Wählen Sie im Dialogfeld **Please select one driver (Einen Treiber auswählen)** die Optionen `com.amazon.hive.jdbc41.HS2Driver` und **OK (OK)** aus.

1. Wenn Sie zum Dialogfeld **Manage Drivers (Treiber verwalten)** zurückkehren, überprüfen Sie, ob das Feld **Classname (Klassenname)** ausgefüllt ist. Klicken Sie dann auf **OK (OK)**. 

1. Wenn Sie zum Dialogfeld **Select Connection Profile (Verbindungsprofil auswählen)** zurückkehren, überprüfen Sie, ob das Dialogfeld **Driver (Treiber)** auf **Hive JDBC (Hive JDBC)** festgelegt ist. Geben Sie die folgende JDBC-Verbindungszeichenfolge im Feld **URL (URL)** ein: `jdbc:hive2://localhost:10000/default`.

1. Wählen Sie **OK (OK)** aus, um die Verbindung herzustellen. Nachdem die Verbindung hergestellt wurde, werden die Verbindungsdetails oben im Workbench/J SQL-Fenster angezeigt.

Weitere Informationen zur Verwendung von Hive und der JDBC-Schnittstelle finden Sie JDBCInterface in der Apache [HiveClient](https://cwiki.apache.org/confluence/display/Hive/HiveClient)[Hive-Dokumentation unter und Hive](https://cwiki.apache.org/confluence/display/Hive/HiveJDBCInterface).

# Verbessern der Hive-Leistung
<a name="emr-hive-s3-performance"></a>

Amazon EMR bietet Features, mit denen die Leistung optimiert werden kann, wenn Hive für Abfragen und Lese- bzw. Schreiboperationen über Daten in Amazon S3 verwendet wird.

S3 Select kann in einigen Anwendungen die Abfrageleistung bei CSV- und JSON-Dateien verbessern, indem die Verarbeitung an Amazon S3 ausgelagert wird.

Der EMRFS S3-optimierte Committer ist eine Alternative zu dieser [OutputCommitter](https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/OutputCommitter.html)Klasse, die Auflisten- und Umbenennungsvorgänge überflüssig macht, um die Leistung beim Schreiben von Dateien in Amazon S3 mit EMRFS zu verbessern.

**Topics**
+ [Aktivierung des optimierten Hive EMRFS S3 Committers](hive-optimized-committer.md)
+ [Verwendung von S3 Select mit Hive zur Verbesserung der Leistung](emr-hive-s3select.md)
+ [MSCK-Optimierung](emr-msck-optimization.md)

# Aktivierung des optimierten Hive EMRFS S3 Committers
<a name="hive-optimized-committer"></a>

Der Hive EMRFS S3 Optimized Committer ist eine alternative Methode, mit der EMR Hive Dateien für Insert-Abfragen schreibt, wenn EMRFS verwendet wird. Der Committer macht Listen- und Umbenennungsvorgänge überflüssig, die in Amazon S3 ausgeführt wurden, und verbessert die Leistung der Anwendung. Das Feature ist ab EMR 5.34 und EMR 6.5 verfügbar.

## Aktivieren des Committers
<a name="enabling-hive-committer"></a>

Wenn Sie die Verwendung von EMR Hive `HiveEMRFSOptimizedCommitter` zum Commit von Daten als Standard für alle von Hive verwalteten und externen Tabellen aktivieren möchten, verwenden Sie die folgende `hive-site`-Konfiguration in EM- 6.5.0- oder EMR-5.34.0-Clustern.

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

**Anmerkung**  
Schalten Sie dieses Feature nicht ein, wenn `hive.exec.parallel` auf `true` eingestellt ist.

## Einschränkungen
<a name="hive-committer-limitations"></a>

Die folgenden grundlegenden Einschränkungen gelten für Tags (Markierungen):
+ Die Aktivierung von Hive für das automatische Zusammenführen kleiner Dateien wird nicht unterstützt. Die standardmäßige Hive-Commit-Logik wird auch dann verwendet, wenn der optimierte Committer aktiviert ist.
+ Hive-ACID-Tabellen werden nicht unterstützt. Die standardmäßige Hive-Commit-Logik wird auch dann verwendet, wenn der optimierte Committer aktiviert ist.
+ Die Benennungsnomenklatur für geschriebene Dateien wurde von Hives von `<task_id>_<attempt_id>_<copy_n>` auf `<task_id>_<attempt_id>_<copy_n>_<query_id>` geändert. Zum Beispiel eine Datei mit dem Namen 

  `s3://warehouse/table/partition=1/000000_0` wird geändert zu `s3://warehouse/table/partition=1/000000_0-hadoop_20210714130459_ba7c23ec-5695-4947-9d98-8a40ef759222-1`. Das `query_id` hier ist eine Kombination aus Benutzername, Zeitstempel und UUID.
+ Wenn sich benutzerdefinierte Partitionen auf verschiedenen Dateisystemen (HDFS, S3) befinden, wird dieses Feature automatisch deaktiviert. Wenn sie aktiviert ist, wird die standardmäßige Hive-Commit-Logik verwendet.

# Verwendung von S3 Select mit Hive zur Verbesserung der Leistung
<a name="emr-hive-s3select"></a>

**Wichtig**  
Amazon S3 Select ist für Neukunden nicht mehr verfügbar. Bestandskunden von Amazon S3 Select können das Feature weiterhin wie gewohnt nutzen. [Weitere Informationen](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) 

Mit Amazon-EMR-Version 5.18.0 und höher können Sie [S3 Select](https://aws.amazon.com/blogs/aws/s3-glacier-select/) mit Hive auf Amazon EMR verwenden. S3 Select ermöglicht es Anwendungen, nur eine Teilmenge von Daten aus einem Objekt abzurufen. Bei Amazon EMR wird die numerische Arbeit zur Filterung großer Datensätze von dem Cluster an Amazon S3 ausgelagert. Dies kann die Leistung in einigen Anwendungen verbessern und reduziert die Menge der zwischen Amazon EMR und Amazon S3 übertragenen Daten.

S3 Select wird mit Hive-Tabellen auf der Grundlage von CSV- und JSON-Dateien und durch die Einstellung der Konfigurationsvariablen `s3select.filter` auf `true` während der Hive-Sitzung unterstützt. Weitere Informationen und Beispiele finden Sie unter [Angeben von S3 Select in Ihrem Code](#emr-hive-s3select-specify).

## Ist S3 Select das Richtige für meine Anwendung?
<a name="emr-hive-s3select-apps"></a>

Wir empfehlen, dass Sie Benchmark-Tests für Ihre Anwendungen im Vergleich mit und ohne S3 Select durchführen, um zu sehen, ob es für Ihre Anwendung geeignet sein könnte.

Verwenden Sie die folgenden Richtlinien, um zu bestimmen, ob Ihre Anwendung ein Kandidat für die Verwendung von S3 ist:
+ Ihre Abfrage filtert mehr als die Hälfte des ursprünglichen Datensatzes.
+ Ihre Abfrage-Filterprädikate verwenden Spalten mit einem Datentyp, der von Amazon S3 Select unterstützt wird. Weitere Informationen finden Sie unter [Datentypen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-data-types.html) im *Benutzerhandbuch für Amazon Simple Storage Service*.
+ Ihre Netzwerkverbindung zwischen Amazon S3 und dem Amazon-EMR-Cluster hat eine gute Übertragungsgeschwindigkeit und verfügbare Bandbreite. Amazon S3 komprimiert keine HTTP-Antworten, sodass die Antwortgröße bei komprimierten Eingabedateien wahrscheinlich zunimmt.

## Überlegungen und Einschränkungen
<a name="emr-hive-s3select-considerations"></a>
+ Die Amazon-S3-serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) und die clientseitige Verschlüsselung werden nicht unterstützt. 
+ Die Eigenschaft `AllowQuotedRecordDelimiters` wird nicht unterstützt. Wenn diese Eigenschaft angegeben ist, schlägt die Abfrage fehl.
+ Nur CSV- und JSON-Dateien im UTF-8-Format werden unterstützt. Mehrzeilig CSVs und JSON werden nicht unterstützt.
+ Nur unkomprimierte oder gzip- oder bzip2-Dateien werden unterstützt.
+ Kommentarzeichen auf der letzten Zeile werden nicht unterstützt.
+ Leere Zeilen am Ende einer Datei werden nicht verarbeitet.
+ Hive auf Amazon EMR unterstützt die primitiven Datentypen, die S3 Select unterstützt. Weitere Informationen finden Sie unter [Datentypen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-data-types.html) im *Benutzerhandbuch für Amazon Simple Storage Service*.

## Angeben von S3 Select in Ihrem Code
<a name="emr-hive-s3select-specify"></a>

Um S3 Select in Ihrer Hive-Tabelle zu verwenden, erstellen Sie die Tabelle durch Angabe von `com.amazonaws.emr.s3select.hive.S3SelectableTextInputFormat` als `INPUTFORMAT`-Klassenname, und geben Sie einen Wert für die Eigenschaft `s3select.format` mit der `TBLPROPERTIES`-Klausel an.

S3 Select ist standardmäßig deaktiviert, wenn Sie Abfragen ausführen. Aktivieren Sie S3 Select, indem Sie `s3select.filter` auf `true` in Ihrer Hive-Sitzung setzen, wie unten gezeigt. Die folgenden Beispiele zeigen, wie Sie S3 Select angeben, wenn Sie eine Tabelle aus CSV- und JSON-Dateien erstellen und anschließend die Tabelle mit einer einfachen Select-Anweisung abfragen.

**Example CREATE-TABLE-Anweisung für CSV-basierte Tabelle**  

```
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 CREATE-TABLE-Anweisung für JSON-basierte Tabelle**  

```
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-Anweisung**  

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

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

Hive speichert eine Liste von Partitionen für jede Tabelle in seinem Metastore. Wenn Partitionen jedoch direkt zum Dateisystem hinzugefügt oder daraus entfernt werden, bemerkt der Hive-Metastore diese Änderungen nicht. Der [MSCK-Befehl](https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl#LanguageManualDDL-RecoverPartitions(MSCKREPAIRTABLE)) aktualisiert die Partitionsmetadaten im Hive-Metastore für Partitionen, die direkt zum Dateisystem hinzugefügt oder daraus entfernt wurden. Die Syntax für den Befehl lautet:

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

Hive implementiert diesen Befehl wie folgt:

1. Hive ruft alle Partitionen für die Tabelle aus dem Metastore ab. Aus der Liste der Partitionspfade, die im Dateisystem nicht existieren, wird dann eine Liste von Partitionen erstellt, die aus dem Metastore gelöscht werden sollen.

1. Hive sammelt die im Dateisystem vorhandenen Partitionspfade, vergleicht sie mit der Liste der Partitionen aus dem Metastore und generiert eine Liste von Partitionen, die dem Metastore hinzugefügt werden müssen.

1. Hive aktualisiert den Metastore im Modus `ADD`, `DROP` oder `SYNC`.

**Anmerkung**  
Wenn der Metastore viele Partitionen enthält, dauert die Ausführung des Schritts zur Überprüfung, ob eine Partition nicht im Dateisystem existiert, sehr lange, da der `exists`-API-Aufruf des Dateisystems für jede Partition erfolgen muss.

In Amazon EMR 6.5.0 führte Hive ein Flag mit dem Namen `hive.emr.optimize.msck.fs.check` ein. Wenn diese Option aktiviert ist, überprüft Hive anhand der Liste der Partitionspfade aus dem Dateisystem, die in Schritt 2 oben generiert wurde, ob eine Partition vorhanden ist, anstatt Dateisystem-API-Aufrufe durchzuführen. In Amazon EMR 6.8.0 hat Hive diese Optimierung standardmäßig aktiviert, sodass das Flag `hive.emr.optimize.msck.fs.check` nicht mehr gesetzt werden muss.

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

Amazon EMR 6.0.0 unterstützt die Live Long and Process (LLAP)-Funktionalität für Hive. LLAP verwendet persistente Daemons mit intelligentem In-Memory-Caching, um die Abfrageleistung im Vergleich zum vorherigen Standard-Tez-Container-Ausführungsmodus zu verbessern.

Die Hive LLAP-Daemons werden als YARN-Service verwaltet und ausgeführt. Da ein YARN-Service als lange laufende YARN-Anwendung betrachtet werden kann, sind einige Ihrer Cluster-Ressourcen für Hive LLAP dediziert und können nicht für andere Workloads verwendet werden. Weitere Informationen finden Sie unter [LLAP](https://cwiki.apache.org/confluence/display/Hive/LLAP) und [YARN Service API (YARN-Service-API)](https://hadoop.apache.org/docs/r3.2.1/hadoop-yarn/hadoop-yarn-site/yarn-service/YarnServiceAPI.html).

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

Wenn Sie Hive LLAP auf Amazon EMR aktivieren möchten, geben Sie beim Starten eines Clusters die folgende Konfiguration an. 

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

Weitere Informationen finden Sie unter [Konfigurieren von Anwendungen](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html).

Standardmäßig weist Amazon EMR etwa 60 Prozent der Cluster-YARN-Ressourcen Hive-LLAP-Daemons zu. Sie können den Anteil der dem Hive LLAP zugewiesenen Cluster-YARN-Ressource und die Anzahl der Aufgaben- und Core-Knoten, die für die Hive LLAP-Zuweisung berücksichtigt werden sollen, konfigurieren.

Die folgende Konfiguration startet beispielsweise Hive LLAP mit drei Daemons auf drei Aufgaben- oder Core-Knoten und weist 40 Prozent der YARN-Ressourcen der drei Kern- oder Aufgabenknoten den Hive LLAP-Daemons zu.

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

Sie können die folgenden `hive-site`-Konfigurationen in der Klassifikations-API verwenden, um Standard-LLAP-Ressourceneinstellungen außer Kraft zu setzen.


| Property (Eigenschaft) | Description (Beschreibung) | 
| --- | --- | 
| hive.llap.daemon.yarn.container.mb | Gesamtgröße des LLAP-Daemons (in MB) | 
| hive.llap.daemon.memory.per.instance.mb |  Der Gesamtspeicher, der von Executoren im LLAP-Daemon-Container verwendet wird (in MB)  | 
| hive.llap.io.memory.size |  Cachegröße für LLAP-Ein-/Ausgabe  | 
| hive.llap.daemon.num.executors |  Anzahl der Executoren pro LLAP-Daemon  | 

## Starten Sie LLAP manuell auf Ihrem Cluster
<a name="emr-llap-manually"></a>

Alle von LLAP verwendeten Abhängigkeiten und Konfigurationen werden als Teil des Cluster-Startups in das LLAP-tar-Archiv gepackt. Wenn LLAP mithilfe von `"hive.llap.enabled": "true"` aktiviert wird, ist es empfehlenswert, Konfigurationsänderungen an LLAP mithilfe der Amazon-EMR-Neukonfiguration vorzunehmen.

Andernfalls müssen Sie bei manuellen Änderungen an `hive-site.xml`, das LLAP-tar-Archiv mithilfe des `hive --service llap`-Befehls neu erstellen, wie im folgenden Beispiel gezeigt wird. 

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

## Überprüfen Sie den LLAP-Status
<a name="emr-llap-check"></a>

Verwenden Sie den folgenden Befehl, um den Status von Hive LLAP über Hive zu überprüfen.

```
hive --service llapstatus
```

Verwenden Sie den folgenden Befehl, um den Status von Hive LLAP mit YARN zu überprüfen.

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

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

## Starten oder stoppen Sie Hive LLAP
<a name="emr-llap-start"></a>

Da Hive LLAP als persistenter YARN-Service ausgeführt wird, müssen Sie den YARN-Service stoppen oder neu starten, um Hive LLAP zu stoppen oder neu zu starten. Die folgenden Befehle veranschaulichen dies. 

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

## So ändern Sie die Größe der Hive LLAP-Daemons
<a name="emr-llap-resize"></a>

Verwenden Sie den folgenden Befehl, um die Anzahl der LLAP-Instances zu reduzieren. 

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

Weitere Informationen finden Sie unter [Flexible auf eine Komponente eines Services reagieren](https://hadoop.apache.org/docs/r3.2.1/hadoop-yarn/hadoop-yarn-site/yarn-service/QuickStart.html#Flex_a_component_of_a_service). 

# Verschlüsselung im Hive
<a name="hive-encryption"></a>

In diesem Abschnitt werden die Verschlüsselungstypen beschrieben, die Amazon EMR unterstützt.

# Modulare Parquet-Verschlüsselung in Hive
<a name="hive-parquet-modular-encryption"></a>

Die modulare Verschlüsselung von Parquet bietet Zugriffskontrolle und Verschlüsselung auf Spaltenebene, um den Datenschutz und die Datenintegrität für Daten zu verbessern, die im Parquet-Dateiformat gespeichert sind. Dieses Feature ist in Amazon EMR Hive ab Version 6.6.0 verfügbar.

Bisher unterstützte Lösungen für Sicherheit und Integrität, die das Verschlüsseln von Dateien oder das Verschlüsseln der Speicherebene beinhalten, werden im Verwaltungshandbuch für Amazon EMR unter [Verschlüsselungsoptionen](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) beschrieben. Diese Lösungen können für Parquet-Dateien verwendet werden, aber die Nutzung der neuen Features des integrierten Parquet-Verschlüsselungsmechanismus ermöglicht einen detaillierten Zugriff auf die Spaltenebene sowie Verbesserungen in Bezug auf Leistung und Sicherheit. Weitere Informationen zu diesem Feature finden Sie auf der Apache-Github-Seite [Parquet Modular](https://github.com/apache/parquet-format/blob/master/Encryption.md) Encryption.

Benutzer geben Konfigurationen mithilfe von Hadoop-Konfigurationen an Parquet-Leser und -Writer weiter. Die detaillierten Konfigurationen für Benutzer, um Reader und Writer so zu konfigurieren, dass sie die Verschlüsselung aktivieren und erweiterte Features umschalten, sind unter [PARQUET-1854: Eigenschaftsgesteuerte Schnittstelle zu Parquet](https://docs.google.com/document/d/1boH6HPkG0ZhgxcaRkGk3QpZ8X_J91uXZwVGwYN45St4/edit) Encryption Management dokumentiert 

## Verwendungsbeispiele
<a name="usage-examples"></a>

Das folgende Beispiel behandelt das Erstellen und Schreiben in eine Hive-Tabelle mit AWS KMS , die zur Verwaltung von Verschlüsselungsschlüsseln verwendet wird.

1. Implementieren Sie a KmsClient für den AWS KMS Dienst, wie im Dokument [PARQUET-1373:](https://docs.google.com/document/d/1bEu903840yb95k9q2X-BlsYKuXoygE4VnMDl9xz_zhk/edit) Encryption Key Management Tools beschrieben. Das folgende Beispiel zeigt einen Implementierungsausschnitt.

   ```
   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. *Erstellen Sie Ihre AWS KMS Verschlüsselungsschlüssel für die Fußzeile sowie für die Spalten, auf die Ihre IAM-Rollen Zugriff haben, wie unter Schlüssel [erstellen](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) im Entwicklerhandbuch beschrieben.AWS Key Management Service * Die Standard-IAM-Rolle ist EMR\$1ECS\$1Default.

1. Fügen Sie in der Hive-Anwendung auf einem Amazon-EMR-Cluster den obigen Client mithilfe der `ADD JAR`-Anweisung hinzu, wie in der [Apache-Hive-Resources-Dokumentation](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli#LanguageManualCli-HiveResources) beschrieben. Nachfolgend finden Sie eine Beispielanweisung:

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

   Eine alternative Methode besteht darin, das JAR mithilfe einer Bootstrap-Aktion zur `auxlib`-Datei von Hive hinzuzufügen. Im Folgenden finden Sie eine Beispielzeile, die der Boostrap-Aktion hinzugefügt werden soll:

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

1. Legen Sie die folgenden Konfigurationen fest:

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

1. Erstellen Sie eine Hive-Tabelle im Parquet-Format, geben Sie die AWS KMS Schlüssel in SERDEPROPERTIES an und fügen Sie einige Daten ein:

   ```
   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. Stellen Sie sicher, dass Sie die Daten nicht lesen können, wenn Sie am selben Speicherort eine externe Tabelle ohne Zugriff auf AWS KMS Schlüssel erstellen (z. B. wenn der Zugriff auf die IAM-Rolle verweigert wurde).

   ```
   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. Die letzte Anweisung sollte die folgende Ausnahme auslösen:

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

# Verschlüsselung während der Übertragung in 2 HiveServer
<a name="hs2-encryption-intransit"></a>

Ab Amazon EMR Version 6.9.0 ist HiveServer 2 (HS2) als Teil der Sicherheitskonfiguration TLS/SSL-fähig. [Verschlüsselung während der Übertragung in 2 HiveServer](#hs2-encryption-intransit) Dies wirkt sich darauf aus, wie Sie eine Verbindung zur HS2 Ausführung auf einem Amazon EMR-Cluster herstellen, bei dem die Verschlüsselung während der Übertragung aktiviert ist. Um eine Verbindung herzustellen HS2, müssen Sie die `TRUSTSTORE_PASSWORD` Parameterwerte `TRUSTSTORE_PATH` und in der JDBC-URL ändern. Die folgende URL ist ein Beispiel für eine JDBC-Verbindung für HS2 mit den erforderlichen Parametern: 

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

Verwenden Sie die unten stehenden Anweisungen für die Verschlüsselung auf dem Cluster oder außerhalb von Cluster 2. HiveServer

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

Wenn Sie mit dem Beeline-Client auf HiveServer 2 zugreifen, nachdem Sie eine SSH-Verbindung zum Primärknoten hergestellt haben, verweisen Sie auf die Suche `/etc/hadoop/conf/ssl-server.xml` nach den Parameterwerten und mithilfe von Konfiguration `TRUSTSTORE_PATH` und`TRUSTSTORE_PASSWORD`. `ssl.server.truststore.location` `ssl.server.truststore.password`

Die folgenden Beispielbefehle können Ihnen beim Abrufen dieser Konfigurationen helfen:

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

 Wenn Sie von einem Client außerhalb des Amazon EMR-Clusters auf HiveServer 2 zugreifen, können Sie einen der folgenden Ansätze verwenden, um das und abzurufen: `TRUSTSTORE_PATH` `TRUSTSTORE_PASSWORD`
+ Konvertieren Sie die PEM-Datei, die während der [Sicherheitskonfiguration erstellt wurde, in eine JKS-Datei und verwenden](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html) Sie dieselbe in der JDBC-Verbindungs-URL. Verwenden Sie für openssl und keytool die folgenden Befehle:

  ```
  openssl pkcs12 -export -in trustedCertificates.pem -inkey privateKey.pem -out trustedCertificates.p12 -name "certificate"
  keytool -importkeystore -srckeystore trustedCertificates.p12 -srcstoretype pkcs12 -destkeystore trustedCertificates.jks
  ```
+ Alternativ können Sie auf `/etc/hadoop/conf/ssl-server.xml` verweisen, um die Parameterwerte `TRUSTSTORE_PATH` und `TRUSTSTORE_PASSWORD` mithilfe der Konfiguration `ssl.server.truststore.location` und `ssl.server.truststore.password` zu finden. Laden Sie die Truststore-Datei auf den Client-Computer herunter und verwenden Sie den Pfad auf dem Client-Computer als `TRUSTSTORE_PATH`.

  Weitere Informationen zum Zugriff auf Anwendungen von einem Client außerhalb des Amazon-EMR-Clusters finden Sie unter [Verwenden des Hive-JDBC-Treibers](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/HiveJDBCDriver.html). 

------

# Versionsverlauf von Hive
<a name="Hive-release-history"></a>

In der folgenden Tabelle sind die Version von Hive aufgeführt, die in jeder Release-Version von Amazon EMR enthalten ist, zusammen mit den Komponenten, die mit der Anwendung installiert wurden. Informationen zu den Komponentenversionen in den einzelnen Versionen finden Sie im Abschnitt Komponentenversion für Ihre Version in [Amazon-EMR-7.x-Versionen](emr-release-7x.md), [Amazon-EMR-6.x-Versionen](emr-release-6x.md) oder [Amazon-EMR-5.x-Versionen](emr-release-5x.md).


**Die Versionsinformationen von Hive**  

| Amazon-EMR-Versionsbezeichnung | Hive-Version | Mit Hive installierte Komponenten | 
| --- | --- | --- | 
| 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-Versionshinweise nach Version
<a name="Hive-release-history-versions"></a>

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

# Amazon EMR 7.10.0 — Versionshinweise zu Hive
<a name="Hive-release-history-7100"></a>

## Amazon EMR 7.10.0 — Hive-Änderungen
<a name="Hive-release-history-changes-7100"></a>


****  

| Typ | Description | 
| --- | --- | 
| Fehlerbehebung | [Fehler an der Hive-Seite für TEZ-4595 behoben.](https://issues.apache.org/jira/browse/TEZ-4595) | 

**Bekannte Probleme**
+ AWS EMR von EMR-7.10.0 verwendet jetzt S3A als Standarddateisystem (ersetzt EMRFS), was bedeutet, dass Hive-Operationen in S3 keine `_$folder$` Markerobjekte mehr erstellen und die in Hive-Schreibabfragen verwendeten Zwischenmanifestdateien im Vergleich zu HDFS von EMRFS jetzt in S3 gespeichert werden. [Hinweise zur Verwendung von S3A finden Sie im Migrationshandbuch.](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-s3a-migrate.html)
+ Von EMR-7.3.0 bis EMR-7.10.0 gibt es aufgrund der Hive Iceberg-Integration einen Bug, der dazu führt, dass die HBase Tabellenerstellung in Hive fehlschlägt, wenn AWS Glue Data Catalog als Metastore verwendet wird. Bitte wenden Sie sich an das Support-Team, wenn Sie auf dieses Problem stoßen. AWS 

# Amazon EMR 7.9.0 — Versionshinweise zu Hive
<a name="Hive-release-history-790"></a>

## Amazon EMR 7.9.0 — Hive-Änderungen
<a name="Hive-release-history-changes-790"></a>


****  

| Typ | Description | 
| --- | --- | 
| Fehlerbehebung | Hive Blobstore Committer sollte nicht verwendet werden, wenn die über CTAS erstellte Tabelle ACID ist. | 
| Fehlerbehebung | [HIVE-26096](https://issues.apache.org/jira/browse/HIVE-26096): Wenn Sie eine einspaltige Tabelle auswählen, wird AIOBE ausgelöst (\$13158). MultiDelimitSerDe  | 
| Upgrade | [https://issues.apache.org/jira/browse/HIVE-26954](https://issues.apache.org/jira/browse/HIVE-26954) | 

**Bekannte Probleme**
+ Für Hive Insert Overwrite-Abfragen mit Amazon S3 Express One Zone als Ausgabespeicherort setzen Sie die Core-Site-Konfiguration: auf. `fs.s3a.directory.operations.purge.uploads` `false`
+ Von EMR-7.3.0 bis EMR-7.10.0 gibt es aufgrund der Hive Iceberg-Integration einen Bug, der dazu führt, dass die HBase Tabellenerstellung in Hive fehlschlägt, wenn AWS Glue Data Catalog als Metastore verwendet wird. Bitte wenden Sie sich an das Support-Team, wenn Sie auf dieses Problem stoßen. AWS 

# Amazon EMR 7.8.0 — Versionshinweise zu Hive
<a name="Hive-release-history-780"></a>

## Amazon EMR 7.8.0 — Hive-Änderungen
<a name="Hive-release-history-changes-780"></a>


****  

| Typ | Description | 
| --- | --- | 
| Fehlerbehebung | Behebt CVE-2024-23953: Apache Hive: Timing-Angriff gegen Signaturen in LLAP. | 

**Bekannte Probleme**
+ Für Hive Insert Overwrite-Abfragen mit Amazon S3 Express One Zone als Ausgabespeicherort setzen Sie die Core-Site-Konfiguration: auf. `fs.s3a.directory.operations.purge.uploads` `false`

# Amazon EMR 7.7.0 — Versionshinweise zu Hive
<a name="Hive-release-history-770"></a>

## Amazon EMR 7.7.0 — Hive-Änderungen
<a name="Hive-release-history-changes-770"></a>


****  

| Typ | Description | 
| --- | --- | 
| Fehlerbehebung | Behebt CVE-2024-29869: Apache Hive: Anmeldeinformationsdatei, die mit nicht einschränkenden Berechtigungen erstellt wurde. | 
| Fehlerbehebung | Behebt das Problem SemanticException , dass in Apache Ran eine Filterrichtlinie auf Zeilenebene aktiviert ist. | 
| Fehlerbehebung | Deaktiviert Tez Async Init RR, wenn LLAP oder ACID aktiviert sind. | 

**Bekannte Probleme**
+ Für Hive Insert Overwrite-Abfragen mit Amazon S3 Express One Zone als Ausgabespeicherort setzen Sie die Core-Site-Konfiguration: auf. `fs.s3a.directory.operations.purge.uploads` `false`

# Amazon EMR 7.6.0 — Versionshinweise zu Hive
<a name="Hive-release-history-760"></a>

## Amazon EMR 7.6.0 — Hive-Änderungen
<a name="Hive-release-history-changes-760"></a>


****  

| Typ | Description | 
| --- | --- | 
| Verbesserung | Schnelle Funktion zum Auflisten von S3-Präfixen für ORC-Tabellen ohne ACID-Partition hinzugefügt | 
| Feature | Unterstützung für Magic Committers for Hive Write Queries auf dem S3-System hinzugefügt AFile | 

**Bekannte Probleme**
+ Für Hive Insert Overwrite-Abfragen mit Amazon S3 Express One Zone als Ausgabespeicherort setzen Sie die Core-Site-Konfiguration: auf. `fs.s3a.directory.operations.purge.uploads` `false`

### Amazon EMR 7.6.0 — Neue Konfigurationen
<a name="Hive-release-history-changes-760-new-configs"></a>


****  

| Klassifizierung | Name | Standard | Description | 
| --- | --- | --- | --- | 
| hive-site | `hive.exec.fast.s3.partition.discovery.enabled` | true | Ob die schnelle S3-Partitionserkennung für die Split-Berechnung verwendet werden soll. Dadurch wird eine präfixbasierte Auflistung für unterstützte Dateiformate ermöglicht: ORC. Beachten Sie, dass diese Funktion einen S3-API-Parameter verwendet, den die S3 Express One Zone-Speicherklasse nicht unterstützt. Wenn Sie sie verwenden, deaktivieren Sie diese Funktion. | 
| hive-site | `hive.exec.fast.s3.partition.discovery.max.thread.threshold` | 128 | Der maximale Grad an Parallelität für die schnelle Erkennung von S3-Partitionen. | 
| hive-site | `hive.exec.fast.s3.partition.discovery.parallelism` | 10 | Der Grad der Parallelität eines einzelnen Durchlaufs einer schnellen S3-Partitionserkennung. Diese Konfiguration hat nur Auswirkungen, wenn sie auf gesetzt `hive.exec.fast.s3.partition.discovery.enabled` ist `true` | 
| hive-site | `hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` | true | Markierung zum Umschalten, soll Magic Committer mit Hive alle ausstehenden Commits im Speicher verfolgen? Der Magic-Committer bietet die Möglichkeit, die Commit-Daten im Speicher zu speichern, was den TaskCommit Vorgang beschleunigen kann, da weniger S3-Aufrufe getätigt werden. Diese Konfiguration überschreibt die Hadoop-Konfiguration `fs.s3a.committer.magic.track.commits.in.memory.enabled` | 
| hive-site | `hive.blobstore.output-committer.dp.skip.task.staging.dir.creation` | true | Markierung zum Umschalten, sollte Magic Committer die DP-Staging-Pfade im Blobstore erstellen? Dieses Flag gilt nur für die Nachverfolgung von Commits im Speicher, wenn Hive Magic Committer via verwendet. `hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` Standardmäßig ist es auf „true“ gesetzt, aber es ist nur wirksam, wenn es aktiviert `hive.blobstore.output-committer.magic.track.commits.in.memory.enabled` ist, und speichert zusätzliche S3-Aufrufe von Pfaden zum Erstellen von Aufgaben im Blobstore. | 
| hive-site | `hive.blobstore.output-committer.magic.disable.fs.cache.for.llap` | true | Markierung, um umzuschalten, ob Blobstore-FS-Caches in Schreibabläufen für LLAP deaktiviert werden sollen, wenn Magic Committer verwendet wird. Dieses Flag wird angezeigt, wenn LLAP aktiviert ist, und ist standardmäßig auf true gesetzt. | 

# Amazon EMR 7.5.0 — Versionshinweise zu Hive
<a name="Hive-release-history-750"></a>

## Amazon EMR 7.5.0 — Hive-Änderungen
<a name="Hive-release-history-changes-750"></a>


****  

| Typ | Description | 
| --- | --- | 
| Verbesserung | Die maximale Wartezeit auf das Öffnen der Tez-Sitzung beim Versuch, die bestehende Sitzung in HiveCLI zu verwenden, wurde auf 10 Sekunden erhöht | 
| Verbesserung | Optimierte Konfigurationen zur Verbesserung der Leistung bei einfachen Auswahlabfragen mit LIMIT | 

# Amazon EMR 7.4.0 — Versionshinweise zu Hive
<a name="Hive-release-history-740"></a>

## Amazon EMR 7.4.0 — Hive-Änderungen
<a name="Hive-release-history-changes-740"></a>


****  

| Typ | Description | 
| --- | --- | 
| Upgrade | [HIVE-28191](https://issues.apache.org/jira/browse/HIVE-28191): Aktualisieren Sie die Hadoop-Version auf 3.4.0 | 
| Upgrade |  Aktualisieren Sie den Hadoop Shared Protobug auf 3.21 | 
| Upgrade | Aktualisieren Sie commons-cli auf 1.5.0 | 
| Upgrade | Aktualisieren Sie Commons-Compress auf 1.24.0 | 
| Upgrade | Aktualisieren Sie commons-io auf 2.14.0 | 
| Upgrade | Aktualisieren Sie commons-lang3 auf 3.21.0 | 
| Verbesserung | Ändern Sie die Wartezeit auf das Öffnen der Tez-Sitzung, während Sie versuchen, die bestehende Sitzung in HiveCLI zu verwenden, auf 10s | 
| Verbesserung | Aktivieren Sie den Kurzschlussmechanismus in Tez DAG für einfache Select-Abfragen mit LIMIT | 
| Verbesserung | [HIVE-21100](https://issues.apache.org/jira/browse/HIVE-21100): Erlaubt das Reduzieren von Tabellenunterverzeichnissen, das bei der Verwendung der TEZ-Engine und der UNION-Klausel entstanden ist | 
| Fehlerbehebung | [HIVE-25095](https://issues.apache.org/jira/browse/HIVE-25095): Der Befehl -e kann Abfragen mit nachgestellten Anführungszeichen nicht verarbeiten Beeline/hive  | 
| Fehlerbehebung | [HIVE-13781](https://issues.apache.org/jira/browse/HIVE-13781): Tez-Job ist fehlgeschlagen, wenn das Partitionsverzeichnis nicht existiert FileNotFoundException  | 
| Fehlerbehebung | [HIVE-28480](https://issues.apache.org/jira/browse/HIVE-28480): Deaktivieren Sie SMB, wenn der Partitions-Hashgenerator in früheren RS nicht übereinstimmt | 

### Amazon EMR 7.4.0 — Neue Konfigurationen
<a name="Hive-release-history-changes-740-new-configs"></a>


****  

| Klassifizierung | Name | Standard | Description | 
| --- | --- | --- | --- | 
| hive-site | hive.ignore.failure.partition.dir.not.found | false | Ignoriert den Fehler, wenn die Tabellenpartition existiert, der tatsächliche Objektspeicherpfad jedoch nicht existiert. | 
| hive-site | hive.tez.union.flatten.Unterverzeichnisse | false | Wenn Daten in eine Tabelle geschrieben werden und UNION ALL der letzte Schritt der Abfrage ist, erstellt Hive on Tez ein Unterverzeichnis für jeden Zweig von UNION ALL. Wenn diese Eigenschaft aktiviert ist, werden die Unterverzeichnisse entfernt und die Dateien werden umbenannt und in das übergeordnete Verzeichnis verschoben. Beachten Sie, dass dies keine Auswirkung hat, wenn hive.blobstore.use.output-committer aktiviert ist. | 

# Amazon EMR 7.3.0 — Versionshinweise zu Hive
<a name="Hive-release-history-730"></a>

## Amazon EMR 7.3.0 — Hive-Änderungen
<a name="Hive-release-history-changes-730"></a>


****  

| Typ | Description | 
| --- | --- | 
| Feature | [HIVE-18728](https://issues.apache.org/jira/browse/HIVE-18728) — Sicheres Internet mit SSL. HCat  | 
| Verbesserung | Support Konfiguration von SSL-Keystore-Anmeldeinformationen für die LLAP-Daemon-Webbenutzeroberfläche. | 
| Verbesserung | Stellen Sie eine Option zur Steuerung der SSL-Hostnamen-Überprüfung für den Hive-Metastore-Server bereit. | 
| Fehlerbehebung | [HIVE-26541](https://issues.apache.org/jira/browse/HIVE-26541) — NPE beim Starten des Webdienstes. HCat  | 
| Fehlerbehebung | [HIVE-23011](https://issues.apache.org/jira/browse/HIVE-23011) — Der Shared Work Optimizer sollte beim Vergleich von Joins die verbleibenden Prädikate überprüfen. | 
| Fehlerbehebung | Korrigieren **Sie javax.security.sasl. SaslException**: Keine gemeinsame Schutzschicht zwischen Client und Server zwischen HMS und Namenode, wenn In-Transit-Verschlüsselung aktiviert ist. | 
| Fehlerbehebung | Problem **IOException**behoben, bei dem sich das Ende der Orc-Aufteilung mit dem Anfang einer Blockposition überschneidet. | 
| Fehlerbehebung | Verwenden Sie das Trennzeichen für Spaltennamen, anstatt immer durch Komma zu trennen, wenn Spaltennamen Kommazeichen enthalten, und verwenden Sie. CSVSerde | 

### Amazon EMR 7.3.0 — Neue Konfigurationen
<a name="Hive-release-history-changes-730-new-configs"></a>


****  

| Klassifizierung | Name | Standard | Description | 
| --- | --- | --- | --- | 
| hcatalog-webhcat-site | templeton.use.ssl | false | Setzen Sie diesen Wert auf true, um die SSL-Verschlüsselung für den Webserver zu verwenden. HCat  | 
| hcatalog-webhcat-site | templeton.keystore.path |  | Speicherort des SSL-Zertifikats-Keystores für den Webserver. HCat  | 
| hcatalog-webhcat-site | templeton.keystore.password |  | Keystore-Passwort für das SSL-Zertifikat für den Webserver. HCat  | 
| hcatalog-webhcat-site | templeton.ssl.protocol.blacklist | SSLv2, SSLv3 | Zu deaktivierende SSL-Versionen für Webserver. HCat  | 
| hcatalog-webhcat-site | templeton.host | 0.0.0.0 | Die Hostadresse, die der HCat Webserver abhören wird. | 
| hive-site | hive.metastore.ssl.enable.hostname.verification | false | Kontrollieren Sie die Überprüfung des Hostnamens beim Handshaking. SSL/TLS  | 
| hive-site | hive.llap.daemon.web.ssl.keystore.path |  | Keystore-Speicherort des SSL-Zertifikats für die Webbenutzeroberfläche des LLAP-Daemons. | 
| hive-site | hive.llap.daemon.web.ssl.keystore.password |  | Keystore-Passwort für das SSL-Zertifikat für die Web-Benutzeroberfläche des LLAP-Daemons. | 
| hive-site | hive.metastore.hadoop.rpc.protection.override.to.authentication | false | Wenn diese Option aktiviert ist, überschreibt HMS in seinen Konfigurationen immer den Wert für hadoop.rpc.protection für die Authentifizierung. | 

# Amazon EMR 7.2.0 — Versionshinweise zu Hive
<a name="Hive-release-history-720"></a>

## Amazon EMR 7.2.0 — Hive-Änderungen
<a name="Hive-release-history-changes-720"></a>


****  

| Typ | Description | 
| --- | --- | 
| Upgrade | [Parquet 1.13.1 — Parquet wurde auf Version 113.1](https://github.com/apache/parquet-java/blob/apache-parquet-1.13.1/CHANGES.md) aktualisiert. | 
| Verbesserung | [HIVE-12930](https://issues.apache.org/jira/browse/HIVE-12930) — Support SSL-Shuffle für LLAP. | 
| Verbesserung | [HIVE-23062](https://issues.apache.org/jira/browse/HIVE-23062) — Hive zur Überprüfung der Yarn RM-URL im TLS- und Yarn HA-Modus für eine benutzerdefinierte Tez-Warteschlange. | 
| Fehlerbehebung | [HIVE-27952](https://issues.apache.org/jira/browse/HIVE-27952) — Hive kann nicht erstellt werden, wenn mehrere Zertifikate vorhanden sind. SslContextFactory KeyStore  | 
| Fehlerbehebung | [HIVE-28085](https://issues.apache.org/jira/browse/HIVE-28085) — kann nicht auf HTTPS-fähiges YARN zugreifen. YarnQueueHelper WebService | 
| Fehlerbehebung | [HIVE-26436](https://issues.apache.org/jira/browse/HIVE-26436) — Hive auf MR NullPointerException Wenn InitializeOp nicht aufgerufen wurde und close aufgerufen wurde. Wenn der Operator nicht initialisiert wurde, überspringen Sie das Schließen.. | 

### Amazon EMR 7.2.0 — Neue Konfigurationen
<a name="Hive-release-history-changes-720-new-configs"></a>


****  

| Klassifizierung | Name | Standard | Description | 
| --- | --- | --- | --- | 
| hive-site | hive.llap.shuffle.ssl.enabled | false | *Zusammen mit tez.runtime.shuffle.ssl.enable auf true setzen, um SSL-Shuffle für LLAP zu aktivieren.* | 

# Amazon EMR 7.1.0 — Versionshinweise zu Hive
<a name="Hive-release-history-710"></a>

## Amazon EMR 7.1.0 — Hive-Änderungen
<a name="Hive-release-history-changes-6150"></a>


****  

| Typ | Description | 
| --- | --- | 
| Fehlerbehebung | [HIVE-24381](https://issues.apache.org/jira/browse/HIVE-24381) — Komprimierte Texteingabe gibt 0 Zeilen zurück, wenn Skip enthalten ist. header/footer  | 
| Fehlerbehebung | [HIVE-24190](https://issues.apache.org/jira/browse/HIVE-24190) — LLAP: ShuffleHandler könnte laut TEZ-4233 DISK\$1ERROR\$1EXCEPTION zurückgeben. | 
| Fehlerbehebung | [HIVE-23073](https://issues.apache.org/jira/browse/HIVE-23073) — Shade Netty. | 
| Fehlerbehebung | [HIVE-23073](https://issues.apache.org/jira/browse/HIVE-23073) — Shade Netty und Upgrade auf Netty 4.1.48.Final. | 
| Fehlerbehebung | [HIVE-23148](https://issues.apache.org/jira/browse/HIVE-23148) — Der externe Llap-Clientfluss ist aufgrund von Netty Shading unterbrochen. | 
| Fehlerbehebung | [HIVE-25180](https://issues.apache.org/jira/browse/HIVE-25180) — Aktualisiert Netty. | 
| Fehlerbehebung | [HIVE-24524](https://issues.apache.org/jira/browse/HIVE-24524) — LLAP ShuffleHandler: Führen Sie ein Upgrade auf Netty4 durch und entfernen Sie die Netty3-Abhängigkeit von Hive, wo dies möglich ist. | 
| Fehlerbehebung | [HIVE-28000](https://issues.apache.org/jira/browse/HIVE-28000) — Hive QL: Die „not in“ -Klausel liefert falsche Ergebnisse, wenn kein Typenzwang stattfinden kann. | 
| Fehlerbehebung | [HIVE-27993](https://issues.apache.org/jira/browse/HIVE-27993) — Netty4 sollte einen Boss-Thread verwenden. ShuffleHandler  | 
| Upgrade | Führt ein Upgrade von Netty auf 4.1.100.Final durch | 
| Upgrade | Führt ein Upgrade von Jetty auf 9.4.53.v20231009 durch | 
| Upgrade | Führt ein Upgrade von Zookeeper auf 3.9.1 durch | 

## Amazon EMR 7.1.0 — Hive-Änderungen
<a name="emr-Hive-710-issues"></a>
+ Amazon EMR 7.1 aktualisiert Hive auf Netty 4.1.100.Final, um die Sicherheitslücken in Netty3 zu beheben. Da Hive von Netty3 abhängig ist, hive-druid-handler hat Hive das `hive-druid-handler` JAR nicht im Klassenpfad von Hive in Amazon EMR 7.1. Eine bevorstehende Amazon EMR-Version wird es in den Klassenpfad von Hive aufnehmen, sobald der Druid-Handler 4.1.100.Final oder spätere Versionen von Netty unterstützt. Wenden Sie sich an den AWS Support, wenn Sie das `hive-druid-handler` JAR in Amazon EMR-Versionen 7.1 oder höher benötigen.

# Amazon EMR 7.0.0 — Versionshinweise zu Hive
<a name="Hive-release-history-700"></a>

## Amazon EMR 7.0.0 — Hive-Änderungen
<a name="Hive-release-history-changes-700"></a>


****  

| Typ | Description | 
| --- | --- | 
| Upgrade | Hive Runtime verwendet jetzt standardmäßig Java 17. Weitere Informationen finden Sie im [EMR 7.0.0 Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-700-release.html). | 
| Backport | [HIVE-17709](https://issues.apache.org/jira/browse/HIVE-17709): Sun.Misc.Cleaner-Referenzen entfernen | 
| Fehlerbehebung | Deaktiviere Tez Async Init RR, wenn LLAP oder ACID aktiviert sind  | 

# Amazon EMR 6.15.0 – Versionshinweise zu Hive
<a name="Hive-release-history-6150"></a>

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


****  

| Typ | Description | 
| --- | --- | 
| Feature | Support für [TEZ-4397](https://issues.apache.org/jira/browse/TEZ-4397) – Für das asynchrone Öffnen von Tez-Splits unterstützt Hive jetzt die unter [Asynchrone Öffnung von Tez-Splits](tez-configure.md#tez-configure-async) beschriebenen Tez-Konfigurationen. | 
| Fehlerbehebung | [HIVE-25400](https://issues.apache.org/jira/browse/HIVE-25400) – Verschieben Sie die Offset-Aktualisierung in `BytesColumnVector` nach `setValPreallocated`. | 
| Fehlerbehebung | [HIVE-25190](https://issues.apache.org/jira/browse/HIVE-25190) – Korrigiert viele kleine Zuordnungen in `BytesColumnVector`. | 
| Fehlerbehebung | Paketierung von Netty-Modulen mit Llap-Server, um *NoClassDefFound*Ausnahmen beim Starten von *LLapDaemon* auf Worker-Knoten zu vermeiden. | 
| Upgrade | Apache Hadoop auf 3.3.6 aktualisieren. | 
| Upgrade | [HIVE-26684](https://issues.apache.org/jira/browse/HIVE-26684) – Upgrade von `maven-shade-plugin` auf 3.4.1. | 
| Verbesserung | Um die Startzeit des Amazon-EMR-Clusters zu reduzieren, entfernen Sie 15 Sekunden Ruhezeit aus dem HCatalog-Startup-Skript. | 

# Amazon EMR 6.14.0 – Versionshinweise zu Hive
<a name="Hive-release-history-6140"></a>

## Amazon EMR 6.14.0 – Hive-Änderungen
<a name="Hive-release-history-changes-6140"></a>


****  

| Typ | Description | 
| --- | --- | 
|  Verbesserung  |  [HIVE-26762](https://issues.apache.org/jira/browse/HIVE-26762): Entfernen des Kürzens von Operanden in `HiveFilterSetOpTransposeRule` | 
|  Fehlerbehebung  |  [HIVE-27582](https://issues.apache.org/jira/browse/HIVE-27582): Zwischenspeichern Sie das Tabelleneingabeformat nicht in HBase FetchOperator | 
|  Fehlerbehebung  |  [HIVE-26452](https://issues.apache.org/jira/browse/HIVE-26452): NPE bei der Konvertierung von JOIN in MAPJOIN und JOIN eine Spalte, auf die mehr als einmal verwiesen wird | 
|  Fehlerbehebung  |  [HIVE-26416](https://issues.apache.org/jira/browse/HIVE-26416): `AcidUtils.isRawFormatFile()` überträgt `InvalidProtocolBufferException` zur non-ORC-Datei  | 
|  Fehlerbehebung  |  [HIVE-26105](https://issues.apache.org/jira/browse/HIVE-26105): **Spalten anzeigen** zeigt zusätzliche Werte an, wenn die Spalte **Kommentare** ein bestimmtes chinesisches Schriftzeichen enthält  | 
|  Fehlerbehebung  |  [HIVE-25864](https://issues.apache.org/jira/browse/HIVE-25864): Die Hive-Abfrageoptimierung erzeugt einen falschen Plan für die Übertragung von Prädikaten mit Fensterfunktion  | 
|  Fehlerbehebung  |  [HIVE-25224](https://issues.apache.org/jira/browse/HIVE-25224): Fehler bei mehreren INSERT-Anweisungen mit Tabellen mit unterschiedlichen `bucketing_versions`-Ergebnissen | 
|  Fehlerbehebung  |  [HIVE-24151](https://issues.apache.org/jira/browse/HIVE-24151): `MultiDelimitSerDe` verschiebt Daten, wenn Zeichenfolgen non-ASCII-Zeichen enthalten | 
|  Fehlerbehebung  |  [HIVE-23606](https://issues.apache.org/jira/browse/HIVE-23606): (LLAP) Verzögerung bei `DirectByteBuffer` bei der Bereinigung für `EncodedReaderImpl` | 
|  Fehlerbehebung  |  [HIVE-22165](https://issues.apache.org/jira/browse/HIVE-22165): Die durch [HIVE-14296](https://issues.apache.org/jira/browse/HIVE-14296) `SessionManager.closeSession` eingeführte Synchronisation verursacht eine hohe Latenz auf einem ausgelasteten Hive-Server  | 
|  Fehlerbehebung  |  [HIVE-21304:](https://issues.apache.org/jira/browse/HIVE-21304) Machen Sie die Nutzung der Bucketing-Version robuster | 

# Amazon EMR 6.13.0 – Versionshinweise zu Hive
<a name="Hive-release-history-6130"></a>

## Amazon EMR 6.13.0 – Hive-Änderungen
<a name="Hive-release-history-changes-6130"></a>


****  

| Typ | Description | 
| --- | --- | 
|  Verbesserung  |  Aktualisieren Sie Python-Skripte zur Support von Python3  | 
|  Verbesserung  |  [HIVE-27097](https://issues.apache.org/jira/browse/HIVE-27097): Verbessern Sie die Wiederholungsstrategie für Client und Server MetaStore   | 
|  Fehlerbehebung  |  [HIVE-21778](https://issues.apache.org/jira/browse/HIVE-21778): CBO: „Strukt ist nicht Null“ wird als NULL-fähig bewertet, was immer zu einem Fehlschlagen des Filters in der Abfrage führt  | 
|  Fehlerbehebung  |  [HIVE-21009](https://issues.apache.org/jira/browse/HIVE-21009): Dem Benutzer wird die Möglichkeit hinzugefügt, einen Bind-Benutzer festzulegen  | 
|  Fehlerbehebung  |  [HIVE-22661](https://issues.apache.org/jira/browse/HIVE-22661): Die Komprimierung schlägt bei Tabellen ohne Bucket fehl, deren Daten im Pfad geladen wurden  | 
|  Fehlerbehebung  |  [HIVE-19718](https://issues.apache.org/jira/browse/HIVE-19718): Beim Hinzufügen von Partitionen in großen Mengen wird auch die Tabelle für jede Partition abgerufen  | 
|  Fehlerbehebung  |  [HIVE-22173](https://issues.apache.org/jira/browse/HIVE-22173): Eine Abfrage mit mehreren seitlichen Ansichten hängt während der Kompilierung  | 
|  Fehlerbehebung  |  [HIVE-27088](https://issues.apache.org/jira/browse/HIVE-27088): Falsche Ergebnisse, wenn innere und äußere Verknüpfungen mit Post-Join-Filtern zusammengeführt werden  | 
|  Fehlerbehebung  |  [HIVE-21935](https://issues.apache.org/jira/browse/HIVE-21935): Hive-Vektorisierung: Eingeschränkte Leistung bei vektorisiertem UDF  | 
|  Fehlerbehebung  |  [HIVE-25299](https://issues.apache.org/jira/browse/HIVE-25299): Das Umwandeln von Zeitstempeln in numerische Datentypen ist für Nicht-UTC-Zeitzonen falsch  | 
|  Fehlerbehebung  |  [HIVE-24626](https://issues.apache.org/jira/browse/HIVE-24626): LLAP: Leser-Threads könnten ausgehungert werden, wenn alle I/O-Elevator-Threads ausgelastet sind, um andere Leser mit voller Warteschlange in die Warteschlange zu stellen  | 
|  Fehlerbehebung  |  [HIVE-27029](https://issues.apache.org/jira/browse/HIVE-27029): Die Hive-Abfrage schlägt mit dem Fehler Dateisystem geschlossen fehl. Die Überarbeitung für HIVE-26352 wurde abgeschlossen  | 
|  Fehlerbehebung  |  [HIVE-26352](https://issues.apache.org/jira/browse/HIVE-26352): Die Prüfung des Zugriffs auf die Tez-Warteschlange schlägt mit einer GSS-Ausnahme bei der Komprimierung fehl  | 
|  Fehlerbehebung  |  [HIVE-24590](https://issues.apache.org/jira/browse/HIVE-24590): Bei der Protokollierung von Vorgängen gibt es immer noch Log4j-Appender  | 
|  Fehlerbehebung  |  [HIVE-24552](https://issues.apache.org/jira/browse/HIVE-24552): Mögliche Leckagen oder Akkumulation von HMS-Verbindungen loadDynamicPartitions  | 
|  Fehlerbehebung  |  [HIVE-27069](https://issues.apache.org/jira/browse/HIVE-27069): Falsche Ergebnisse beim Bucket-Map-Join  | 
|  Fehlerbehebung  |  [HIVE-27344](https://issues.apache.org/jira/browse/HIVE-27344): Fügt einen Nullcheck in \$1close hinzu RecordReaderImpl  | 
|  Fehlerbehebung  |  [HIVE-27439](https://issues.apache.org/jira/browse/HIVE-27439): Support Leerzeichen in Dezimalzahlen  | 
|  Fehlerbehebung  |  [HIVE-27267](https://issues.apache.org/jira/browse/HIVE-27267): Falsche Ergebnisse beim Bucket-Map-Join für eine Spalte mit Dezimalzahlen und Unterabfrage  | 
|  Fehlerbehebung  |  [HIVE-21986](https://issues.apache.org/jira/browse/HIVE-21986): HiveServer Web-UI: Einstellung des Standard-Antwort-Headers Strict-Transport-Security  | 
|  Fehlerbehebung  |  [HIVE-22148](https://issues.apache.org/jira/browse/HIVE-22148): S3A-Delegierungstoken werden der Job-Konfiguration des Compactors nicht hinzugefügt.  | 
|  Fehlerbehebung  |  [HIVE-22622](https://issues.apache.org/jira/browse/HIVE-22622): Hive ermöglicht es, eine Struktur mit doppelten Attributnamen zu erstellen  | 
|  Fehlerbehebung  |  [HIVE-22008](https://issues.apache.org/jira/browse/HIVE-22008): Der LIKE-Operator sollte einer mehrzeiligen Eingabe entsprechen  | 
|  Fehlerbehebung  |  [HIVE-23144](https://issues.apache.org/jira/browse/HIVE-23144): LLAP: Lassen Sie die Bereinigung auf ServiceStop durchführen QueryTracker   | 
|  Fehlerbehebung  |  [HIVE-22391](https://issues.apache.org/jira/browse/HIVE-22391): NPE beim Überprüfen des Zwischenspeichers für Hive-Abfrageergebnisse  | 
|  Fehlerbehebung  |  [HIVE-23305](https://issues.apache.org/jira/browse/HIVE-23305): aufgrund von Rennbedingungen in AddNode NullPointerException LlapTaskSchedulerService   | 
|  Fehlerbehebung  |  [HIVE-22178](https://issues.apache.org/jira/browse/HIVE-22178): Parkett wirft hinterher FilterPredicate CastException SchemaEvolution  | 
|  Fehlerbehebung  |  [HIVE-21517](https://issues.apache.org/jira/browse/HIVE-21517): Reparieren AggregateStatsCache  | 
|  Fehlerbehebung  |  [HIVE-21825](https://issues.apache.org/jira/browse/HIVE-21825): Verbessern Sie die Client-Fehlermeldung, wenn HA aktiviert ist Active/Passive   | 
|  Fehlerbehebung  |  [HIVE-23389](https://issues.apache.org/jira/browse/HIVE-23389): kann dazu führen FilterMergeRule AssertionError  | 
|  Fehlerbehebung  |  [HIVE-22767](https://issues.apache.org/jira/browse/HIVE-22767): Beeline analysiert Semikolons in Kommentaren nicht richtig  | 
|  Fehlerbehebung  |  [HIVE-22996](https://issues.apache.org/jira/browse/HIVE-22996): Beim BasicStats Parsen sollte proaktiv nach Null oder einer leeren Zeichenfolge gesucht werden  | 
|  Fehlerbehebung  |  [HIVE-22808: behandelt nicht](https://issues.apache.org/jira/browse/HIVE-22808) HiveRelFieldTrimmer HiveTableFunctionScan  | 
|  Fehlerbehebung  |  [HIVE-22437](https://issues.apache.org/jira/browse/HIVE-22437): LLAP-Metadaten-Cache NPE beim Sperren von Metadaten.  | 
|  Fehlerbehebung  |  [HIVE-22606](https://issues.apache.org/jira/browse/HIVE-22606): protokolliert avro.schema.literal auf der INFO-Ebene AvroSerde   | 
|  Fehlerbehebung  |  [HIVE-22713](https://issues.apache.org/jira/browse/HIVE-22713): Für die Join-Fil (\$1) -RS-Struktur sollte keine konstante Weitergabe durchgeführt werden  | 
|  Fehlerbehebung  |  [HIVE-21624](https://issues.apache.org/jira/browse/HIVE-21624): LLAP: CPU-Metriken auf Thread-Ebene sind defekt  | 
|  Fehlerbehebung  |  [HIVE-22815: Reduziert die unnötige Erstellung von Dateisystemobjekten in](https://issues.apache.org/jira/browse/HIVE-22815) MROutput  | 
|  Fehlerbehebung  |  [HIVE-23060](https://issues.apache.org/jira/browse/HIVE-23060): Die Abfrage schlägt mit dem Fehler fehl: „Der Ausdruck für Gruppierungssätze ist nicht im GROUP BY-Schlüssel enthalten. In der Nähe des Tokens ist ein Fehler aufgetreten  | 
|  Fehlerbehebung  |  [HIVE-22236](https://issues.apache.org/jira/browse/HIVE-22236): Ansicht konnte nicht erstellt werden, wenn Ansicht ausgewählt wird, die die `NOT IN`-Unterabfrage enthält  | 
|  Fehlerbehebung  |  [HIVE-19886](https://issues.apache.org/jira/browse/HIVE-19886): Protokolle können an zwei Dateien weitergeleitet werden, wenn – hiveconf hive.log.file verwendet wird  | 
|  Fehlerbehebung  |  [HIVE-20620](https://issues.apache.org/jira/browse/HIVE-20620): Kollisionen beim Einfügen in sortierte MM-Tabellen mit dynamischer Partitionierung manifestieren  | 
|  Fehlerbehebung  |  [HIVE-14557](https://issues.apache.org/jira/browse/HIVE-14557): Nullpointer, wenn sowohl als auch Mapjoin aktiviert sind SkewJoin  | 
|  Fehlerbehebung  |  [HIVE-20471](https://issues.apache.org/jira/browse/HIVE-20471): Probleme beim Abrufen des Standard-Datenbankpfads  | 
|  Fehlerbehebung  |  [HIVE-20598](https://issues.apache.org/jira/browse/HIVE-20598): Tippfehler HiveAlgorithmsUtil in Berechnungen korrigieren  | 
|  Fehlerbehebung  |  [HIVE-14737](https://issues.apache.org/jira/browse/HIVE-14737): Problem beim Zugriff auf /logs in einer Kerberized Hive Server 2-Weboberfläche  | 
|  Fehlerbehebung  |  [HIVE-20733](https://issues.apache.org/jira/browse/HIVE-20733): Generisches NS darf = in Planbeschreibungen nicht verwenden UDFOPEqual  | 
|  Fehlerbehebung  |  [HIVE-20848](https://issues.apache.org/jira/browse/HIVE-20848): Nach dem Einstellen UpdateInputAccessTimeHook schlägt die Abfrage mit der Meldung „Tabelle nicht gefunden“ fehl.  | 
|  Fehlerbehebung  |  [HIVE-18929](https://issues.apache.org/jira/browse/HIVE-18929): Die Methode humanReadableInt in HiveStringUtils .java hat eine Race-Bedingung.  | 
|  Fehlerbehebung  |  [HIVE-20841](https://issues.apache.org/jira/browse/HIVE-20841): LLAP: Machen Sie dynamische Ports konfigurierbar  | 
|  Fehlerbehebung  |  [HIVE-20930](https://issues.apache.org/jira/browse/HIVE-20930): VectorCoalesce Wird im FILTER-Modus nicht wirksam  | 
|  Fehlerbehebung  |  [HIVE-21007](https://issues.apache.org/jira/browse/HIVE-21007): Semi Join \$1 Union kann zu falschen Plänen führen  | 
|  Fehlerbehebung  |  [HIVE-21074](https://issues.apache.org/jira/browse/HIVE-21074): Das Bereinigen von Abfragen in Hive-Bucket-Tabellen funktioniert nicht, wenn die Bedingung IS NOT NULL vorliegt  | 
|  Fehlerbehebung  |  [HIVE-21223](https://issues.apache.org/jira/browse/HIVE-21223): CachedStore gibt eine Null-Partition zurück, wenn die Partition nicht existiert  | 
|  Fehlerbehebung  |  [HIVE-19625](https://issues.apache.org/jira/browse/HIVE-19625): Potenzieller NPE und Ausblenden der tatsächlichen Ausnahme in Hive \$1copyFiles  | 
|  Fehlerbehebung  |  [HIVE-17020](https://issues.apache.org/jira/browse/HIVE-17020): Aggressive RS-Deduplizierung kann fälschlicherweise den Zweig des OP-Baums entfernen  | 
|  Fehlerbehebung  |  HIVE-20168: [Protokollierung versteckt](https://issues.apache.org/jira/browse/HIVE-20168) ReduceSinkOperator   | 
|  Fehlerbehebung  |  [HIVE-20879](https://issues.apache.org/jira/browse/HIVE-20879): Die Verwendung von Null in einem Projektionsausdruck führt zu CastException  | 
|  Fehlerbehebung  |  [HIVE-20888](https://issues.apache.org/jira/browse/HIVE-20888) TxnHandler: sort () wurde für unveränderliche Listen aufgerufen  | 
|  Fehlerbehebung  |  [HIVE-19948](https://issues.apache.org/jira/browse/HIVE-19948): teilt den Befehl nicht richtig durch HiveCli Semikolon auf, wenn sich in der Zeichenfolge Anführungszeichen befinden  | 
|  Fehlerbehebung  |  [HIVE-20621](https://issues.apache.org/jira/browse/HIVE-20621): Wird in resultset.next aufgerufen, was zu inkrementeller Langsamkeit führt GetOperationStatus   | 
|  Fehlerbehebung  |  [HIVE-20854](https://issues.apache.org/jira/browse/HIVE-20854): Sensible Standardeinstellungen: Das Zookeeper-Heartbeat-Intervall von Hive beträgt 20 Minuten, ändern Sie es auf 2  | 
|  Fehlerbehebung  |  [HIVE-20330](https://issues.apache.org/jira/browse/HIVE-20330): Loader kann nicht mehrere Objekte für einen Job mit mehreren Eingaben verarbeiten HCat InputJobInfo   | 
|  Fehlerbehebung  |  [HIVE-20787](https://issues.apache.org/jira/browse/HIVE-20787): Der DummyRow-Fall behandelt die Wiederverwendung nicht MapJoinBytesTableContainer  | 
|  Fehlerbehebung  |  [HIVE-20331](https://issues.apache.org/jira/browse/HIVE-20331): Die Abfrage mit Union All, Lateral View und Join schlägt mit der Fehlermeldung „Kann kein übergeordnetes Element im untergeordneten Operator gefunden“ fehl.  | 
|  Fehlerbehebung  |  [HIVE-19968](https://issues.apache.org/jira/browse/HIVE-19968): Die UDF-Ausnahme wird nicht ausgelöst  | 
|  Fehlerbehebung  |  [HIVE-20410](https://issues.apache.org/jira/browse/HIVE-20410): Abgebrochenes Einfügen und Überschreiben in der Transaktionstabelle verursacht den Fehler „Es ist nicht genug Verlauf verfügbar für …“  | 
|  Fehlerbehebung  |  [HIVE-20059](https://issues.apache.org/jira/browse/HIVE-20059): Hive-Streaming sollte in Ausnahmefällen bedingungslos das Shade-Präfix ausprobieren  | 
|  Fehlerbehebung  |  [HIVE-19424](https://issues.apache.org/jira/browse/HIVE-19424): NPE-Eingang MetaDataFormatters  | 
|  Fehlerbehebung  |  [HIVE-20355](https://issues.apache.org/jira/browse/HIVE-20355): Den Parameter von.setSchema bereinigen HiveConnection  | 
|  Fehlerbehebung  |  [HIVE-20858](https://issues.apache.org/jira/browse/HIVE-20858): Der Serializer wurde mit der Konfiguration in Utilities nicht korrekt initialisiert. createEmptyBuckets  | 
|  Fehlerbehebung  |  [HIVE-20424](https://issues.apache.org/jira/browse/HIVE-20424): Das Schematool darf den Beeline-Verlauf nicht verunreinigen  | 
|  Fehlerbehebung  |  [HIVE-20338](https://issues.apache.org/jira/browse/HIVE-20338): LLAP: Erzwingt synthetische Datei-IDs für Dateisysteme, die HDFS-Protokoll-Impls mit POSIX-Mutationssemantik haben  | 
|  Fehlerbehebung  |  [HIVE-11708](https://issues.apache.org/jira/browse/HIVE-11708): Logische Operatoren werden mit NULL ausgelöst ClassCastExceptions   | 
|  Fehlerbehebung  |  [HIVE-21082](https://issues.apache.org/jira/browse/HIVE-21082): In HPL/SQL unterstützt die Declare-Anweisung keine Variablen vom Typ Character  | 
|  Fehlerbehebung  |  [HIVE-16690](https://issues.apache.org/jira/browse/HIVE-16690): Konfigurieren Sie das kartesische Tez-Produkt Edge auf der Grundlage der LLAP-Clustergröße  | 
|  Fehlerbehebung  |  [HIVE-14516:.](https://issues.apache.org/jira/browse/HIVE-14516) OrcInputFormat SplitGenerator. Intern anrufen  | 
|  Fehlerbehebung  |  [HIVE-20981](https://issues.apache.org/jira/browse/HIVE-20981): Streaming/Lecks AbstractRecordWriter HeapMemoryMonitor  | 
|  Fehlerbehebung  |  [HIVE-20043](https://issues.apache.org/jira/browse/HIVE-20043): 2: HiveServer hat einen statischen Synchronisierungsblock um einen SessionState AtomicBoolean  | 
|  Fehlerbehebung  |  [HIVE-20191](https://issues.apache.org/jira/browse/HIVE-20191): Die PreCommit Patch-Anwendung schlägt nicht fehl, wenn der Patch leer ist  | 
|  Fehlerbehebung  |  [HIVE-20400](https://issues.apache.org/jira/browse/HIVE-20400): Tabelle erstellen sollte immer einen vollständig qualifizierten Pfad verwenden, um mögliche FS-Mehrdeutigkeiten zu vermeiden  | 
|  Fehlerbehebung  |  Fügen Sie eine Nullprüfung für SkewedInfo hinzu, bevor Sie auf schiefe Spalten zugreifen  | 

# Amazon EMR 6.12.0 – Versionshinweise zu Hive
<a name="Hive-release-history-6120"></a>

## Amazon EMR 6.12.0 – Hive-Änderungen
<a name="Hive-release-history-changes-6120"></a>


****  

| Typ | Description | 
| --- | --- | 
| Verbesserung | Support für JDK-11- und JDK-17-Laufzeit hinzugefügt | 
| Verbesserung | Unterstützung für die Abfrage von Spaltennamen mit Berücksichtigung von Groß- und Kleinschreibung und reservierten Schlüsselwörtern hinzugefügt, wenn S3 Select verwendet wird. Um es zu verwenden, definieren Sie die Tabelleneigenschaft im Format „s3select.column.mapping“ = "column1:fieldName1, column2:fieldName2,..." | 
| Verbesserung | [HIVE-23133](https://issues.apache.org/jira/browse/HIVE-23133): Numerische Operationen können je nach Hardware-Architektur zu unterschiedlichen Ergebnissen führen | 
| Verbesserung | [HIVE-27145](https://issues.apache.org/jira/browse/HIVE-27145): Wird StrictMath für die übrigen mathematischen Funktionen als Nachfolger von HIVE-23133 verwendet | 
| Fehlerbehebung | [Platzhalterinkompatibilität in get\$1partitions\$1by\$1filter und get\$1num\$1partitions\$1by\$1filter HMS behoben, die durch die Portierung von HIVE-22900 in EMR Hive 6.4.0 verursacht wurde APIs ](https://issues.apache.org/jira/browse/HIVE-22900) | 
| Fehlerbehebung | [HIVE-26736](https://issues.apache.org/jira/browse/HIVE-26736): Autorisierungsfehler für verschachtelte Views mit WITH-Klausel | 
| Fehlerbehebung | [HIVE-22416](https://issues.apache.org/jira/browse/HIVE-22416): MR-bezogene Betriebsprotokolle fehlen, wenn die parallel Ausführung aktiviert ist | 
| Fehlerbehebung | [HIVE-19653](https://issues.apache.org/jira/browse/HIVE-19653): Falscher Prädikat-Pushdown für Groupby mit Gruppierungssätzen | 
| Fehlerbehebung | [HIVE-22094](https://issues.apache.org/jira/browse/HIVE-22094): Abfragen schlagen fehl mit: ClassCastException hive.ql.exec.vector. DecimalColumnVectorkann nicht in Hive.QL.Exec.Vector.Decimal64 umgewandelt werden ColumnVector | 
| Fehlerbehebung | [HIVE-26340](https://issues.apache.org/jira/browse/HIVE-26340): Der vektorisierte PTF-Operator schlägt fehl, wenn die Abfrage eine Fensterfunktion in Großbuchstaben hat | 
| Fehlerbehebung | [HIVE-26184](https://issues.apache.org/jira/browse/HIVE-26184): COLLECT\$1SET mit GROUP BY ist sehr langsam, wenn einige Tasten stark schief sind | 
| Fehlerbehebung | [ ClassCastException HIVE-26373](https://issues.apache.org/jira/browse/HIVE-26373): beim Lesen von Zeitstempeln aus einer Tabelle mit Avro-Daten HBase  | 
| Fehlerbehebung | [HIVE-26388](https://issues.apache.org/jira/browse/HIVE-26388): ClassCastException Wenn die Quelltabelle der CTAS-Abfrage eine Spalte enthält, die keine Zeichenfolge ist, aktualisieren Sie [HIVE-26172: Hive — Upgrade von Ant auf 1.10.11 aufgrund von CVE-2021-36373 und CVE-2021-36374](https://issues.apache.org/jira/browse/HIVE-26172) | 
| Fehlerbehebung | [HIVE-26114](https://issues.apache.org/jira/browse/HIVE-26114): Wenn Sie die JDBC-Verbindung hiveserver2 mit dem Befehl dfs mit Präfixraum reparieren, wird dies zu einer Ausnahme führen | 
| Fehlerbehebung | [HIVE-26396](https://issues.apache.org/jira/browse/HIVE-26396): Die Trunc-Funktion hat ein Problem mit dem Präzisionsabfangen und das Ergebnis hat viele 0 | 
| Fehlerbehebung | [ TablesWritten HIVE-26446](https://issues.apache.org/jira/browse/HIVE-26446): HiveProtoLoggingHook Das Feld für partitionierte Tabellen kann nicht gefüllt werden. | 
| Fehlerbehebung | [HIVE-26639](https://issues.apache.org/jira/browse/HIVE-26639): und sollte sich nicht auf den Standardzeichensatz verlassen ConstantVectorExpression ExplainTask  | 
| Fehlerbehebung | [HIVE-22670](https://issues.apache.org/jira/browse/HIVE-22670): ArrayIndexOutOfBoundsException wenn der vektorisierte Reader zum Lesen einer Parquet-Datei verwendet wird | 
| Fehlerbehebung | [HIVE-23607](https://issues.apache.org/jira/browse/HIVE-23607): Berechtigungsproblem: Das Erstellen einer Ansicht in einer anderen Ansicht ist erfolgreich, aber das Ändern der Ansicht schlägt fehl | 
| Fehlerbehebung | [HIVE-25498](https://issues.apache.org/jira/browse/HIVE-25498): Eine Abfrage mit mehr als 31 verschiedenen Funktionen gibt ein falsches Ergebnis zurück | 
| Fehlerbehebung | [HIVE-25780](https://issues.apache.org/jira/browse/HIVE-25780): erstellt mehr als 64 Gruppierungssätze II DistinctExpansion  | 
| Fehlerbehebung | [HIVE-23868](https://issues.apache.org/jira/browse/HIVE-23868): Spezifikation der Fensterfunktion: unterstützt 0 vorne/nach | 
| Fehlerbehebung | [HIVE-24539](https://issues.apache.org/jira/browse/HIVE-24539): Die Schemagenerierung sollte das Spaltentrennzeichen berücksichtigen OrcInputFormat  | 
| Fehlerbehebung | [HIVE-23476](https://issues.apache.org/jira/browse/HIVE-23476): LLAP: Ordnet Arenen auch für die Groß-/Kleinschreibung vorab zu | 
| Fehlerbehebung | [HIVE-25806](https://issues.apache.org/jira/browse/HIVE-25806): Mögliches Leck in — Parquet, LLAP IO LlapCacheAwareFs  | 
| Fehlerbehebung | [HIVE-23498](https://issues.apache.org/jira/browse/HIVE-23498): Deaktivieren Sie die HTTP-Trace-Methode auf ThriftHttpCliService | 
| Fehlerbehebung | [HIVE-25729](https://issues.apache.org/jira/browse/HIVE-25729): sollte benachrichtigt werden, wenn es vollständig initiiert ist ThriftUnionObjectInspector  | 
| Fehlerbehebung | [HIVE-23846](https://issues.apache.org/jira/browse/HIVE-23846): Vermeiden Sie unnötige Serialisierung und Deserialisierung von Bitvektoren | 
| Fehlerbehebung | [HIVE-24233](https://issues.apache.org/jira/browse/HIVE-24233): außer dass die Unterabfrage bei deaktiviertem CBO einen Nullzeiger auslöst | 
| Fehlerbehebung | [HIVE-24276](https://issues.apache.org/jira/browse/HIVE-24276): Sicherheitslücke in loggerconf jsp Cross-Site Scripting HiveServer (XSS) | 
| Fehlerbehebung | [HIVE-25721](https://issues.apache.org/jira/browse/HIVE-25721): Das äußere Join-Ergebnis ist falsch | 
| Fehlerbehebung | [HIVE-25223](https://issues.apache.org/jira/browse/HIVE-25223): Auswahl mit Limit gibt keine Zeilen in einer nicht systemeigenen Tabelle zurück | 
| Fehlerbehebung | [HIVE-25794](https://issues.apache.org/jira/browse/HIVE-25794):: Anweisungen in einer Schleife protokollieren führt zu Speicherdruck CombineHiveRecordReader | 
| Fehlerbehebung | [HIVE-23602](https://issues.apache.org/jira/browse/HIVE-23602): Verwenden Sie das Java Concurrent Package für Operation Handle Set | 
| Fehlerbehebung | [HIVE-24045](https://issues.apache.org/jira/browse/HIVE-24045): Keine Protokollierung im Zusammenhang mit dem Zeitpunkt, zu dem die Standarddatenbank erstellt wird | 
| Fehlerbehebung | [HIVE-24305](https://issues.apache.org/jira/browse/HIVE-24305): Das Avro-Dezimalschema wird nicht richtig aufgefüllt, wenn der Wert in Anführungszeichen eingeschlossen ist scale/precision  | 
| Fehlerbehebung | [HIVE-25040](https://issues.apache.org/jira/browse/HIVE-25040): Die Drop-Datenbank-Kaskade kann persistente Funktionen nicht entfernen | 
| Fehlerbehebung | [HIVE-23501](https://issues.apache.org/jira/browse/HIVE-23501): AOOB wird verwendet, wenn komplexe Typen in primitive Typen umgewandelt werden VectorDeserializeRow  | 
| Fehlerbehebung | [HIVE-23704](https://issues.apache.org/jira/browse/HIVE-23704): Der Thrift-HTTP-Server verarbeitet das Auth-Handle nicht korrekt | 
| Fehlerbehebung | [HIVE-23529](https://issues.apache.org/jira/browse/HIVE-23529): CTAS ist für Uniontype kaputt, wenn row\$1deserialize | 
| Fehlerbehebung | [HIVE-24144](https://issues.apache.org/jira/browse/HIVE-24144): Die Zeichenfolge in gibt einen falschen Wert zurück getIdentifierQuote HiveDatabaseMetaData  | 
| Fehlerbehebung | [HIVE-23850](https://issues.apache.org/jira/browse/HIVE-23850): Erlaube PPD, wenn der Betreff keine Spalte mit vorhandenen Gruppierungssätzen ist | 
| Fehlerbehebung | [HIVE-25919](https://issues.apache.org/jira/browse/HIVE-25919): beim Einfügen eines booleschen Spaltenprädikats ClassCastException HBase StorageHandler | 
| Fehlerbehebung | [HIVE-25261](https://issues.apache.org/jira/browse/HIVE-25261): Beim erneuten Versuch sollte das mit einer kurzen Beschreibung des Ziels abgeschlossen werden HMSHandler MetaException  | 
| Fehlerbehebung | [HIVE-24792](https://issues.apache.org/jira/browse/HIVE-24792): Potenzielles Thread-Leck während des Betriebs | 
| Fehlerbehebung | [HIVE-23409](https://issues.apache.org/jira/browse/HIVE-23409): Wenn das erneute Öffnen der TezSession Anwendung fehlschlägt, weil der Timeline-Dienst ausgefallen ist, wird das Standardformular nach einem erneuten Versuch geschlossen TezSession SessionPool  | 
| Fehlerbehebung | [HIVE-23615](https://issues.apache.org/jira/browse/HIVE-23615): Verweisen Sie nicht auf Nullzeiger in der Beeline-Befehlsklasse | 
| Fehlerbehebung | [HIVE-24849](https://issues.apache.org/jira/browse/HIVE-24849): Erzeugt ein Socket-Timeout für externe Tabellen, wenn der Speicherort eine große Anzahl von Dateien enthält (betrifft 3.1.2) | 
| Fehlerbehebung | [HIVE-25209](https://issues.apache.org/jira/browse/HIVE-25209): SELECT-Abfrage mit SUM-Funktion, die zu einem unerwarteten Ergebnis führt | 
| Fehlerbehebung | [HIVE-23666](https://issues.apache.org/jira/browse/HIVE-23666): checkHashMode Effizienz wird übersprungen, wenn für einen Gruppierungs-Operator keine Gruppierung festgelegt ist | 
| Fehlerbehebung | [HIVE-23873: Die Abfrage der Hive-Handler-Tabelle](https://issues.apache.org/jira/browse/HIVE-23873) schlägt mit NPE fehl, wenn CBO ausgeschaltet ist JDBCStorage | 
| Fehlerbehebung | [ HiveStreamingConnection HIVE-24149](https://issues.apache.org/jira/browse/HIVE-24149): Schließt die HMS-Verbindung nicht | 
| Fehlerbehebung | [HIVE-25561](https://issues.apache.org/jira/browse/HIVE-25561): Die abgebrochene Aufgabe sollte die Datei nicht übertragen. (betrifft die Versionen 2.x und 3.x) | 
| Fehlerbehebung | [HIVE-25683](https://issues.apache.org/jira/browse/HIVE-25683): Schließt das Lesegerät. AcidUtils isRawFormatDatei | 
| Fehlerbehebung | [HIVE-24294](https://issues.apache.org/jira/browse/HIVE-24294): TezSessionPool Sessions können ausgelöst werden AssertionError | 
| Fehlerbehebung | [HIVE-24182](https://issues.apache.org/jira/browse/HIVE-24182): Ranger-Autorisierungsproblem mit permanentem UDFs | 
| Fehlerbehebung | [HIVE-22805](https://issues.apache.org/jira/browse/HIVE-22805): Die Vektorisierung mit bedingtem Array oder Map ist nicht implementiert und löst einen Fehler aus | 
| Fehlerbehebung | [HIVE-22828](https://issues.apache.org/jira/browse/HIVE-22828): Decimal64: NVL- und CASE-Anweisungen konvertieren implizit decimal64 in 128 | 
| Fehlerbehebung | [HIVE-21398](https://issues.apache.org/jira/browse/HIVE-21398): Spalten mit geschätzten Statistiken sollten nicht als eindeutige Schlüssel betrachtet werden | 
| Fehlerbehebung | [HIVE-22490](https://issues.apache.org/jira/browse/HIVE-22490): Das Hinzufügen von Jars mit Sonderzeichen in ihrem Pfad führt zu einem Fehler | 
| Fehlerbehebung | [HIVE-22700](https://issues.apache.org/jira/browse/HIVE-22700): Bei nicht autorisierten Komprimierungen kann Speicherplatz verloren gehen | 
| Fehlerbehebung | [HIVE-22053](https://issues.apache.org/jira/browse/HIVE-22053): Der Funktionsname wird beim Erstellen der Funktion nicht normalisiert | 
| Fehlerbehebung | [HIVE-22595](https://issues.apache.org/jira/browse/HIVE-22595): Dynamische Partitionseinfügungen schlagen in einer Avro-Tabellentabelle mit externem Schema fehl | 
| Fehlerbehebung | [HIVE-21795](https://issues.apache.org/jira/browse/HIVE-21795): Die Zeile mit der Rollup-Zusammenfassung fehlt möglicherweise, wenn ein Mapjoin in einer partitionierten Tabelle stattfindet | 
| Fehlerbehebung | [HIVE-22987](https://issues.apache.org/jira/browse/HIVE-22987): in wann ist Null ClassCastException VectorCoalesce DataTypePhysicalVariation  | 
| Fehlerbehebung | [HIVE-22219:](https://issues.apache.org/jira/browse/HIVE-22219) Das Herunterfahren eines Node-Managers blockiert den Neustart des LLAP-Dienstes | 
| Fehlerbehebung | [HIVE-21793](https://issues.apache.org/jira/browse/HIVE-21793): CBO ruft Spaltenstatistiken ab, auch wenn hive.stats.fetch.column.stats auf false gesetzt ist | 
| Fehlerbehebung | [HIVE-22163](https://issues.apache.org/jira/browse/HIVE-22163): CBO: Durch die Aktivierung von CBO wird die Statistikschätzung aktiviert, auch wenn die Schätzung deaktiviert ist | 
| Fehlerbehebung | [HIVE-18735](https://issues.apache.org/jira/browse/HIVE-18735): Beim Erstellen einer Tabelle wird das Transaktionsattribut verloren | 
| Fehlerbehebung | [HIVE-22433](https://issues.apache.org/jira/browse/HIVE-22433): Hive JDBC Storage Handler: Falsche Ergebnisse wurden von BOOLEAN und TIMESTAMP aus der JDBC-Datenquelle abgerufen DataType  | 
| Fehlerbehebung | [ ObjectStoreHIVE-19430](https://issues.apache.org/jira/browse/HIVE-19430):. cleanNotificationEvents OutOfMemory über eine große Anzahl ausstehender Ereignisse | 
| Fehlerbehebung | [HIVE-20785](https://issues.apache.org/jira/browse/HIVE-20785): Falscher Schlüsselname im JDBC. DatabaseMetaData getPrimaryKeys Methode | 
| Fehlerbehebung | [HIVE-16116](https://issues.apache.org/jira/browse/HIVE-16116): Beeline wirft NPE, wenn beeline.hiveconfvariables= \$1\$1 in beeline.properties | 
| Fehlerbehebung | [HIVE-20066](https://issues.apache.org/jira/browse/HIVE-20066): hive.load.data.owner wird mit dem vollständigen Prinzipal verglichen | 
| Fehlerbehebung | [HIVE-20489](https://issues.apache.org/jira/browse/HIVE-20489): Erläutern Sie, dass der Abfrageplan nicht mehr funktioniert | 
| Fehlerbehebung | [HIVE-21033](https://issues.apache.org/jira/browse/HIVE-21033): Wenn vergessen wird, den Vorgang zu beenden, werden weitere 2 Ausgänge unterbrochen HiveServer | 
| Fehlerbehebung | [HIVE-19888](https://issues.apache.org/jira/browse/HIVE-19888): Irreführende Warnung „METASTORE\$1FILTER\$1HOOK wird ignoriert“ von SessionState | 
| Fehlerbehebung | [HIVE-20303](https://issues.apache.org/jira/browse/HIVE-20303): ÜBERSCHREIBUNGSTABELLE EINFÜGEN db.TABLE PARTITION (…) WENN NICHT EXISTIERT, wirft InvalidTableException | 
| Fehlerbehebung | [HIVE-16144](https://issues.apache.org/jira/browse/HIVE-16144): CompactionInfo hat nicht, wird aber im Set verwendet equals/hashCode  | 
| Fehlerbehebung | [HIVE-20818](https://issues.apache.org/jira/browse/HIVE-20818): Mit einer WHERE-Unterabfrage erstellte Ansichten betrachten Ansichten, auf die in der Unterabfrage verwiesen wird, als direkte Eingabe | 
| Fehlerbehebung | [HIVE-21005](https://issues.apache.org/jira/browse/HIVE-21005): LLAP: Lesen von mehr Stripes pro Split-Leaks ZlibCodecs | 
| Fehlerbehebung | [HIVE-20771](https://issues.apache.org/jira/browse/HIVE-20771): schlägt bei leeren Strukturen fehl. LazyBinarySerDe  | 
| Fehlerbehebung | [HIVE-18852](https://issues.apache.org/jira/browse/HIVE-18852): Irreführende Fehlermeldung bei der Validierung von Änderungen an Tabellen | 
| Fehlerbehebung | [HIVE-21124](https://issues.apache.org/jira/browse/HIVE-21124): HPL/SQL unterstützt die CREATE TABLE LIKE-Anweisung nicht | 
| Fehlerbehebung | [HIVE-20935](https://issues.apache.org/jira/browse/HIVE-20935): Das Hochladen des LLAP-Paket-Tarballs schlägt in EC2 fehl, was zu einem Startfehler des LLAP-Dienstes führt | 
| Fehlerbehebung | [HIVE-20409](https://issues.apache.org/jira/browse/HIVE-20409): Hive ACID: säubert das HDFS-Staging-Verzeichnis nicht Update/delete/merge | 
| Fehlerbehebung | [HIVE-20570:](https://issues.apache.org/jira/browse/HIVE-20570) Die Vereinigung ALL mit hive.optimize.union.remove=true hat einen falschen Plan | 
| Fehlerbehebung | [HIVE-20421](https://issues.apache.org/jira/browse/HIVE-20421): Unzulässige Zeicheneinheit '\$1 b' in hive-default.xml.template | 
| Fehlerbehebung | [HIVE-19133](https://issues.apache.org/jira/browse/HIVE-19133): Die phasenweisen Leistungskennzahlen der HS2 WebUI werden nicht korrekt angezeigt | 
| Fehlerbehebung | [HIVE-18977](https://issues.apache.org/jira/browse/HIVE-18977): Das Auflisten von Partitionen führt bei JDO und Direct SQL zu unterschiedlichen Ergebnissen | 
| Fehlerbehebung | [HIVE-20034](https://issues.apache.org/jira/browse/HIVE-20034): Aus Gründen der Abwärtskompatibilität werden Änderungen bei der Ausnahmebehandlung rückgängig gemacht MetaStore  | 
| Fehlerbehebung | [HIVE-20672](https://issues.apache.org/jira/browse/HIVE-20672): Bei der Anmeldung sollte jedes festgelegte Intervall gemeldet werden LlapTaskSchedulerService  | 
| Fehlerbehebung | [HIVE-12812](https://issues.apache.org/jira/browse/HIVE-12812): Aktivieren Sie mapred.input.dir.recursive standardmäßig, um die Vereinigung mit Aggregatfunktion zu unterstützen | 
| Fehlerbehebung | [HIVE-20147](https://issues.apache.org/jira/browse/HIVE-20147): Hive-Streaming-Ingest begnügt sich mit synchronisierter Protokollierung | 
| Fehlerbehebung | [HIVE-19203](https://issues.apache.org/jira/browse/HIVE-19203): Thread-Sicherheitsproblem in HiveMetaStore | 
| Fehlerbehebung | [HIVE-20091](https://issues.apache.org/jira/browse/HIVE-20091): Tez: Fügen Sie Sicherheitsanmeldedaten für die Ausgabe hinzu FileSinkOperator  | 
| Fehlerbehebung | [HIVE-16906](https://issues.apache.org/jira/browse/HIVE-16906): Hive sollte vor der Verbindung zu ATS nach yarn.timeline-service.enabled ATSHook suchen | 
| Fehlerbehebung | [HIVE-20714](https://issues.apache.org/jira/browse/HIVE-20714): SHOW tblproperties für eine einzelne Eigenschaft gibt den Wert in der Namensspalte zurück | 
| Fehlerbehebung | [HIVE-24730](https://issues.apache.org/jira/browse/HIVE-24730): Shims-Klassen überschreiben Werte aus hive-site.xml und tez-site.xml im Hintergrund | 
| Fehlerbehebung | [HIVE-22055](https://issues.apache.org/jira/browse/HIVE-22055): Die gewählte Anzahl liefert nach dem Laden von Daten aus einer Textdatei ein falsches Ergebnis | 

# Amazon EMR 6.11.0 – Versionshinweise zu Hive
<a name="Hive-release-history-6110"></a>

## Amazon EMR 6.11.0 – Hive-Änderungen
<a name="Hive-release-history-changes-6110"></a>


****  

| Typ | Description | 
| --- | --- | 
| Verbesserung | Es wurde Unterstützung für das Löschen von Partitionen mit mehreren Threads hinzugefügt, um die Leistung beim Löschen von Partitionen zu verbessern | 
| Verbesserung | Support das Lesen von codierten Hive-Abfragedateien | 
| Verbesserung | Der Tez Shuffle Handler ist standardmäßig für Hive-on-Tez-Jobs aktiviert | 
| Fehler | Es wurde eine Option hinzugefügt, um die deterministische Verteilung von Schlüsseln an Reducer zu aktivieren, um ein falsches Ergebnis zu korrigieren, wenn hive.groupby.skewindata aktiviert ist (berichtet in [HIVE-20220)](https://issues.apache.org/jira/browse/HIVE-20220) | 
| Fehler | Fehler bei der Statistikberechnung behoben, wenn der Standardpartitionsname konfiguriert war | 
| Fehler | Beachten Sie alle benutzerdefinierten SSL-Klassifizierungsparameter, die übergeben werden, wenn SSL standardmäßig für 2 in einem Cluster mit aktivierter Verschlüsselung während der Übertragung konfiguriert ist HiveServer | 
| Backport | [HIVE-23617](https://issues.apache.org/jira/browse/HIVE-23617): Probleme mit der Speicher-API wurden behoben FindBug | 
| Backport |  [HIVE-26408](https://issues.apache.org/jira/browse/HIVE-26408): Vektorisierung: Die Deallokation von Scratch-Spalten wurde korrigiert, untergeordnete Spalten werden nicht als Ausgabe wiederverwendet ConstantVectorExpression  | 
| Backport | [ HiveConfig HIVE-23614](https://issues.apache.org/jira/browse/HIVE-23614): Immer weiterleiten an removeTempOr DuplicateFiles | 
| Backport | [HIVE-23354](https://issues.apache.org/jira/browse/HIVE-23354): Entfernen Sie die Überprüfung der Dateigrößensicherheit von compareTempOr DuplicateFiles | 
| Backport | [HIVE-20344](https://issues.apache.org/jira/browse/HIVE-20344): Beim Werfen durch SBA wurde ein Fehler behoben. PrivilegeSynchronizer AccessControlException Außerdem wurde die Eigenschaft hive.privilege.synchronizer eingeführt, um den Privilege Synchronizer zu deaktivieren | 
| Backport | [HIVE-15826](https://issues.apache.org/jira/browse/HIVE-15826): Support die Konfiguration von 'serialization.encoding' für alle SerDes | 
| Backport | [HIVE-18284](https://issues.apache.org/jira/browse/HIVE-18284): Behebung von NPE beim Einfügen von Daten mit der Klausel 'distribute by' mit Dynpart-Sortieroptimierung | 
| Backport | [HIVE-24930](https://issues.apache.org/jira/browse/HIVE-24930): Der Kurzschluss Operator.setDone() von der untergeordneten Operation wird im vektorisierten Codepfad nicht verwendet (wenn childSize == 1) | 
| Backport | [HIVE-24523](https://issues.apache.org/jira/browse/HIVE-24523): Der vektorisierte Lesepfad für berücksichtigt nicht die SERDEPROPERTIES für den Zeitstempel LazySimpleSerde  | 
| Backport | [HIVE-23265](https://issues.apache.org/jira/browse/HIVE-23265): Doppelte Rowsets werden zurückgegeben, wenn Limit und Offset gesetzt sind | 
| Backport | [HIVE-21492](https://issues.apache.org/jira/browse/HIVE-21492): Die mit dem Thrift/Custom-Tool generierte Parkettdatei kann nicht gelesen werden VectorizedParquetRecordReader  | 
| Backport | [HIVE-22540](https://issues.apache.org/jira/browse/HIVE-22540): Vektorisierung: Decimal64-Spalten funktionieren nicht mit. VectorizedBatchUtil makeLikeColumnVektor () | 
| Backport | [HIVE-22588](https://issues.apache.org/jira/browse/HIVE-22588): Leert die verbleibenden Zeilen für die restlichen Gruppierungssätze, wenn Sie den Gruppierungsmodus des Vektors wechseln | 
| Backport | [HIVE-22551](https://issues.apache.org/jira/browse/HIVE-22551): BytesColumnVector InitBuffer sollte Vektor und Länge konsistent bereinigen | 
| Backport | [HIVE-22448](https://issues.apache.org/jira/browse/HIVE-22448): CBO: Erweitert die Mehrfachzählung mit einem Gruppierungsschlüssel | 
| Backport | [HIVE-22248](https://issues.apache.org/jira/browse/HIVE-22248): Behebt anhaltende Probleme mit Statistiken | 
| Backport | [HIVE-22210](https://issues.apache.org/jira/browse/HIVE-22210): Bei der Vektorisierung können beim Filtern verwendete Berechnungsausgabespalten wiederverwendet werden | 
| Backport | [HIVE-21531](https://issues.apache.org/jira/browse/HIVE-21531): Vektorisierung: Alle NULL-Hashcodes werden nicht mit Murmur3 berechnet | 
| Backport | [HIVE-20419](https://issues.apache.org/jira/browse/HIVE-20419): Vektorisierung: Verhindert die Mutation von nach der Verwendung in einem Hashmap-Schlüssel VectorPartitionDesc  | 
| Backport | [ ClassCastException HIVE-19388](https://issues.apache.org/jira/browse/HIVE-19388) VectorMapJoinCommonOperator : während der Initialisierung | 
| Backport | [HIVE-21584](https://issues.apache.org/jira/browse/HIVE-21584): Java 11-Vorbereitung: Der Systemklassenlader ist nicht Loader URLClass | 
| Backport | [HIVE-25107](https://issues.apache.org/jira/browse/HIVE-25107): Die Klassenpfadprotokollierung sollte auf DEBUG-Ebene erfolgen (\$12271) | 
| Backport | [HIVE-22097](https://issues.apache.org/jira/browse/HIVE-22097): Inkompatibles java.util. ArrayListfür Java 11 | 
| Backport | [HIVE-23938](https://issues.apache.org/jira/browse/HIVE-23938): LLAP: JDK11 - Einige JVM-Argumente, die sich auf die Rotation von GC-Logdateien beziehen, können nicht mehr verwendet werden | 
| Backport | [HIVE-26226](https://issues.apache.org/jira/browse/HIVE-26226): Schließt jdk.tools dep aus Hive-Metastore in Upgrade-Acid aus | 
| Backport | [HIVE-17879](https://issues.apache.org/jira/browse/HIVE-17879): Aktualisieren Sie das Datanucleus Maven-Plugin | 
| Backport | [HIVE-27004](https://issues.apache.org/jira/browse/HIVE-27004): DateTimeFormatterBuilder \$1 appendZoneText kann 'UTC\$1' in Java-Versionen höher als 8 nicht analysieren | 
| Backport | [HIVE-16812](https://issues.apache.org/jira/browse/HIVE-16812): filtert keine Löschereignisse VectorizedOrcAcidRowBatchReader | 
| Backport | [HIVE-17917:.](https://issues.apache.org/jira/browse/HIVE-17917) VectorizedOrcAcidRowBatchReader computeOffsetAndBucket-Optimierung | 
| Backport | [HIVE-19985](https://issues.apache.org/jira/browse/HIVE-19985): ACID: Überspringen Sie die Dekodierung der ROW\$1\$1ID-Abschnitte für schreibgeschützte Abfragen | 
| Backport | [HIVE-20635](https://issues.apache.org/jira/browse/HIVE-20635): filtert VectorizedOrcAcidRowBatchReader keine Löschereignisse für Originaldateien | 
| Upgrade | Upgrade auf Javadoc 3.3.1 | 
| Upgrade | Aktualisieren Sie Javassist auf 3.24.1-GA | 
| Upgrade | Update auf 2.0.0-M14 apache-directory-server | 

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


****  

| Name | Klassifizierung | Description | 
| --- | --- | --- | 
| hive.metastore.fs.drop.partition.threads | hive-site | Anzahl der Core-Threads im Threadpool der Drop-Partition. | 
| hive.metastore.fs.drop.partition.keepalive.time | hive-site | Zeit in Sekunden, in der ein asynchroner Drop-Partition-Thread (aus dem Thread-Pool) im Leerlauf auf das Eintreffen einer neuen Aufgabe wartet, bevor er beendet wird. | 
| hive.metastore.fs.drop.partition.threadpool.max.queue.size | hive-site | Maximale Warteschlangengröße, die im Thread-Pool zum Löschen von Partitionen aus dem Dateisystem verwendet werden soll. | 
| hive.groupby.enable.deterministic.distribution | hive-site | Ermöglichen Sie die deterministische Verteilung von Schlüsseln an Reducer. Beim Aufrufen der Funktion Rand, die für die zufällige Partitionierung verwendet wird, wird ein konstanter Startwert übergeben. | 
| hive.privilege.synchronizer | hive-site | Ob die Rechte eines externen Autorisierers in 2 regelmäßig synchronisiert werden sollen. HiveServer | 
| hive.cli.query.file.encoding | hive-site | Dateikodierung für alle Arten von Abfragedateien (Abfragedatei, Init-Abfragedatei, RC-Datei usw.), die in den CLI-Argumenten bereitgestellt werden. | 
| hive.emr.tez.shuffle.enabled | hive-site | Hive-on-Tez-Aufträge verwenden jetzt standardmäßig tez\$1shuffle anstelle von mapreduce\$1shuffle als Standard-Shuffle-Handler. | 

## Veraltete Konfigurationen
<a name="Hive-release-history-changes-6110-old-configurations"></a>

Die folgenden Konfigurationseigenschaften sind aufgrund von [HIVE-23354](https://issues.apache.org/jira/browse/HIVE-23354) veraltet und werden in den Amazon-EMR-Versionen 6.11.0 und höher nicht mehr unterstützt.


| Name | Standardwert | 
| --- | --- | 
| `hive.mapred.reduce.tasks.speculative.execution` | `false` | 
| `tez.am.speculation.enabled` | `false` | 

# Amazon EMR 6.10.0 – Versionshinweise zu Hive
<a name="Hive-release-history-6100"></a>

## Amazon EMR 6.10.0 – Hive-Änderungen
<a name="Hive-release-history-changes-6100"></a>


****  

| Typ | Description | 
| --- | --- | 
| Feature | Aktivieren Sie die AWS Lake Formation basierte Zugriffskontrolle für Apache Hive-Abfragen (Schreiben) [über IAM Passthrough (](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html)HiveCLI/Steps API). | 
| Verbesserung | Deaktivieren Sie die Konfiguration hive.log.explain.output standardmäßig, um die Protokollgröße zu reduzieren | 
| Backport | [HIVE-26408](https://issues.apache.org/jira/browse/HIVE-26408): Vektorisierung: Korrektur der Freigabe von Leerspalten, Wiederverwendung untergeordneter Spalten nicht als Ausgabe ConstantVectorExpression  | 
| Backport | [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269): Korrektur der falschen Anzahl von Reduktoren bei Einfügeabfragen mit dynamischer Partition aufgrund fehlender Statistiken, die durch [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) verursacht wurden. | 
| Backport | [HIVE-22891](https://issues.apache.org/jira/browse/HIVE-22891): Extrahieren im Nicht-LLAP-Ausführungsmodus überspringen PartitionDesc CombineHiveRecord  | 
| Backport | [HIVE-23804](https://issues.apache.org/jira/browse/HIVE-23804): Eine Standarddatenbank für spaltenstatistikspezifische Tabellen im Hive-Metastore-Schema hinzufügen, um sie abwärtskompatibel zu machen | 
| Backport | [HIVE-25277](https://issues.apache.org/jira/browse/HIVE-25277): Langsames Löschen von Hive-Partitionen für Cloud-Objektspeicher mit teuren ListFiles | 
| Backport | [HIVE-19202](https://issues.apache.org/jira/browse/HIVE-19202): CBO ist aufgrund von in ausgefallen. NullPointerException HiveAggregate isBucketedInput() | 
| Backport | [HIVE-19048](https://issues.apache.org/jira/browse/HIVE-19048): Fix Beeline Initscript-Fehler werden ignoriert | 
| Backport | [HIVE-21085](https://issues.apache.org/jira/browse/HIVE-21085): Die Registrierung für materialisierte Ansicht startet eine nicht externe TEZ-Sitzung | 
| Backport | [HIVE-21675](https://issues.apache.org/jira/browse/HIVE-21675): CREATE VIEW IF NOT EXISTS gibt statt „OK“ einen Fehler zurück, wenn die Ansicht bereits existiert. Dies ist eine Regression von Hive 2.  | 
| Backport | [HIVE-21646](https://issues.apache.org/jira/browse/HIVE-21646): Tez: Verhindert das Umgehen des TezTasks Thread-Log-Kontextes | 
| Backport | [HIVE-22054](https://issues.apache.org/jira/browse/HIVE-22054): Vermeiden Sie eine rekursive Auflistung, um zu überprüfen, ob ein Verzeichnis leer ist | 
| Backport | [HIVE-16587](https://issues.apache.org/jira/browse/HIVE-16587): NPE beim Einfügen komplexer Typen mit verschachtelten Nullwerten | 
| Backport | [HIVE-22647](https://issues.apache.org/jira/browse/HIVE-22647): Aktiviert standardmäßig den Sitzungspool | 
| Backport | [HIVE-13288](https://issues.apache.org/jira/browse/HIVE-13288): Verwirrende Ausnahmemeldung in .localizeResource DagUtils | 
| Backport | [HIVE-23870](https://issues.apache.org/jira/browse/HIVE-23870): Optimieren Sie mehrere Textkonvertierungen in. WritableHiveCharObjectInspector getPrimitiveJavaObjekt/ HiveCharWritable | 
| Backport | [HIVE-21498](https://issues.apache.org/jira/browse/HIVE-21498): Aktualisieren Sie Thrift auf 0.13.0 | 
| Backport | [HIVE-24378](https://issues.apache.org/jira/browse/HIVE-24378): Führende und nachfolgende Leerzeichen werden vor der Dezimalkonvertierung nicht entfernt | 
| Backport | [HIVE-21341](https://issues.apache.org/jira/browse/HIVE-21341): Sinnvolle Standardwerte: hive.server2.idle.operation.timeout und hive.server2.idle.session.timeout sind zu hoch | 
| Backport | [HIVE-22465](https://issues.apache.org/jira/browse/HIVE-22465): Fügen Sie ssl conf hinzu TezConfigurationFactory | 
| Backport | [HIVE-24710](https://issues.apache.org/jira/browse/HIVE-24710): Optimieren Sie die PTF-Iteration für count (\$1), um die CPU- und I/O-Kosten zu senken | 
| Backport | [HIVE-15406](https://issues.apache.org/jira/browse/HIVE-15406): Erwägen Sie die Vektorisierung der neuen Funktion „Trunc“ | 
| Backport | [HIVE-21541](https://issues.apache.org/jira/browse/HIVE-21541): Korrigiert fehlende ASF-Header von HIVE-15406 | 
| Backport | [HIVE-24808](https://issues.apache.org/jira/browse/HIVE-24808): Analysierte Daten zwischenspeichern | 
| Backport | [HIVE-24746](https://issues.apache.org/jira/browse/HIVE-24746): PTF: kann bei der Reichweitenberechnung optimiert werden TimestampValueBoundaryScanner | 
| Backport | [HIVE-25059](https://issues.apache.org/jira/browse/HIVE-25059): Das Alter-Ereignis wird während der Replikation in ein Umbenennungsereignis umgewandelt | 
| Backport | [HIVE-25142](https://issues.apache.org/jira/browse/HIVE-25142): Beim erneuten Hash in der Map-Join-Fast-Hash-Tabelle werden große Schlüssel beschädigt | 
| Backport | [HIVE-23756](https://issues.apache.org/jira/browse/HIVE-23756): Der package.jdo-Datei wurden weitere Einschränkungen hinzugefügt | 
| Backport | [HIVE-25150](https://issues.apache.org/jira/browse/HIVE-25150): Tabulatorzeichen werden vor der Dezimalkonvertierung nicht entfernt, ähnlich wie Leerzeichen, das in HIVE-24378 behoben wurde | 
| Backport | [HIVE-25093](https://issues.apache.org/jira/browse/HIVE-25093): date\$1format () UDF gibt die Ausgabe nur in der UTC-Zeitzone zurück | 
| Backport | [HIVE-25268](https://issues.apache.org/jira/browse/HIVE-25268): date\$1format udf gibt falsche Ergebnisse für Daten vor 1900 zurück, wenn die lokale Zeitzone nicht UTC ist | 
| Backport | [HIVE-25338](https://issues.apache.org/jira/browse/HIVE-25338): AIOBE in Conv UDF, wenn die Eingabe leer ist | 
| Backport | [HIVE-22400](https://issues.apache.org/jira/browse/HIVE-22400): UDF-Minute mit Zeit gibt NULL zurück | 
| Backport | [HIVE-25058](https://issues.apache.org/jira/browse/HIVE-25058): PTF: kann bei der Reichweitenberechnung optimiert werden pt2 - TimestampValueBoundaryScanner isDistanceGreater | 
| Backport | [HIVE-25449](https://issues.apache.org/jira/browse/HIVE-25449): datediff() gibt eine falsche Ausgabe aus, wenn es in einer TEZ-Aufgabe mit einer anderen Zeitzone als UTC ausgeführt wird | 
| Backport | [HIVE-23688](https://issues.apache.org/jira/browse/HIVE-23688): Vektorisierung: Für eine Spalte vom Typ Map, die einen Nullwert enthält IndexArrayOutOfBoundsException  | 
| Backport | [HIVE-22247: Hive](https://issues.apache.org/jira/browse/HIVE-22247) wird ausgelöst, wenn die Aufgabenausgabe der Partition leer ist HFile OutputFormat FileNotFoundException  | 
| Backport | [HIVE-25570](https://issues.apache.org/jira/browse/HIVE-25570): Hive sollte den vollständigen URL-Pfad zur Autorisierung für den Befehl insert overwrite location senden | 
| Backport | [HIVE-22903](https://issues.apache.org/jira/browse/HIVE-22903): Die vektorisierte row\$1number() setzt die Zeilennummer nach einem Batch zurück, falls ein konstanter Ausdruck in der Partitionsklausel vorliegt | 
| Backport | [HIVE-25549](https://issues.apache.org/jira/browse/HIVE-25549): Falsche Ergebnisse für Fensterfunktionen mit Ausdruck in der PARTITION-BY- oder ORDER-BY-Klausel | 
| Backport | [HIVE-25579](https://issues.apache.org/jira/browse/HIVE-25579): LOAD overwrite fügt statt zu überschreiben hinzu | 
| Backport | [HIVE-25659](https://issues.apache.org/jira/browse/HIVE-25659): Metastore-Direkt-SQL-Abfragen mit IN/ (NOT IN) sollten auf der Grundlage der maximalen Anzahl von Parametern aufgeteilt werden, die von SQL DB zulässig sind | 
| Backport | [HIVE-20502](https://issues.apache.org/jira/browse/HIVE-20502): Behebung von NPE beim Ausführen von skewjoin\$1mapjoin10.q, wenn Spaltenstatistiken verwendet wurden. | 
| Backport | [HIVE-25765](https://issues.apache.org/jira/browse/HIVE-25765): Die Eigenschaft skip.header.line.count überspringt Zeilen jedes Blocks, wenn die Dateigröße größer ist FetchOperator  | 
| Fehler | Behebung von NPE beim Einfügen in bestimmten Szenarien, wenn hive.stats.column.autogather und hive.groupby.skewindata beide aktiviert sind.  | 
| Fehler | Korrigieren Sie NPE, wenn der mapred.tasktracker.expiry.interval-Wert nicht gesetzt ist | 

# Amazon EMR 6.9.0 – Versionshinweise zu Hive
<a name="Hive-release-history-690"></a>

## Amazon EMR 6.9.0 – Hive-Änderungen
<a name="Hive-release-history-changes-690"></a>


****  

| Typ | Description | 
| --- | --- | 
| Upgrade | Aktualisieren von Jetty auf [9.4.48.v20220622](https://github.com/eclipse/jetty.project/releases/tag/jetty-9.4.48.v20220622) | 
| Upgrade | Unterstützung von Hadoop 3.3.3 | 
| Feature | Amazon-EMR-Hive-Integration mit Lake Formation für interaktive Workloads mithilfe der GCSC-API. | 
| Feature | Amazon-EMR-Hive-Integration mit Iceberg. | 
| Verbesserung | Aktivieren Sie SSL in HiveServer 2, wenn die [Verschlüsselung während der Übertragung](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html#emr-encryption-intransit) mithilfe von Amazon EMR-Sicherheitskonfigurationen aktiviert ist. | 
| Verbesserung | Aktivieren Sie standardmäßig den optimierten Hive-EMRFS-Amazon-S3-Committer. Weitere Informationen finden Sie unter [Aktivierung des optimierten Hive EMRFS S3 Committers](hive-optimized-committer.md). | 
| Verbesserung | [Fügen Sie hinzu`HiveHBaseTableInputFormatV2`, dass nur die zugeordnete Version von erbt wird, um SPARK-34210 zu InputFormat reparieren.](https://issues.apache.org/jira/browse/SPARK-34210) Stellen Sie hive.hbase.inputformat.v2 auf true ein, um es zu verwenden. | 
| Verbesserung | Warten Sie, bis TezAM im Hintergrund mit [hive.cli.tez.session.async]() gestartet wird, anstatt es zu beenden und sofort neu zu starten. Verwenden Sie diese hive.emr.cli.tez.session.open.timeout-Option, um dieses Timeout in Sekunden festzulegen.  | 
| Verbesserung | Fügen Sie die Option [hive.conf.restricted.list.append]() hinzu, um kommagetrennte Konfigurationen an die bestehende eingeschränkte Konfigurationsliste hive.conf.restricted.list anzuhängen. | 
| Verbesserung | Klarere Fehlermeldung, wenn die Hive-Abfrage fehlschlägt, weil der Speicherort für die Datenbank nicht definiert ist. | 
| Backport | [HIVE-24484](https://issues.apache.org/jira/browse/HIVE-24484): Aktualisieren Sie Hadoop auf 3.3.1 und Tez auf 0.10.2  | 
| Backport | [HIVE-22398](https://issues.apache.org/jira/browse/HIVE-22398): Entfernen Sie die YARN-Warteschlangenverwaltung über. ShimLoader  | 
| Backport | [HIVE-23190: LLAP: modifizieren](https://issues.apache.org/jira/browse/HIVE-23190), um das Dateisystemobjekt zu übergeben. IndexCache TezSpillRecord | 
| Backport | [HIVE-22185](https://issues.apache.org/jira/browse/HIVE-22185): HADOOP-15832 wird Probleme bei Tests verursachen, die Cluster verwenden. MiniYarn  | 
| Backport | [HIVE-21670](https://issues.apache.org/jira/browse/HIVE-21670): Ersetzen Sie mockito-all durch mockito-core-Abhängigkeit. | 
| Backport | [HIVE-24542](https://issues.apache.org/jira/browse/HIVE-24542): Bereiten Sie Guava für Upgrades vor. | 
| Backport | [HIVE-23751](https://issues.apache.org/jira/browse/HIVE-23751): Methode überschreiben, um sie nach HADOOP-16582 auszurichten. QTest \$1mkdirs() ProxyFileSystem | 
| Backport | [HIVE-21603](https://issues.apache.org/jira/browse/HIVE-21603): Java-11-Vorbereitung: Powermock-Version aktualisieren.  | 
| Backport | [HIVE-24083](https://issues.apache.org/jira/browse/HIVE-24083): hcatalog-Fehler in Hadoop 3.3.0: Authentifizierungstyp erforderlich. | 
| Backport | [HIVE-24282](https://issues.apache.org/jira/browse/HIVE-24282): Spalten anzeigen sollte Ausgabespalten nicht sortieren, sofern nicht ausdrücklich anders angegeben. | 
| Backport | [HIVE-20656](https://issues.apache.org/jira/browse/HIVE-20656): Sinnvolle Standardeinstellungen: Die Speicherkonfigurationen für die Kartenaggregation sind zu aggressiv. | 
| Backport | [HIVE-25443](https://issues.apache.org/jira/browse/HIVE-25443): Arrow kann Datentypen nicht komplexieren, wenn es mehr als 1024 Werte gibt SerDe serialize/deserialize  | 
| Backport | [HIVE-19792](https://issues.apache.org/jira/browse/HIVE-19792): Aktualisieren Sie Orc auf 1.5.2 und aktivieren Sie die Decimal\$164-Schema-Evolutionstests.  | 
| Backport | [HIVE-20437](https://issues.apache.org/jira/browse/HIVE-20437): Behandelt die Schemaentwicklung von Float, Double und Decimal.  | 
| Backport | [HIVE-21987](https://issues.apache.org/jira/browse/HIVE-21987): Hive kann Parquet int32, das mit Dezimalzahlen annotiert ist, nicht lesen.  | 
| Backport | [HIVE-20038](https://issues.apache.org/jira/browse/HIVE-20038): Bei Aktualisierungsabfragen für Tabellen ohne Buckets und partitionierte Tabellen wird NPE ausgelöst. | 

## Amazon EMR 6.9.0 – Bekannte Probleme mit Hive
<a name="emr-Hive-690-issues"></a>
+ Bei Amazon EMR 6.6.0 bis 6.9.x haben INSERT-Abfragen mit dynamischer Partition und einer ORDER-BY- oder SORT-BY-Klausel immer zwei Reduzierungen. Dieses Problem wird durch die OSS-Änderung [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) verursacht, die die Optimierung dynamischer Sortierpartitionen einer kostenbasierten Entscheidung unterstellt. Wenn Ihr Workload keine Sortierung dynamischer Partitionen erfordert, empfehlen wir Ihnen, die `hive.optimize.sort.dynamic.partition.threshold`-Eigenschaft auf `-1` zu setzen, um das neue Feature zu deaktivieren und die korrekt berechnete Anzahl von Reduzierern zu erhalten. Dieses Problem wurde behoben in OSS Hive als Teil von [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) und in Amazon EMR 6.10.0 behoben.

# Amazon EMR 6.8.0 – Versionshinweise zu Hive
<a name="Hive-release-history-680"></a>

## Amazon EMR 6.8.0 – Hive-Änderungen
<a name="Hive-release-history-changes-680"></a>


| Typ | Description | 
| --- | --- | 
| Verbesserung | Reduzieren Sie die Dateisystemaufrufe im Befehl msck. Leistungsverbesserungen (\$115-20x auf mehr als 10 000 Partitionen) | 
| Backport | [HIVE-20678](https://issues.apache.org/jira/browse/HIVE-20678): Hive sollte implementiert werden, um die Kompatibilität sicherzustellen HBase TableOutputFormat HiveOutputFormat  | 
| Backport | [HIVE-21040](https://issues.apache.org/jira/browse/HIVE-21040): msck listet unnötige Dateien auf der letzten Ebene des Verzeichnisbaums auf | 
| Backport | [HIVE-21460](https://issues.apache.org/jira/browse/HIVE-21460): Das Laden von Daten, gefolgt von einer Auswahl-\$1-Abfrage, führt zu falschen Ergebnissen | 
| Backport | [HIVE-21660](https://issues.apache.org/jira/browse/HIVE-21660): Falsches Ergebnis, wenn Union All und spätere Ansicht mit Explode verwendet werden | 
| Backport | [HIVE-22505](https://issues.apache.org/jira/browse/HIVE-22505): verursacht durch eine falsche Auswahl des vektorisierten Operators ClassCastException  | 
| Backport | [HIVE-22513](https://issues.apache.org/jira/browse/HIVE-22513): Die ständige Ausbreitung von gegossenen Spalten in Filteroperationen kann zu falschen Ergebnissen führen | 
| Backport | [HIVE-23435](https://issues.apache.org/jira/browse/HIVE-23435): Beim vollständigen Outer-Join-Ergebnis fehlen Zeilen | 
| Backport | [HIVE-24209](https://issues.apache.org/jira/browse/HIVE-24209): Falsche Konvertierung der Suchargumente für die Operation NOT BETWEEN, wenn die Vektorisierung aktiviert ist | 
| Backport | [HIVE-24934](https://issues.apache.org/jira/browse/HIVE-24934): Bei Generic Check ist keine Anmerkung erforderlich VectorizedExpressions UDFSQCount | 
| Backport | [HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278): HiveProjectJoinTransposeRule kann ungültige Transformationen mit Fensterausdrücken durchführen | 
| Backport | [HIVE-25505](https://issues.apache.org/jira/browse/HIVE-25505): Falsche Ergebnisse mit Header. skip.header.line.count, wenn die erste Zeile leer ist | 
| Backport | [HIVE-26080](https://issues.apache.org/jira/browse/HIVE-26080): Accumulo-Core auf 1.10.1 aktualisieren | 
| Backport | [HIVE-26235](https://issues.apache.org/jira/browse/HIVE-26235): OR-Bedingung für die Binärspalte gibt ein leeres Ergebnis zurück | 
| Fehler | Korrigiert mehrere Warnprotokolle für SLF4 J-Bindungen in stderr während des Starts | 
| Fehler | Behebt die Abfrage SHOW TABLE EXTENDED, die mit dem Fehler Falscher FS fehlschlägt, wenn sich Partition und Tabelle auf unterschiedlichen Dateisystemen befinden. | 

## Amazon EMR 6.8.0 – Bekannte Probleme mit Hive
<a name="emr-Hive-680-issues"></a>
+ Bei Amazon EMR 6.6.0 bis 6.9.x haben INSERT-Abfragen mit dynamischer Partition und einer ORDER-BY- oder SORT-BY-Klausel immer zwei Reduzierungen. Dieses Problem wird durch die OSS-Änderung [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) verursacht, die die Optimierung dynamischer Sortierpartitionen einer kostenbasierten Entscheidung unterstellt. Wenn Ihr Workload keine Sortierung dynamischer Partitionen erfordert, empfehlen wir Ihnen, die `hive.optimize.sort.dynamic.partition.threshold`-Eigenschaft auf `-1` zu setzen, um das neue Feature zu deaktivieren und die korrekt berechnete Anzahl von Reduzierern zu erhalten. Dieses Problem wurde behoben in OSS Hive als Teil von [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) und in Amazon EMR 6.10.0 behoben.

# Amazon EMR 6.7.0 – Versionshinweise zu Hive
<a name="Hive-release-history-670"></a>

## Amazon EMR 6.7.0 – Hive-Änderungen
<a name="Hive-release-history-changes-670"></a>


| Typ | Description | 
| --- | --- | 
| Feature | [Integration von Amazon EMR Hive mit](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/). LakeFormation | 
| Feature | Zusätzliche Auditprotokollierung für den für Hive EMRFS Amazon S3 optimierten Committer. Hive-Konfiguration: hive.blobstore.output-committer.logging, Standard: false | 
| Feature | Das Zielverzeichnis wurde beim Einfügen gelöscht und mit leerem Auswahlresultat auf einer unpartitionierten table/static Partition überschrieben, sodass es sich ähnlich wie Hive 2.x verhält. Hive-Konfiguration: hive.emr.iow.clean.target.dir, Standard: false | 
| Fehler | Es wurde ein zeitweiliger Abfragefehler bei der Verwendung des für Amazon S3 optimierten Hive EMRFS Committers mit Partitions-Bucket-Sortierung behoben. | 
| Upgrade | Upgrade von Hive auf Version 3.1.3. Weitere Informationen finden Sie in den [Versionshinweisen zu Apache Hive 3.1.3](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12346277&styleName=Html&projectId=12310843).  | 
| Upgrade | [Parquet wurde auf 1.12.2 aktualisiert.](https://github.com/apache/parquet-mr/blob/apache-parquet-1.12.2/CHANGES.md) | 
| Backport | [HIVE-20065](https://issues.apache.org/jira/browse/HIVE-20065): Metastore sollte sich nicht auf Jackson 1.x verlassen | 
| Backport | [HIVE-20071](https://issues.apache.org/jira/browse/HIVE-20071): Migrieren Sie zu Jackson 2.x und verhindern Sie die Nutzung | 
| Backport | [HIVE-20607](https://issues.apache.org/jira/browse/HIVE-20607): sollte verwendet werden, um direkte SQL-Abfragen auszuführen TxnHandler PreparedStatement  | 
| Backport | [HIVE-20740](https://issues.apache.org/jira/browse/HIVE-20740): Entfernen Sie die globale Sperre in der Methode.setConf ObjectStore | 
| Backport | [HIVE-20961](https://issues.apache.org/jira/browse/HIVE-20961): NVL-Implementierung einstellen | 
| Backport | [HIVE-22059](https://issues.apache.org/jira/browse/HIVE-22059): Hive-Exec-Jar enthält keine Jackson-Bibliothek (fasterxml) | 
| Backport | [HIVE-22351](https://issues.apache.org/jira/browse/HIVE-22351): Korrigiert die falsche Verwendung von Threads in ObjectStore TestObjectStore | 
| Backport | [HIVE-23534](https://issues.apache.org/jira/browse/HIVE-23534): NPE in \$1invoke beim Abfangen ohne Nachricht RetryingMetaStoreClient MetaException | 
| Backport | [HIVE-24048](https://issues.apache.org/jira/browse/HIVE-24048): Harmonisieren Sie die Jackson-Komponenten auf Version 2.10.latest – Hive | 
| Backport | [HIVE-24768](https://issues.apache.org/jira/browse/HIVE-24768): Verwenden Sie jackson-bom überall für den Versionsersatz | 
| Backport | [HIVE-24816](https://issues.apache.org/jira/browse/HIVE-24816): Aktualisieren Sie Jackson aufgrund von CVE-2020-25649 auf 2.10.5.1 oder 2.11.0\$1 | 
| Backport | [HIVE-25971](https://issues.apache.org/jira/browse/HIVE-25971): Das Herunterfahren der Tez-Aufgabe verzögert sich, weil der zwischengespeicherte Thread-Pool nicht geschlossen wurde | 
| Backport | [HIVE-26036](https://issues.apache.org/jira/browse/HIVE-26036): NPE wurde durch get () in verursacht MTable ObjectStore | 

## Amazon EMR 6.7.0 – Bekannte Probleme mit Hive
<a name="emr-Hive-670-issues"></a>
+ Abfragen mit Fensterfunktionen für dieselbe Spalte wie Join können zu ungültigen Transformationen führen, wie in [HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278) gemeldet, und zu falschen Ergebnissen oder Abfragefehlern führen. Eine Problemumgehung bestünde darin, CBO für solche Abfragen auf Abfrageebene zu deaktivieren. Das Update wird in einer Amazon-EMR-Version nach 6.7.0 verfügbar sein. Für weitere Informationen wenden Sie sich an den Support. AWS 
+ Bei Amazon EMR 6.6.0 bis 6.9.x haben INSERT-Abfragen mit dynamischer Partition und einer ORDER-BY- oder SORT-BY-Klausel immer zwei Reduzierungen. Dieses Problem wird durch die OSS-Änderung [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) verursacht, die die Optimierung dynamischer Sortierpartitionen einer kostenbasierten Entscheidung unterstellt. Wenn Ihr Workload keine Sortierung dynamischer Partitionen erfordert, empfehlen wir Ihnen, die `hive.optimize.sort.dynamic.partition.threshold`-Eigenschaft auf `-1` zu setzen, um das neue Feature zu deaktivieren und die korrekt berechnete Anzahl von Reduzierern zu erhalten. Dieses Problem wurde behoben in OSS Hive als Teil von [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) und in Amazon EMR 6.10.0 behoben.

# Amazon EMR 6.6.0 – Versionshinweise zu Hive
<a name="Hive-release-history-660"></a>

## Amazon EMR 6.6.0 – Hive-Änderungen
<a name="Hive-release-history-changes-660"></a>


| Typ | Description | 
| --- | --- | 
| Upgrade |  Aktualisieren Sie Parquet auf [1.12.1](https://issues.apache.org/jira/browse/HIVE-24408)  | 
| Upgrade |  Aktualisieren der Jetty-Jar-Version auf 9.4.43.v20210629  | 
| Fehler | Es wurde ein Problem behoben, das dazu führte, dass Hive auf allen task/core Knoten installiert wurde, wenn LLAP auf einem Hive-Cluster aktiviert war. | 
| Backport | [HIVE-25942](https://issues.apache.org/jira/browse/HIVE-25942): Aktualisieren Sie Commons-io aufgrund von CVE-2021-29425 auf 2.8.0 | 
| Backport | [HIVE-25726](https://issues.apache.org/jira/browse/HIVE-25726): Erhöhen Sie die Geschwindigkeit aufgrund von CVE-2020-13936 auf 2,3 | 
| Backport | [HIVE-25680](https://issues.apache.org/jira/browse/HIVE-25680): Autorisieren Sie die \$1get\$1table\$1meta HiveMetastore Server-API, um eines der Autorisierungsmodelle zu verwenden. HiveMetastore | 
| Backport | [HIVE-25554](https://issues.apache.org/jira/browse/HIVE-25554): Aktualisieren Sie die Pfeilversion auf 0.15 | 
| Backport | [HIVE-25242](https://issues.apache.org/jira/browse/HIVE-25242): Die Abfrage wird mit vectorized.adaptor = chosen extrem langsam ausgeführt | 
| Backport | [HIVE-25085](https://issues.apache.org/jira/browse/HIVE-25085): MetaStore Clients werden nicht mehr sitzungsübergreifend gemeinsam genutzt. | 
| Backport | [HIVE-24827](https://issues.apache.org/jira/browse/HIVE-24827): Die Hive-Aggregationsabfrage gibt falsche Ergebnisse für Nicht-Textdateien zurück. | 
| Backport | [HIVE-24683](https://issues.apache.org/jira/browse/HIVE-24683): Hadoop23Shims sind aufgrund nicht vorhandener Pfade anfällig für NPE getFileId  | 
| Backport | [HIVE-24656](https://issues.apache.org/jira/browse/HIVE-24656): CBO schlägt bei Abfragen mit dem Wert Null bei Map- und Array-Typen fehl | 
| Backport | [HIVE-24556](https://issues.apache.org/jira/browse/HIVE-24556): Optimiert DefaultGraphWalker für den Fall ohne Enkelkind | 
| Backport | [HIVE-24408](https://issues.apache.org/jira/browse/HIVE-24408): Parquet auf 1.11.1 aktualisieren | 
| Backport | [HIVE-24391](https://issues.apache.org/jira/browse/HIVE-24391): FIX-Fehler in Branch-3.1 behoben TestOrcFile  | 
| Backport | [HIVE-24362](https://issues.apache.org/jira/browse/HIVE-24362): Die AST-Baumverarbeitung ist für Bäume mit einer großen Anzahl von Knoten suboptimal | 
| Backport | [HIVE-24316](https://issues.apache.org/jira/browse/HIVE-24316): Aktualisieren Sie ORC von 1.5.6 auf 1.5.8 in Branch-3.1 | 
| Backport | [HIVE-24307](https://issues.apache.org/jira/browse/HIVE-24307): Beeline mit Eigenschaftsdatei und -e-Parameter schlägt fehl | 
| Backport | [HIVE-24245](https://issues.apache.org/jira/browse/HIVE-24245): Vektorisiertes PTF mit Count und Distinct über der Partition, was zu falschen Ergebnissen führt. | 
| Backport | [HIVE-24224](https://issues.apache.org/jira/browse/HIVE-24224): Korrigiert das Überspringen von Hive on Tez bei komprimierter Datei header/footer  | 
| Backport | [HIVE-24157](https://issues.apache.org/jira/browse/HIVE-24157): Strikter Modus schlägt bei CAST-Zeitstempel fehl ↔ numerisch | 
| Backport | [HIVE-24113](https://issues.apache.org/jira/browse/HIVE-24113): NPE im generischen Format UDFTo UnixTimeStamp | 
| Backport | [HIVE-23987](https://issues.apache.org/jira/browse/HIVE-23987):Aktualisieren von Arrow auf Version 0.11.0 | 
| Backport | [HIVE-23972](https://issues.apache.org/jira/browse/HIVE-23972): Fügen Sie dem externen LLAP-Client eine externe Client-ID hinzu | 
| Backport | [HIVE-23806](https://issues.apache.org/jira/browse/HIVE-23806): Vermeiden Sie es, den Status der Spaltenstatistiken auf allen Partitionen zu löschen, falls das Schema erweitert wird. Dies verbessert die Laufzeit der Anweisung alter table add columns. | 
| Backport | [HIVE-23779](https://issues.apache.org/jira/browse/HIVE-23779): BasicStatsTask Die Informationen werden in der Beeline-Konsole nicht gedruckt | 
| Backport | [HIVE-23306](https://issues.apache.org/jira/browse/HIVE-23306): Der RESET-Befehl funktioniert nicht, wenn eine von System.GetProperty festgelegte Konfiguration vorhanden ist | 
| Backport | [HIVE-23164](https://issues.apache.org/jira/browse/HIVE-23164): Der Server wurde aufgrund von Threads, die kein Daemon sind, nicht ordnungsgemäß beendet | 
| Backport | [HIVE-22967](https://issues.apache.org/jira/browse/HIVE-22967): Support hive.reloadable.aux.jars.path für Hive on Tez | 
| Backport | [HIVE-22934](https://issues.apache.org/jira/browse/HIVE-22934): Interaktive Protokollzähler des Hive-Servers zum Fehlerstream | 
| Backport | [HIVE-22901](https://issues.apache.org/jira/browse/HIVE-22901): Die Substitution von Variablen kann bei Zirkelverweisen zu OOM führen | 
| Backport | [HIVE-22769](https://issues.apache.org/jira/browse/HIVE-22769): Falsche Abfrageergebnisse und Abfragefehler bei der Split-Generierung für komprimierte Textdateien | 
| Backport | [HIVE-22716](https://issues.apache.org/jira/browse/HIVE-22716): Das Lesen in ist unterbrochen ByteBuffer ParquetFooterInputFromCache | 
| Backport | [HIVE-22648](https://issues.apache.org/jira/browse/HIVE-22648): Parquet auf 1.11.0 aktualisieren | 
| Backport | [HIVE-22640: Decimal64: wenn](https://issues.apache.org/jira/browse/HIVE-22640) der Partitionsspaltentyp Dezimal ist ColumnVector ClassCastException  | 
| Backport | [HIVE-22621: instabiler Testfall: .testSigning](https://issues.apache.org/jira/browse/HIVE-22621) TestLlapSignerImpl | 
| Backport | [HIVE-22533](https://issues.apache.org/jira/browse/HIVE-22533): Behebt mögliche Sicherheitslücken in der Web-Benutzeroberfläche des LLAP-Daemons | 
| Backport | [HIVE-22532](https://issues.apache.org/jira/browse/HIVE-22532): PTFPPD kann das Limit durch die Funktion falsch verschieben Rank/DenseRank  | 
| Backport | [HIVE-22514](https://issues.apache.org/jira/browse/HIVE-22514): könnte viel Speicher verbrauchen HiveProtoLoggingHook  | 
| Backport | [HIVE-22476](https://issues.apache.org/jira/browse/HIVE-22476): Die Hive-Datediff-Funktion lieferte inkonsistente Ergebnisse, wenn hive.fetch.task.conversion auf none gesetzt war | 
| Backport | [HIVE-22429](https://issues.apache.org/jira/browse/HIVE-22429): Migrierte Clustertabellen mit bucketing\$1version 1 auf Hive 3 verwenden bucketing\$1version 2 für Einfügungen | 
| Backport | [HIVE-22412](https://issues.apache.org/jira/browse/HIVE-22412): Beim Erklären wird NPE ausgelöst StatsUtils  | 
| Backport | [HIVE-22360](https://issues.apache.org/jira/browse/HIVE-22360): MultiDelimitSerDe gibt falsche Ergebnisse in der letzten Spalte zurück, wenn die geladene Datei mehr Spalten hat als die im Tabellenschema | 
| Backport | [HIVE-22332](https://issues.apache.org/jira/browse/HIVE-22332): Hive sollte sicherstellen, dass die Einstellungen für die Schemaentwicklung seit ORC-540 gültig sind | 
| Backport | [HIVE-22331](https://issues.apache.org/jira/browse/HIVE-22331): unix\$1timestamp ohne Argument gibt den Zeitstempel in Millisekunden statt in Sekunden zurück | 
| Backport | [HIVE-22275:.](https://issues.apache.org/jira/browse/HIVE-22275) OperationManager queryIdOperationbereinigt mehrere QueryIDs nicht richtig | 
| Backport | [HIVE-22273](https://issues.apache.org/jira/browse/HIVE-22273): Die Zugriffsprüfung schlägt fehl, wenn ein temporäres Verzeichnis entfernt wird | 
| Backport | [HIVE-22270](https://issues.apache.org/jira/browse/HIVE-22270): Aktualisieren Sie Commons-io auf 2.6 | 
| Backport | [HIVE-22241](https://issues.apache.org/jira/browse/HIVE-22241): Implementieren Sie UDF zur Interpretation unter date/timestamp Verwendung seiner internen Darstellung und des gregorianisch-julianischen Hybridkalenders | 
| Backport | [HIVE-22241](https://issues.apache.org/jira/browse/HIVE-22241): Implementieren Sie UDF zur Interpretation unter Verwendung seiner internen Repräsentation und des gregorianisch-julianischen Hybrids date/timestamp  | 
| Backport | [HIVE-22232](https://issues.apache.org/jira/browse/HIVE-22232): NPE, wenn hive.order.columnalignment auf false gesetzt ist | 
| Backport | [HIVE-22231](https://issues.apache.org/jira/browse/HIVE-22231): Hive-Abfrage mit großer Größe über Knox schlägt fehl, Broken Pipe Write ist fehlgeschlagen | 
| Backport | [HIVE-22221](https://issues.apache.org/jira/browse/HIVE-22221): Externer Llap-Client — \$1getSplits muss reduziert werden LlapBaseInputFormat | 
| Backport | [HIVE-22208](https://issues.apache.org/jira/browse/HIVE-22208): Der Spaltenname mit reserviertem Schlüsselwort wird nicht maskiert, wenn die Abfrage, die eine Verknüpfung für eine Tabelle mit Maskenspalte enthält, neu geschrieben wird | 
| Backport | [HIVE-22197](https://issues.apache.org/jira/browse/HIVE-22197): Häufiger Merge-Join, der eine Klassenumwandlungs-Ausnahme auslöst. | 
| Backport | [HIVE-22170](https://issues.apache.org/jira/browse/HIVE-22170): from\$1unixtime und unix\$1timestamp sollten die Zeitzone der Benutzersitzung verwenden | 
| Backport | [HIVE-22169](https://issues.apache.org/jira/browse/HIVE-22169): Tez: SplitGenerator versucht nach Plandateien zu suchen, die für Tez nicht existieren | 
| Backport | [HIVE-22168](https://issues.apache.org/jira/browse/HIVE-22168): Entfernen Sie sehr teure Protokollierung aus dem Llap-Cache-Hotpath | 
| Backport | [HIVE-22161](https://issues.apache.org/jira/browse/HIVE-22161): UDF: synchronisiert auf org.apache.hadoop.hive.ql.udf. FunctionRegistry UDFType Klasse | 
| Backport | [HIVE-22120](https://issues.apache.org/jira/browse/HIVE-22120): Korrigiert falsche ArrayOutOfBound Ergebnisse/Ausnahmen bei Verbindungen auf der linken äußeren Karte unter bestimmten Randbedingungen | 
| Backport | [HIVE-22115](https://issues.apache.org/jira/browse/HIVE-22115): Verhindert die Erstellung eines Query Routing Appenders, wenn die Eigenschaft auf False gesetzt ist | 
| Backport | [HIVE-22113](https://issues.apache.org/jira/browse/HIVE-22113): Verhindert das Herunterfahren von LLAP bei verwandten AMReporter RuntimeException | 
| Backport | [HIVE-22106](https://issues.apache.org/jira/browse/HIVE-22106): Entfernen Sie die abfrageübergreifende Synchronisation für die Partition-Eval | 
| Backport | [HIVE-22099: Seit HIVE-2000](https://issues.apache.org/jira/browse/HIVE-22099) können mehrere datumsbezogene UDFs Daten nicht korrekt mit julianischen Daten umgehen | 
| Backport | [HIVE-22037](https://issues.apache.org/jira/browse/HIVE-22037): sollte beim Herunterfahren aufgrund von OOM protokollieren HS2  | 
| Backport | [HIVE-21976](https://issues.apache.org/jira/browse/HIVE-21976): Der Offset sollte in Calcit Null statt Null sein HiveSortLimit | 
| Backport | [HIVE-21924](https://issues.apache.org/jira/browse/HIVE-21924): Textdateien teilen, auch wenn sie existieren header/footer  | 
| Backport | [HIVE-21913](https://issues.apache.org/jira/browse/HIVE-21913): Generic UDTFGet Splits sollte Benutzernamen genauso behandeln wie LLAP | 
| Backport | [HIVE-21905](https://issues.apache.org/jira/browse/HIVE-21905): Verbesserung der Generika in der gesamten Klasse FetchOperator  | 
| Backport | [HIVE-21902](https://issues.apache.org/jira/browse/HIVE-21902): 2 UI: HiveServer Anforderungen an den Jetty-Response-Header X-Frame-Options | 
| Backport | [HIVE-21888](https://issues.apache.org/jira/browse/HIVE-21888): Setzen Sie hive.parquet.timestamp.skip.conversion standardmäßig auf wahr | 
| Backport | [HIVE-21868](https://issues.apache.org/jira/browse/HIVE-21868): Vektorisieren Sie das CAST …-FORMAT | 
| Backport | [ LlapBaseInputFormatHIVE-21864](https://issues.apache.org/jira/browse/HIVE-21864): \$1closeAll | 
| Backport | [HIVE-21863](https://issues.apache.org/jira/browse/HIVE-21863): Verbessert das Vectorizer-Typ-Casting für den WHEN-Ausdruck | 
| Backport | [HIVE-21862](https://issues.apache.org/jira/browse/HIVE-21862): ORC ppd erzeugt ein falsches Ergebnis mit Zeitstempel | 
| Backport | [HIVE-21846](https://issues.apache.org/jira/browse/HIVE-21846): Erstelle einen Thread in TeamAm, der regelmäßig Metriken abruft LlapDaemon  | 
| Backport | [HIVE-21837](https://issues.apache.org/jira/browse/HIVE-21837): löst eine Ausnahme aus, wenn die ausgewählte Spalte MapJoin vollständig Nullwerte enthält | 
| Backport | [HIVE-21834](https://issues.apache.org/jira/browse/HIVE-21834): Vermeiden Sie unnötige Aufrufe, um die Filterbedingungen zu vereinfachen | 
| Backport | [HIVE-21832](https://issues.apache.org/jira/browse/HIVE-21832): Neue Metriken zur Ermittlung der durchschnittlichen Zeit queue/serving/response | 
| Backport | [HIVE-21827](https://issues.apache.org/jira/browse/HIVE-21827): Mehrere Aufrufe durchlaufen die Methode nicht SemanticAnalyzer getTableObject ByName  | 
| Backport | [HIVE-21822](https://issues.apache.org/jira/browse/HIVE-21822): Machen Sie Metriken über eine neue API-Methode verfügbar LlapDaemon  | 
| Backport | [HIVE-21818](https://issues.apache.org/jira/browse/HIVE-21818): CBO: Beim Kopieren kommt es zu Metastore-Verkehr TableRelOptHiveTable | 
| Backport | [HIVE-21815](https://issues.apache.org/jira/browse/HIVE-21815): Statistiken in der ORC-Datei werden zweimal analysiert | 
| Backport | [HIVE-21805](https://issues.apache.org/jira/browse/HIVE-21805): 2: Benutze das Schnelle HiveServer ShutdownHookManager APIs | 
| Backport | [HIVE-21799](https://issues.apache.org/jira/browse/HIVE-21799): NullPointerException in, wenn sich der Join-Schlüssel in der DynamicPartitionPruningOptimization Aggregationsspalte befindet | 
| Backport | [HIVE-21794](https://issues.apache.org/jira/browse/HIVE-21794): Fügt Parameter für materialisierte Ansichten hinzu sqlStdAuth SafeVarNameRegexes | 
| Backport | [HIVE-21768](https://issues.apache.org/jira/browse/HIVE-21768): JDBC: Entfernt das Standard-Union-Präfix für nicht eingeschlossene UNION-Abfragen | 
| Backport | [HIVE-21746](https://issues.apache.org/jira/browse/HIVE-21746): ArrayIndexOutOfBoundsException während eines dynamisch partitionierten Hash-Joins mit deaktiviertem CBO | 
| Backport | [HIVE-21717](https://issues.apache.org/jira/browse/HIVE-21717): Das Umbenennen des Verzeichnisses in der Verschiebungsaufgabe schlägt fehl. | 
| Backport | [HIVE-21685](https://issues.apache.org/jira/browse/HIVE-21685): Falsche Vereinfachung in einer Abfrage mit mehreren IN-Klauseln | 
| Backport | [HIVE-21681](https://issues.apache.org/jira/browse/HIVE-21681): Formatiertes beschreiben zeigt falsche Informationen für mehrere Primärschlüssel | 
| Backport | [HIVE-21651](https://issues.apache.org/jira/browse/HIVE-21651): Verschieben Sie Protobug Serde nach Hive-Exec. | 
| Backport | [HIVE-21619](https://issues.apache.org/jira/browse/HIVE-21619): Druckt den Zeitstempeltyp ohne Genauigkeit in SQL Explain Extended | 
| Backport | [HIVE-21592](https://issues.apache.org/jira/browse/HIVE-21592): OptimizedSql wird nicht angezeigt, wenn der Ausdruck CONCAT enthält | 
| Backport | [HIVE-21576](https://issues.apache.org/jira/browse/HIVE-21576): Einführung von CAST … FORMAT und einer begrenzten Liste von SQL:2016-Datetime-Formaten | 
| Backport | [HIVE-21573](https://issues.apache.org/jira/browse/HIVE-21573): Der binäre Transport ignoriert den Prinzipal, wenn Auth auf DelegationToken gesetzt ist | 
| Backport | [HIVE-21550](https://issues.apache.org/jira/browse/HIVE-21550): Die TestObjectStore Tests sind fehlerhaft — Eine Sperre konnte nicht innerhalb der angeforderten Zeit abgerufen werden | 
| Backport | [HIVE-21544](https://issues.apache.org/jira/browse/HIVE-21544): Ständige Ausbreitung verfälscht Ausdrücke beim Falten coalesce/case/when | 
| Backport | [HIVE-21539](https://issues.apache.org/jira/browse/HIVE-21539): GroupBy \$1 Die WHERE-Klausel in derselben Spalte führt zu einem falschen Umschreiben der Abfrage | 
| Backport | [HIVE-21538](https://issues.apache.org/jira/browse/HIVE-21538): Beeline: Passwortquelle, obwohl der Konsolenleser den Verbindungsparameter nicht übergeben hat | 
| Backport | [HIVE-21509](https://issues.apache.org/jira/browse/HIVE-21509): LLAP kann beschädigte Spaltenvektoren zwischenspeichern und ein falsches Abfrageergebnis zurückgeben | 
| Backport | [HIVE-21499](https://issues.apache.org/jira/browse/HIVE-21499): sollte die Funktion nicht aus der Registrierung entfernen, wenn der Befehl create fehlgeschlagen ist mit AlreadyExistsException | 
| Backport | [HIVE-21496](https://issues.apache.org/jira/browse/HIVE-21496): Bei der automatischen Dimensionierung ungeordneter Puffer kann es zu einem Überlauf kommen | 
| Backport | [HIVE-21468](https://issues.apache.org/jira/browse/HIVE-21468): Berücksichtigung von Groß- und Kleinschreibung bei Bezeichnernamen für den JDBC-Speicherhandler | 
| Backport | [HIVE-21467](https://issues.apache.org/jira/browse/HIVE-21467): Entfernen Sie veraltete JUnit.Framework.Assert-Importe | 
| Backport | [HIVE-21435](https://issues.apache.org/jira/browse/HIVE-21435): LlapBaseInputFormat sollte beim Erstellen die Aufgabennummer aus der TASK\$1ATTEMPT\$1ID conf abrufen, falls vorhanden SubmitWorkRequestProto | 
| Backport | [HIVE-21389](https://issues.apache.org/jira/browse/HIVE-21389): Bei der Hive-Distribution fehlt javax.ws.rs-api.jar nach HIVE-21247 | 
| Backport | [HIVE-21385](https://issues.apache.org/jira/browse/HIVE-21385): Erlaubt die Deaktivierung der Übertragung von Berechnungen, die nicht splittbar sind, an JDBC-Quellen | 
| Backport | [HIVE-21383](https://issues.apache.org/jira/browse/HIVE-21383): JDBC-Speicherhandler: Verwenden Sie Katalog und Schema, um Tabellen abzurufen, falls angegeben | 
| Backport | [HIVE-21382](https://issues.apache.org/jira/browse/HIVE-21382): Optimierung der Reduzierung der Gruppierung nach Schlüsseln – Schlüssel werden in query23 nicht reduziert | 
| Backport | [HIVE-21362](https://issues.apache.org/jira/browse/HIVE-21362): Fügt ein Eingabeformat hinzu und dient dazu, aus Protobuf-Dateien zu lesen. | 
| Backport | [HIVE-21340](https://issues.apache.org/jira/browse/HIVE-21340): CBO: Beschneidet Spalten, die keine Schlüssel sind SemiJoin | 
| Backport | [HIVE-21332](https://issues.apache.org/jira/browse/HIVE-21332): Löscht die nicht gesperrten Puffer statt der gesperrten | 
| Backport | [HIVE-21329](https://issues.apache.org/jira/browse/HIVE-21329): Ungeordnete Größe des Ausgabepuffers für benutzerdefinierte Tez-Laufzeit, abhängig von der Operator-Pipeline | 
| Backport | [HIVE-21295: soll das Datum unter Verwendung der Hive-Konvention](https://issues.apache.org/jira/browse/HIVE-21295) in eine Zeichenfolge konvertieren StorageHandler  | 
| Backport | [HIVE-21294](https://issues.apache.org/jira/browse/HIVE-21294): Vektorisierung: 1-Reducer Shuffle kann die Objekt-Hash-Funktionen überspringen | 
| Backport | [HIVE-21255: Entfernen in](https://issues.apache.org/jira/browse/HIVE-21255) QueryConditionBuilder JdbcStorageHandler | 
| Backport | [HIVE-21253](https://issues.apache.org/jira/browse/HIVE-21253): Support in JDBC DB2 StorageHandler | 
| Backport | [HIVE-21232](https://issues.apache.org/jira/browse/HIVE-21232): LLAP: Fügt einen Anbieter für zwischengespeicherte Affinitäten hinzu | 
| Backport | [HIVE-21214](https://issues.apache.org/jira/browse/HIVE-21214): MoveTask : Verwenden Sie AttemptID anstelle der Dateigröße für die Deduplizierung von Dateien compareTempOr DuplicateFiles | 
| Backport | [HIVE-21184](https://issues.apache.org/jira/browse/HIVE-21184): Fügen Sie einen formatierten CBO-Plan mit Erläuterungen und Erläuterungen mit Kosteninformationen hinzu | 
| Backport | [HIVE-21182](https://issues.apache.org/jira/browse/HIVE-21182): Überspringen Sie die Einrichtung von Hive Scratch Dir während der Planung | 
| Backport | [HIVE-21171](https://issues.apache.org/jira/browse/HIVE-21171): Überspringen Sie das Erstellen von Scratch-Verzeichnissen für Tez, wenn RPC aktiviert ist | 
| Backport | [HIVE-21126](https://issues.apache.org/jira/browse/HIVE-21126): Abfragen auf Sitzungsebene in \$1getSplit zulassen LlapBaseInputFormat | 
| Backport | [HIVE-21107](https://issues.apache.org/jira/browse/HIVE-21107): Fehler „Feld kann nicht gefunden werden“ beim dynamisch partitionierten Hash-Join | 
| Backport | [HIVE-21061](https://issues.apache.org/jira/browse/HIVE-21061): Die CTAS-Abfrage schlägt fehl, wenn die Quelle leer ist IllegalStateException  | 
| Backport | [HIVE-21041](https://issues.apache.org/jira/browse/HIVE-21041): NPE, beim Abrufen des Schemas aus dem logischen Plan ParseException  | 
| Backport | [HIVE-21013](https://issues.apache.org/jira/browse/HIVE-21013): Die Partitionsspalte konnte in Oracle nicht gefunden JdbcStorageHandler werden | 
| Backport | [HIVE-21006](https://issues.apache.org/jira/browse/HIVE-21006): Erweitern, um Semijoin SharedWorkOptimizer zu entfernen, wenn sich eine Möglichkeit zur Wiederverwendung ergibt | 
| Backport | [HIVE-20992](https://issues.apache.org/jira/browse/HIVE-20992): Teilen Sie die Konfiguration hive.metastore.dbaccess.ssl.properties in aussagekräftigere Konfigurationen auf | 
| Backport | [HIVE-20989](https://issues.apache.org/jira/browse/HIVE-20989): JDBC — Das \$1-Protokoll kann den Abfragefortschritt im Ruhezustand blockieren GetOperationStatus  | 
| Backport | [HIVE-20988](https://issues.apache.org/jira/browse/HIVE-20988): Falsche Ergebnisse für Gruppierungsabfragen mit Primärschlüssel in mehreren Spalten | 
| Backport | [HIVE-20985](https://issues.apache.org/jira/browse/HIVE-20985): Wenn es sich bei den Eingaben des ausgewählten Operators um temporäre Spalten handelt, kann die Vektorisierung einige davon als Ausgabe wiederverwenden | 
| Backport | [HIVE-20978: „hive.jdbc.\$1](https://issues.apache.org/jira/browse/HIVE-20978)“ sollte Folgendes hinzufügen sqlStdAuth SafeVarNameRegexes | 
| Backport | [HIVE-20953](https://issues.apache.org/jira/browse/HIVE-20953): Entfernt eine Funktion aus der Funktionsregistrierung, wenn sie beim Erstellen nicht zum Metastore hinzugefügt werden kann. | 
| Backport | [HIVE-20952](https://issues.apache.org/jira/browse/HIVE-20952): VectorizationContext .java reinigen | 
| Backport | [HIVE-20951](https://issues.apache.org/jira/browse/HIVE-20951): LLAP: Setzen Sie Xms immer auf 50 % | 
| Backport | [HIVE-20949](https://issues.apache.org/jira/browse/HIVE-20949): Verbessern Sie die Schätzung der PKFK-Kardinalität bei der Raumplanung | 
| Backport | [HIVE-20944](https://issues.apache.org/jira/browse/HIVE-20944): Statistiken werden während der Abfragekompilierung nicht validiert | 
| Backport | [HIVE-20940](https://issues.apache.org/jira/browse/HIVE-20940): Überbrückt Fälle, in denen die Typauflösung von Calcite strenger ist als bei Hive. | 
| Backport | [HIVE-20937](https://issues.apache.org/jira/browse/HIVE-20937): Die Postgres-JDBC-Abfrage schlägt mit der Meldung „LIMIT darf nicht negativ sein“ fehl | 
| Backport | [HIVE-20926](https://issues.apache.org/jira/browse/HIVE-20926): Der Hinweis zur Reduzierung von Semi-Joins schlägt fehl, wenn die Bloom-Filter-Einträge hoch sind oder wenn es keine Statistiken gibt | 
| Backport | [HIVE-20920](https://issues.apache.org/jira/browse/HIVE-20920): Verwenden Sie SQL-Einschränkungen, um den Algorithmus zur Neuanordnung von Joins zu verbessern | 
| Backport | [HIVE-20918](https://issues.apache.org/jira/browse/HIVE-20918): Markierung für die Übertragung von Berechnungen von Calcite in die JDBC-Verbindung enable/disable  | 
| Backport | [HIVE-20915](https://issues.apache.org/jira/browse/HIVE-20915): Stellen Sie die dynamische Optimierung der Sortierpartition für HoS und MR zur Verfügung | 
| Backport | [HIVE-20910](https://issues.apache.org/jira/browse/HIVE-20910): Das Einfügen in eine Bucket-Tabelle schlägt aufgrund der Optimierung der dynamischen Partitionssortierung fehl | 
| Backport | [HIVE-20899](https://issues.apache.org/jira/browse/HIVE-20899): Die Keytab-URI für den LLAP YARN-Dienst ist auf die Unterstützung von HDFS beschränkt | 
| Backport | [HIVE-20898](https://issues.apache.org/jira/browse/HIVE-20898): Für zeitbezogene Funktionen dürfen Argumente nicht in einen Typ umgewandelt werden, der keine NULL-Werte zulässt | 
| Backport | [HIVE-20881](https://issues.apache.org/jira/browse/HIVE-20881): Konstante Ausbreitung vereinfacht Prognosen zu stark | 
| Backport | [HIVE-20880](https://issues.apache.org/jira/browse/HIVE-20880): Den Standardwert für hive.stats.filter.in.min.ratio aktualisieren | 
| Backport | HIVE-20873: Verwenden Sie [Murmur-Hash](https://issues.apache.org/jira/browse/HIVE-20873), um die Hash-Kollision zu reduzieren VectorHashKeyWrapperTwoLong  | 
| Backport | [HIVE-20868](https://issues.apache.org/jira/browse/HIVE-20868): SMB Join schlägt zeitweise fehl, wenn ein untergeordnetes Op-In ist TezDummyOperator getFinalOp MapRecordProcessor | 
| Backport | [HIVE-20853](https://issues.apache.org/jira/browse/HIVE-20853): Machen Sie .registerDag in der Llap-Daemon-API verfügbar ShuffleHandler | 
| Backport | [HIVE-20850](https://issues.apache.org/jira/browse/HIVE-20850): Übertragen Sie nach Möglichkeit die Groß- und Kleinschreibung von Projektionen in Dimensionstabellen | 
| Backport | [HIVE-20842](https://issues.apache.org/jira/browse/HIVE-20842): Die in HIVE-20660 eingeführte Logik zur Schätzung von Statistiken für Gruppen nach wurde korrigiert | 
| Backport | [HIVE-20839](https://issues.apache.org/jira/browse/HIVE-20839): Fehler „Feld kann nicht gefunden werden“ beim dynamisch partitionierten Hash-Join | 
| Backport | [HIVE-20835](https://issues.apache.org/jira/browse/HIVE-20835): Die Wechselwirkung zwischen Einschränkungen und dem Umschreiben von MV kann zu einer Schleife im Calcite-Planer führen | 
| Backport | [HIVE-20834: Hive-Einträge](https://issues.apache.org/jira/browse/HIVE-20834), die auf eine zwischengespeicherte Abfrage verweisen QueryResultCache SemanticAnalyzer  | 
| Backport | [HIVE-20830](https://issues.apache.org/jira/browse/HIVE-20830): In einigen Fällen schlägt die Bestätigung der Bereichsabfrage fehl JdbcStorageHandler  | 
| Backport | [HIVE-20829](https://issues.apache.org/jira/browse/HIVE-20829): Die Bereichsteilung löst NPE aus JdbcStorageHandler  | 
| Backport | [HIVE-20827](https://issues.apache.org/jira/browse/HIVE-20827): Inkonsistente Ergebnisse für leere Arrays | 
| Backport | [HIVE-20826](https://issues.apache.org/jira/browse/HIVE-20826): Die HiveSemiJoin Regel wurde dahingehend erweitert, dass Join \$1 Group by auf der linken Seite in Left Semi Join umgewandelt wird | 
| Backport | [HIVE-20821](https://issues.apache.org/jira/browse/HIVE-20821): In die Kombination SUM \$1 COALESCE umschreiben SUM0  | 
| Backport | [HIVE-20815](https://issues.apache.org/jira/browse/HIVE-20815): .next darf keine Ausnahme essen JdbcRecordReader | 
| Backport | [HIVE-20813](https://issues.apache.org/jira/browse/HIVE-20813): udf to\$1epoch\$1milli muss auch Timestamp ohne Zeitzone unterstützen. | 
| Backport | [HIVE-20804](https://issues.apache.org/jira/browse/HIVE-20804): Weitere Verbesserungen der Gruppierungsoptimierung mit Einschränkungen | 
| Backport | [HIVE-20792](https://issues.apache.org/jira/browse/HIVE-20792): Beim Einfügen eines Zeitstempels mit Zonen werden die Daten gekürzt | 
| Backport | [HIVE-20788](https://issues.apache.org/jira/browse/HIVE-20788): Durch die erweiterte SJ-Reduzierung werden Spalten beim Erstellen von Filtern möglicherweise falsch zurückverfolgt | 
| Backport | [HIVE-20778](https://issues.apache.org/jira/browse/HIVE-20778): Die Neuordnung von Joins wird möglicherweise nicht ausgelöst, wenn alle Joins im Plan durch die Dekorrelationslogik erstellt wurden | 
| Backport | [HIVE-20772](https://issues.apache.org/jira/browse/HIVE-20772): CPU-Zähler pro Aufgabe in LLAP aufzeichnen | 
| Backport | [HIVE-20768](https://issues.apache.org/jira/browse/HIVE-20768): Tumbling Window UDF hinzufügen | 
| Backport | [HIVE-20767](https://issues.apache.org/jira/browse/HIVE-20767): Mehrere Projekte zwischen Join-Operatoren können sich auf die Neuanordnung von Verknüpfungen mithilfe von Einschränkungen auswirken | 
| Backport | [HIVE-20762](https://issues.apache.org/jira/browse/HIVE-20762): Das Bereinigungsintervall von NOTIFICATION\$1LOG ist auf 60 Sekunden fest codiert und ist zu klein | 
| Backport | [HIVE-20761](https://issues.apache.org/jira/browse/HIVE-20761): Die für die Aktualisierung ausgewählte Tabelle notification\$1sequence hat ein Wiederholungsintervall und die Anzahl der Wiederholungen ist zu klein | 
| Backport | [HIVE-20751](https://issues.apache.org/jira/browse/HIVE-20751) Aktualisieren von Hive auf Version 0.10.0 | 
| Backport | [HIVE-20746](https://issues.apache.org/jira/browse/HIVE-20746): HiveProtoHookLogger schließt die Datei am Ende des Tages nicht. | 
| Backport | [HIVE-20744](https://issues.apache.org/jira/browse/HIVE-20744): Verwenden Sie SQL-Einschränkungen, um den Algorithmus zur Neuanordnung von Joins zu verbessern | 
| Backport | [HIVE-20740](https://issues.apache.org/jira/browse/HIVE-20740): Entfernen Sie die globale Sperre in der Methode.setConf. ObjectStore Dieser Cherrypick portiert HIVE-20740, das für Hive 3.2 und 4.x vorgesehen ist, auf 3.1.x zurück | 
| Backport | [HIVE-20734](https://issues.apache.org/jira/browse/HIVE-20734): Beeline: Wenn beeline-site.xml aktiviert ist und Hive CLI zu Beeline umleitet, sollte es das Systemkennwort verwenden, anstatt nach einem zu fragen username/dummy  | 
| Backport | [HIVE-20731: Die Eingabe der Keystore-Datei sollte autorisiert sein](https://issues.apache.org/jira/browse/HIVE-20731) JdbcStorageHandler | 
| Backport | [HIVE-20720](https://issues.apache.org/jira/browse/HIVE-20720): Fügt dem JDBC-Handler eine Partitionsspaltenoption hinzu | 
| Backport | [HIVE-20719](https://issues.apache.org/jira/browse/HIVE-20719): Die SELECT-Anweisung schlägt nach dem UPDATE fehl, wenn die Optimierung und Vektorisierung von hive.optimize.sort.dynamic.partition aktiviert ist | 
| Backport | [HIVE-20718](https://issues.apache.org/jira/browse/HIVE-20718): Perf-CLI-Treiber mit Einschränkungen hinzugefügt | 
| Backport | [HIVE-20716](https://issues.apache.org/jira/browse/HIVE-20716): Setzen Sie den Standardwert für hive.cbo.stats.correlated.multi.key.join auf true | 
| Backport | [HIVE-20712: sollte tiefe Fälle extrahieren](https://issues.apache.org/jira/browse/HIVE-20712) HivePointLookupOptimizer  | 
| Backport | [HIVE-20710](https://issues.apache.org/jira/browse/HIVE-20710): Konstantes Falten erzeugt möglicherweise keine Nullkonstanten ohne Typen | 
| Backport | [HIVE-20706](https://issues.apache.org/jira/browse/HIVE-20706): external\$1jdbc\$1table2.q schlägt zeitweise fehl | 
| Backport | [HIVE-20704](https://issues.apache.org/jira/browse/HIVE-20704): Erweiterung zur Unterstützung anderer Funktionen HivePreFilteringRule  | 
| Backport | [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703): Unterstellen Sie die Optimierung dynamischer Sortierpartitionen einer kostenbasierten Entscheidung | 
| Backport | [HIVE-20702](https://issues.apache.org/jira/browse/HIVE-20702): Berücksichtigen Sie den Mehraufwand, der durch datenstrukturabhängige Schätzungen bei der Mapjoin-Auswahl entsteht | 
| Backport | [HIVE-20692](https://issues.apache.org/jira/browse/HIVE-20692): Aktiviert die Faltung von NOT x IS (NOT) [TRUE\$1FALSE] -Ausdrücken | 
| Backport | HIVE-20691: Korrigieren Sie [org.apache.hadoop.hive.cli](https://issues.apache.org/jira/browse/HIVE-20691). TestMiniLlapCliDriver. testCliDriver[cttl] | 
| Backport | [HIVE-20682](https://issues.apache.org/jira/browse/HIVE-20682): Die asynchrone Abfrageausführung kann möglicherweise fehlschlagen, wenn Shared SessionHive vom Master-Thread geschlossen wird | 
| Backport | [HIVE-20676](https://issues.apache.org/jira/browse/HIVE-20676): HiveServer 2: PrivilegeSynchronizer ist nicht auf den Daemon-Status gesetzt | 
| Backport | [HIVE-20660](https://issues.apache.org/jira/browse/HIVE-20660): Die Schätzung der Gruppierung nach Statistiken könnte verbessert werden, indem die Gesamtzahl der Zeilen an die Quelltabelle gebunden wird | 
| Backport | [HIVE-20652](https://issues.apache.org/jira/browse/HIVE-20652): JdbcStorageHandler Push-Join von zwei verschiedenen Datenquellen zum JDBC-Treiber | 
| Backport | [HIVE-20651](https://issues.apache.org/jira/browse/HIVE-20651): JdbcStorageHandler Das Passwort sollte verschlüsselt sein | 
| Backport | [HIVE-20649](https://issues.apache.org/jira/browse/HIVE-20649): LLAP-fähiger Speichermanager für Orc-Writer | 
| Backport | [HIVE-20648](https://issues.apache.org/jira/browse/HIVE-20648): LLAP: Von Operatoren gruppierte Vektoren sollten Speicher pro Executor verwenden | 
| Backport | [HIVE-20646](https://issues.apache.org/jira/browse/HIVE-20646): Die Partitionsfilterbedingung wird nicht auf die Metastore-Abfrage übertragen, wenn sie IS NOT NULL hat | 
| Backport | [HIVE-20644](https://issues.apache.org/jira/browse/HIVE-20644): Vermeiden Sie es, vertrauliche Informationen durch eine Hive Laufzeit-Ausnahme preiszugeben | 
| Backport | [HIVE-20636](https://issues.apache.org/jira/browse/HIVE-20636): Verbessert die Schätzung der Anzahl der Nullwerte nach dem Outer-Join | 
| Backport | [HIVE-20632](https://issues.apache.org/jira/browse/HIVE-20632): Die Abfrage mit der UDF get\$1splits schlägt fehl, wenn eine materialisierte Ansicht für die abgefragte Tabelle erstellt wird | 
| Backport | [HIVE-20627](https://issues.apache.org/jira/browse/HIVE-20627): Gleichzeitige asynchrone Abfragen schlagen zeitweise fehl und verursachen Speicherleck LockException  | 
| Backport | [HIVE-20623](https://issues.apache.org/jira/browse/HIVE-20623): Gemeinsames Arbeiten: Erweitert die gemeinsame Nutzung von Map-Join-Cache-Einträgen in LLAP | 
| Backport | [ MultiDelimitSerDe HIVE-20619](https://issues.apache.org/jira/browse/HIVE-20619) HiveServer: Standardmäßig in 2 einschließen | 
| Backport | [HIVE-20618](https://issues.apache.org/jira/browse/HIVE-20618): Beim Zusammenführen kann die Auswahl für Tabellen ohne Buckets ausgewählt werden BucketMapJoin | 
| Backport | [HIVE-20617](https://issues.apache.org/jira/browse/HIVE-20617): Korrigiert den Typ der Konstanten in IN-Ausdrücken, sodass sie den richtigen Typ haben | 
| Backport | [HIVE-20612](https://issues.apache.org/jira/browse/HIVE-20612): Erstellen Sie ein neues Join-Korrelationsflag für mehrere Schlüssel für CBO | 
| Backport | [HIVE-20603](https://issues.apache.org/jira/browse/HIVE-20603): Fehler „Falsches FS“ beim Einfügen in eine Partition nach dem Ändern des Dateisystems mit Tabellenposition | 
| Backport | [HIVE-20601](https://issues.apache.org/jira/browse/HIVE-20601): Null im ALTER\$1PARTITION-Ereignis in EnvironmentContext DbNotificationListener | 
| Backport | [HIVE-20583](https://issues.apache.org/jira/browse/HIVE-20583): Verwenden Sie den kanonischen Hostnamen nur für die Kerberos-Authentifizierung in HiveConnection | 
| Backport | [HIVE-20582](https://issues.apache.org/jira/browse/HIVE-20582): Machen Sie hflush in der Hive-Proto-Protokollierung konfigurierbar | 
| Backport | [HIVE-20563](https://issues.apache.org/jira/browse/HIVE-20563): Vektorisierung: Der CASE WHEN-Ausdruck schlägt fehl, wenn Typ und Ergebnistyp unterschiedlich sind THEN/ELSE  | 
| Backport | [HIVE-20558](https://issues.apache.org/jira/browse/HIVE-20558): Ändern Sie die Standardeinstellung von hive.hashtable.key.count.adjustment auf 0,99 | 
| Backport | [HIVE-20552](https://issues.apache.org/jira/browse/HIVE-20552): Schema schneller abrufen LogicalPlan | 
| Backport | [HIVE-20550](https://issues.apache.org/jira/browse/HIVE-20550): Wechseln Sie zum Web HCat und verwenden Sie Beeline zum Senden von Hive-Abfragen | 
| Backport | [HIVE-20537](https://issues.apache.org/jira/browse/HIVE-20537): In mehreren Spalten werden Schätzungen mit unkorrelierten Spalten verknüpft, die sich in CBO und Hive unterscheiden | 
| Backport | [HIVE-20524](https://issues.apache.org/jira/browse/HIVE-20524): Die Überprüfung der Schemaentwicklung ist beim Übergang von Hive Version 2 zu Version 3 für ALTER TABLE VARCHAR zu DECIMAL unterbrochen | 
| Backport | [HIVE-20522](https://issues.apache.org/jira/browse/HIVE-20522): HiveFilterSetOpTransposeRule Kann aufgrund der NULL-Zulässigkeit von Feldern einen Assertion-Fehler auslösen | 
| Backport | [HIVE-20521](https://issues.apache.org/jira/browse/HIVE-20521): HS2 doas=True hat ein Berechtigungsproblem mit hadoop.tmp.dir, mit MR- und S3A-Dateisystemen | 
| Backport | [HIVE-20515](https://issues.apache.org/jira/browse/HIVE-20515): Leere Abfrageergebnisse bei Verwendung von Ergebnis-Cache und Abfrage-Temp-Verzeichnis, Ergebnis-Cache-Verzeichnis in verschiedenen Dateisystemen | 
| Backport | [HIVE-20508](https://issues.apache.org/jira/browse/HIVE-20508): Hive unterstützt keine Benutzernamen vom Typ „user @realm“ | 
| Backport | [HIVE-20507](https://issues.apache.org/jira/browse/HIVE-20507): Beeline: Fügen Sie einen Utility-Befehl hinzu, um alle Uris aus beeline-site.xml abzurufen | 
| Backport | [HIVE-20505](https://issues.apache.org/jira/browse/HIVE-20505): Aktualisieren Sie org.openjdk.jmh:jmh-core auf 1.21 | 
| Backport | [HIVE-20503](https://issues.apache.org/jira/browse/HIVE-20503): Verwenden Sie bei der Mapjoin-Auswahl Schätzungen, die die Datenstruktur berücksichtigen | 
| Backport | [HIVE-20498](https://issues.apache.org/jira/browse/HIVE-20498): Support den Datumstyp für die automatische Erfassung von Spaltenstatistiken | 
| Backport | [HIVE-20496](https://issues.apache.org/jira/browse/HIVE-20496): Vektorisierung: Vektorisiertes PTF IllegalStateException | 
| Backport | [HIVE-20494:](https://issues.apache.org/jira/browse/HIVE-20494) Das Generikum ist UDFRestrict InformationSchema nach HIVE-19440 kaputt | 
| Backport | [HIVE-20477](https://issues.apache.org/jira/browse/HIVE-20477): wird nicht angezeigt, wenn der Ausdruck Folgendes enthält OptimizedSql INs | 
| Backport | [HIVE-20467: Beim Erstellen/Löschen eines](https://issues.apache.org/jira/browse/HIVE-20467) Ressourcenplans zulassen, WENN NICHT VORHANDEN EXISTS/IF  | 
| Backport | [HIVE-20462](https://issues.apache.org/jira/browse/HIVE-20462): „CREATE VIEW IF NOT EXISTS“ schlägt fehl, wenn die Ansicht bereits existiert | 
| Backport | [HIVE-20455](https://issues.apache.org/jira/browse/HIVE-20455): Protokollausgabe von security.authorization. PrivilegeSynchonizer. ausführen | 
| Backport | [HIVE-20439](https://issues.apache.org/jira/browse/HIVE-20439): Verwenden Sie das überhöhte Speicherlimit bei der Join-Auswahl für Llap | 
| Backport | [HIVE-20433](https://issues.apache.org/jira/browse/HIVE-20433): Die implizite Konvertierung von Zeichenketten in Zeitstempel ist langsam | 
| Backport | [HIVE-20432](https://issues.apache.org/jira/browse/HIVE-20432): Schreiben Sie BETWEEN in IN für Integer-Typen zur Schätzung von Statistiken um | 
| Backport | [HIVE-20423](https://issues.apache.org/jira/browse/HIVE-20423): Stellen Sie NULLS LAST als Standard-Nullreihenfolge ein | 
| Backport | [HIVE-20418](https://issues.apache.org/jira/browse/HIVE-20418): LLAP IO verarbeitet ORC-Dateien, bei denen der Zeilenindex deaktiviert ist, möglicherweise nicht korrekt für Abfragen, bei denen keine Spalten ausgewählt sind | 
| Backport | [HIVE-20412](https://issues.apache.org/jira/browse/HIVE-20412): NPE ist da HiveMetaHook | 
| Backport | [HIVE-20406](https://issues.apache.org/jira/browse/HIVE-20406): Nested Coalesce liefert falsche Ergebnisse | 
| Backport | [HIVE-20399](https://issues.apache.org/jira/browse/HIVE-20399): Der Speicherort für w/a benutzerdefinierte CTAS-Tabellen, der nicht vollständig qualifiziert ist, schlägt für MM-Tabellen fehl | 
| Backport | [HIVE-20393](https://issues.apache.org/jira/browse/HIVE-20393): Semijoin-Reduzierung: ForDPP verhält sich inkonsistent markSemiJoin | 
| Backport | [HIVE-20391](https://issues.apache.org/jira/browse/HIVE-20391): kann bei der Zerlegung der Aggregatfunktion auf einen falschen Rückgabetyp schließen HiveAggregateReduceFunctionsRule | 
| Backport | [HIVE-20383](https://issues.apache.org/jira/browse/HIVE-20383): Ungültiger Warteschlangenname und Synchronisationsprobleme im Hive Proto Events Hook. | 
| Backport | [HIVE-20367](https://issues.apache.org/jira/browse/HIVE-20367): Vektorisierung: Support Streaming für PTF AVG, MAX, MIN, SUM | 
| Backport | [HIVE-20366](https://issues.apache.org/jira/browse/HIVE-20366): Die Schätzungen der Statistiken von TPC-DS query78 sind für seinen Nullfilter deaktiviert | 
| Backport | [HIVE-20364](https://issues.apache.org/jira/browse/HIVE-20364): Standardeinstellung für hive.map.aggr.hash.min.reduction aktualisieren | 
| Backport | [HIVE-20352](https://issues.apache.org/jira/browse/HIVE-20352): Vektorisierung: Gruppierungsfunktion Support | 
| Backport | [HIVE-20347](https://issues.apache.org/jira/browse/HIVE-20347): hive.optimize.sort.dynamic.partition sollte mit partitionierten CTAS und MV funktionieren | 
| Backport | [HIVE-20345](https://issues.apache.org/jira/browse/HIVE-20345): Die Drop-Datenbank kann hängen bleiben, wenn die Tabellen bei einem anderen Aufruf gelöscht werden | 
| Backport | [HIVE-20343](https://issues.apache.org/jira/browse/HIVE-20343): Hive 3: CTAS respektiert transactional\$1properties nicht | 
| Backport | [HIVE-20340](https://issues.apache.org/jira/browse/HIVE-20340): Druid Needs Explicit CASTs von Timestamp bis STRING, wenn die Ausgabe der Timestamp-Funktion als String verwendet wird | 
| Backport | [HIVE-20339](https://issues.apache.org/jira/browse/HIVE-20339): Vektorisierung: Hebt eine unnötige Einschränkung auf, die dazu führt, dass einige PTFs mit RANK nicht vektorisiert werden | 
| Backport | [HIVE-20337](https://issues.apache.org/jira/browse/HIVE-20337):: Expr füllt die Partitionsliste nicht korrekt CachedStore getPartitionsBy | 
| Backport | [HIVE-20336](https://issues.apache.org/jira/browse/HIVE-20336): Maskierungs- und Filterrichtlinien für materialisierte Ansichten | 
| Backport | [HIVE-20326](https://issues.apache.org/jira/browse/HIVE-20326): Erstellen Sie Einschränkungen mit RELY als Standard anstelle von NO RELY | 
| Backport | [HIVE-20321: Vektorisierung: Reduziert](https://issues.apache.org/jira/browse/HIVE-20321) die Speichergröße von 1 Spalte auf <1 VectorHashKeyWrapper CacheLine | 
| Backport | [HIVE-20320](https://issues.apache.org/jira/browse/HIVE-20320): Schalten Sie das Flag hive.optimize.remove.sq\$1count\$1check ein | 
| Backport | [HIVE-20315](https://issues.apache.org/jira/browse/HIVE-20315): Vektorisierung: Behebt mehr Probleme mit NULL-/falschen Ergebnissen und vermeidet unnötige Umwandlungen/Konvertierungen | 
| Backport | [HIVE-20314](https://issues.apache.org/jira/browse/HIVE-20314): Schließt das Bereinigen von Partitionen in das Umschreiben materialisierter Ansichten ein | 
| Backport | [HIVE-20312](https://issues.apache.org/jira/browse/HIVE-20312): Erlaube den Arrow-Clients, ihre eigenen zu verwenden mit BufferAllocator LlapOutputFormatService | 
| Backport | [HIVE-20302](https://issues.apache.org/jira/browse/HIVE-20302): LLAP: Die nicht vektorisierte Ausführung in IO ignoriert virtuelle Spalten, einschließlich ROW\$1\$1ID | 
| Backport | [HIVE-20300](https://issues.apache.org/jira/browse/HIVE-20300): VectorFileSinkArrowOperator | 
| Backport | [HIVE-20299](https://issues.apache.org/jira/browse/HIVE-20299): Mögliches Rennen im LLAP-Unterzeichner-Unit-Test | 
| Backport | [HIVE-20296](https://issues.apache.org/jira/browse/HIVE-20296): Verbessern, um aus komplexeren Kontexten extrahieren HivePointLookupOptimizerRule zu können | 
| Backport | [HIVE-20294](https://issues.apache.org/jira/browse/HIVE-20294): Vektorisierung: Probleme mit NULL/Falschen Ergebnissen in COALESCE/ELT behoben | 
| Backport | [HIVE-20292](https://issues.apache.org/jira/browse/HIVE-20292): Schlechte Join-Reihenfolge in tpcds query93 mit definierter primärer Einschränkung | 
| Backport | [HIVE-20290](https://issues.apache.org/jira/browse/HIVE-20290): Lazy initialisieren ArrowColumnarBatchSerDe , sodass währenddessen keine Puffer zugewiesen werden GetSplits | 
| Backport | [HIVE-20281](https://issues.apache.org/jira/browse/HIVE-20281): SharedWorkOptimizer schlägt fehl, wenn „der Inhalt des Operator-Cache und der tatsächliche Plan unterschiedlich sind“ | 
| Backport | [HIVE-20277](https://issues.apache.org/jira/browse/HIVE-20277): Vektorisierung: Groß-/Kleinschreibung, die BOOLEAN zurückgeben, werden für FILTER nicht unterstützt | 
| Backport | [HIVE-20267](https://issues.apache.org/jira/browse/HIVE-20267): Erweiterung der WebUI um ein Formular zur dynamischen Konfiguration von Protokollebenen | 
| Backport | [HIVE-20263: Tippfehler in der Variablen](https://issues.apache.org/jira/browse/HIVE-20263) HiveReduceExpressionsWithStatsRule  | 
| Backport | [HIVE-20260](https://issues.apache.org/jira/browse/HIVE-20260): Der NDV einer Spalte sollte nicht skaliert werden, wenn die Zeilenanzahl durch einen Filter in einer anderen Spalte geändert wird | 
| Backport | [HIVE-20252](https://issues.apache.org/jira/browse/HIVE-20252): Reduzierung von Semijoins: Zyklen aufgrund von Semi-Join-Verzweigungen können unentdeckt bleiben, wenn der Seite der kleinen Tabelle ein Map-Join vorgeschaltet ist. | 
| Backport | [HIVE-20245](https://issues.apache.org/jira/browse/HIVE-20245): Vektorisierung: Probleme mit NULL/Falschen Ergebnissen zwischen BETWEEN/IN behoben | 
| Backport | [HIVE-20241](https://issues.apache.org/jira/browse/HIVE-20241): Support die Partitionierungsspezifikation in CTAS-Anweisungen | 
| Backport | [HIVE-20240](https://issues.apache.org/jira/browse/HIVE-20240): Semijoin Reduction: Verwenden Sie die lokale Variable, um den Zustand der externen Tabelle zu überprüfen | 
| Backport | [HIVE-20226](https://issues.apache.org/jira/browse/HIVE-20226): HMS löst eine Ausnahme aus, wenn die Anfrage max\$1Events getNextNotification die max\$1rows der Tabelle überschreitet | 
| Backport | [HIVE-20225](https://issues.apache.org/jira/browse/HIVE-20225): zur Unterstützung des Teradata-Binärformats SerDe  | 
| Backport | [HIVE-20213](https://issues.apache.org/jira/browse/HIVE-20213): Aktualisieren Sie Calcite auf 1.17.0 | 
| Backport | [HIVE-20212](https://issues.apache.org/jira/browse/HIVE-20212): Hiveserver2 gibt im HTTP-Modus die Metrik Default.General.OPEN\$1CONNECTIONS falsch aus | 
| Backport | [HIVE-20210](https://issues.apache.org/jira/browse/HIVE-20210): Der Simple Fetch-Optimizer sollte dazu führen, dass der Filter für Spalten, die nicht partitioniert sind, und die Konvertierung minimal ist MapReduce  | 
| Backport | [HIVE-20209](https://issues.apache.org/jira/browse/HIVE-20209): Die Metastore-Verbindung schlägt beim ersten Versuch im Repl-Dump fehl | 
| Backport | [HIVE-20207](https://issues.apache.org/jira/browse/HIVE-20207): Vektorisierung: NULL-/ Probleme mit falschen Ergebnissen beim Filtern/Vergleichen behoben | 
| Backport | [HIVE-20204](https://issues.apache.org/jira/browse/HIVE-20204): Typkonvertierung bei IN | 
| Backport | [ SerDe HIVE-20203](https://issues.apache.org/jira/browse/HIVE-20203): Arrow gibt ein unbekanntes DirectByteBuffer | 
| Backport | [HIVE-20197](https://issues.apache.org/jira/browse/HIVE-20197): Vektorisierung: DECIMAL\$164-Tests hinzugefügt, Arithmetik hinzugefügt und weitere GROUP BY-Aggregation hinzugefügt Date/Interval/Timestamp | 
| Backport | [HIVE-20193](https://issues.apache.org/jira/browse/HIVE-20193): CBOInfo ist im Explain Plan Json nicht vorhanden | 
| Backport | [ HS2 HIVE-20192](https://issues.apache.org/jira/browse/HIVE-20192): Bei eingebettetem Metastore JDOPersistence gibt es undichte Manager-Objekte | 
| Backport | [HIVE-20183](https://issues.apache.org/jira/browse/HIVE-20183): Das Einfügen aus einer Bucket-Tabelle kann zu Datenverlust führen, wenn die Quelltabelle einen leeren Bucket enthält | 
| Backport | [HIVE-20177](https://issues.apache.org/jira/browse/HIVE-20177): Vektorisierung: Reduzieren Sie die Zuweisung im Streaming-Modus KeyWrapper GroupBy  | 
| Backport | [HIVE-20174](https://issues.apache.org/jira/browse/HIVE-20174): Vektorisierung: Behebung von Problemen mit NULL-/falschen Ergebnissen in GROUP BY-Aggregationsfunktionen | 
| Backport | [HIVE-20172](https://issues.apache.org/jira/browse/HIVE-20172): Beim Versuch, eine Verbindung zum Remote-Metastore StatsUpdater herzustellen, ist eine GSS-Ausnahme aufgetreten | 
| Backport | [HIVE-20153](https://issues.apache.org/jira/browse/HIVE-20153): Count und Sum UDF verbrauchen mehr Speicher in Hive 2\$1 | 
| Backport | [HIVE-20152](https://issues.apache.org/jira/browse/HIVE-20152): setzt den Datenbankstatus zurück, wenn der Repl-Dump fehlschlägt, sodass die Tabelle umbenannt werden kann | 
| Backport | [ TestHiveCli HIVE-20149](https://issues.apache.org/jira/browse/HIVE-20149): Fehlgeschlagen/Zeitlimit überschritten | 
| Backport | [HIVE-20130](https://issues.apache.org/jira/browse/HIVE-20130): Bessere Protokollierung für den Informationsschema-Synchronizer | 
| Backport | [HIVE-20129](https://issues.apache.org/jira/browse/HIVE-20129): Kehren Sie zur positionsbasierten Schemaentwicklung für Orc-Tabellen zurück | 
| Backport | [HIVE-2018](https://issues.apache.org/jira/browse/HIVE-20118) SessionStateUserAuthenticator:. getGroupNames | 
| Backport | [HIVE-20116: verwendet den übergeordneten](https://issues.apache.org/jira/browse/HIVE-20116) TezTask Logger | 
| Backport | [HIVE-20115](https://issues.apache.org/jira/browse/HIVE-20115): Acid-Tabellen sollten zur Analyse keinen Fußzeilenscan verwenden | 
| Backport | [HIVE-20103](https://issues.apache.org/jira/browse/HIVE-20103): WM: Aggregieren Sie DAG-Zähler nur, wenn mindestens einer verwendet wird | 
| Backport | [HIVE-20101](https://issues.apache.org/jira/browse/HIVE-20101): BloomKFilter: Vermeiden Sie die vollständige Verwendung der lokalen Byte [] -Arrays | 
| Backport | [HIVE-20100](https://issues.apache.org/jira/browse/HIVE-20100): OpTraits : Select Optraits sollte aufhören, wenn eine Nichtübereinstimmung festgestellt wird | 
| Backport | [HIVE-20098](https://issues.apache.org/jira/browse/HIVE-20098): Statistik: NPE beim Abrufen von Partitionsstatistiken für Datumsspalten | 
| Backport | [HIVE-20095](https://issues.apache.org/jira/browse/HIVE-20095): Das Feature zur Übertragung von Berechnungen auf externe JDBC-Tabellen wurde behoben | 
| Backport | [HIVE-20093](https://issues.apache.org/jira/browse/HIVE-20093):: Mit Netty für die Buchhaltung verwenden LlapOutputFomatService ArrowBuf  | 
| Backport | [HIVE-20090](https://issues.apache.org/jira/browse/HIVE-20090): Erweitern Sie die Entwicklung von Semi-Join-Reduktionsfiltern, um neue Möglichkeiten zu entdecken | 
| Backport | [HIVE-20088](https://issues.apache.org/jira/browse/HIVE-20088): Der Pfad zum Speicherort der Beeline-Konfiguration wurde falsch zusammengestellt | 
| Backport | [HIVE-20082](https://issues.apache.org/jira/browse/HIVE-20082): Bei der Konvertierung in eine Zeichenfolge wird die HiveDecimal Dezimalzahl nicht korrekt formatiert | 
| Backport | [HIVE-20069](https://issues.apache.org/jira/browse/HIVE-20069): Korrektur der Reoptimierung bei der DPP- und Semijoin-Optimierung | 
| Backport | [HIVE-20051](https://issues.apache.org/jira/browse/HIVE-20051): Autorisierung für temporäre Tabellen überspringen | 
| Backport | [HIVE-20044](https://issues.apache.org/jira/browse/HIVE-20044): Arrow Serde sollte Char-Werte korrekt auffüllen und leere Zeichenketten korrekt behandeln | 
| Backport | [HIVE-20028](https://issues.apache.org/jira/browse/HIVE-20028): Die Metastore-Client-Cache-Konfiguration wird falsch verwendet | 
| Backport | [HIVE-20025](https://issues.apache.org/jira/browse/HIVE-20025): Bereinigung von Ereignisdateien, die erstellt wurden von HiveProtoLoggingHook | 
| Backport | [HIVE-20020](https://issues.apache.org/jira/browse/HIVE-20020): Hive contrib jar sollte nicht in lib sein | 
| Backport | [HIVE-20013](https://issues.apache.org/jira/browse/HIVE-20013): Fügt dem Datumstyp für die Funktion to\$1date eine implizite Umwandlung hinzu | 
| Backport | [HIVE-20011](https://issues.apache.org/jira/browse/HIVE-20011): Verlassen Sie den Append-Modus im Proto-Logging-Hook | 
| Backport | [HIVE-20005](https://issues.apache.org/jira/browse/HIVE-20005): acid\$1table\$1stats, acid\$1no\$1buckets usw. – Änderung der Abfrageergebnisse in der Filiale | 
| Backport | [HIVE-20004](https://issues.apache.org/jira/browse/HIVE-20004): Falsche Skala, die von 64 verwendet wird, führt zu falschen Ergebnissen ConvertDecimal ToDecimal  | 
| Backport | [HIVE-19995](https://issues.apache.org/jira/browse/HIVE-19995): Aggregierter Zeilenverkehr für ACID-Tabellen | 
| Backport | [HIVE-19993](https://issues.apache.org/jira/browse/HIVE-19993): Die Verwendung eines Tabellenalias, der auch als Spaltenname erscheint, ist nicht möglich | 
| Backport | [HIVE-19992: Vektorisierung: Fortsetzung](https://issues.apache.org/jira/browse/HIVE-19992) von HIVE-19951 --> Aufruf hinzufügen zu. SchemaEvolution isOnlyImplicitKonvertierung zur Deaktivierung von codiertem I/O LLAP für ORC nur, wenn die Datentypkonvertierung nicht implizit ist | 
| Backport | [HIVE-19989](https://issues.apache.org/jira/browse/HIVE-19989): Metastore verwendet einen falschen Anwendungsnamen für Metriken HADOOP2  | 
| Backport | [HIVE-19981](https://issues.apache.org/jira/browse/HIVE-19981): Verwaltete Tabellen, die vom HiveStrictManagedMigration Hilfsprogramm in externe Tabellen konvertiert wurden, sollten so eingestellt werden, dass sie Daten löschen, wenn die Tabelle gelöscht wird | 
| Backport | [HIVE-19967](https://issues.apache.org/jira/browse/HIVE-19967): SMB-Join: Benötige Optraits für eine GB-Operation PTFOperator  | 
| Backport | [HIVE-19935](https://issues.apache.org/jira/browse/HIVE-19935): Die Hive WM-Sitzung wurde beendet: Die Anzahl der LLAP-Aufgaben konnte nicht aktualisiert werden | 
| Backport | [HIVE-19924](https://issues.apache.org/jira/browse/HIVE-19924): Taggt distcp-Jobs, die von Repl Load ausgeführt werden | 
| Backport | [HIVE-19891](https://issues.apache.org/jira/browse/HIVE-19891): Das Einfügen in externe Tabellen mit benutzerdefinierten Partitionsverzeichnissen kann zu Datenverlust führen | 
| Backport | [HIVE-19850](https://issues.apache.org/jira/browse/HIVE-19850): Das dynamische Bereinigen von Partitionen in Tez führt zu dem Fehler „Keine Arbeit für Tablescan gefunden“ | 
| Backport | [HIVE-19806](https://issues.apache.org/jira/browse/HIVE-19806): Sortiert die Qtests-Ausgabe, um unscharfe Testergebnisse zu vermeiden | 
| Backport | [HIVE-19770](https://issues.apache.org/jira/browse/HIVE-19770): Support für CBO für Abfragen mit mehreren gleichen Spalten in Select | 
| Backport | [HIVE-19769](https://issues.apache.org/jira/browse/HIVE-19769): Erstellen Sie spezielle Objekte für Datenbank- und Tabellennamen | 
| Backport | [HIVE-19765](https://issues.apache.org/jira/browse/HIVE-19765): Fügen Sie Parquet-spezifische Tests hinzu BlobstoreCliDriver | 
| Backport | [HIVE-19759](https://issues.apache.org/jira/browse/HIVE-19759): Flockiger Test: \$1 TestRpc testServerPort | 
| Backport | [HIVE-19711](https://issues.apache.org/jira/browse/HIVE-19711): Faktorwechsel vom Hive-Schematool | 
| Backport | [HIVE-19701](https://issues.apache.org/jira/browse/HIVE-19701): muss nicht synchronisiert werden getDelegationToken FromMetaStore | 
| Backport | [HIVE-19694](https://issues.apache.org/jira/browse/HIVE-19694): Die Anweisung „Materialisierte Ansicht erstellen“ sollte vor der Ausführung der SQL-Anweisung von MV nach MV-Namenskonflikten suchen. | 
| Backport | [HIVE-19674](https://issues.apache.org/jira/browse/HIVE-19674): Gruppierung nach Dezimalkonstanten wird in die Druid-Tabelle übertragen | 
| Backport | [HIVE-19668](https://issues.apache.org/jira/browse/HIVE-19668): Über 30% des Heaps wurden durch doppelte org.antlr.runtime verschwendet. CommonToken's und doppelte Zeichenketten | 
| Backport | [HIVE-19663](https://issues.apache.org/jira/browse/HIVE-19663): Faktorwechel der Generierung von LLAP IO-Berichten | 
| Backport | [HIVE-19661](https://issues.apache.org/jira/browse/HIVE-20829): Schalten Sie Hive so ein, dass es die UDFs Re2J-Regex-Engine verwendet | 
| Backport | [HIVE-19628](https://issues.apache.org/jira/browse/HIVE-19628): Mögliches NPE beim LLAP-Testsignieren | 
| Backport | [HIVE-19568](https://issues.apache.org/jira/browse/HIVE-19568): HA: Direkte Verbindung zur passiven Instanz nicht zulassen Active/Passive HS2 HS2  | 
| Backport | [HIVE-19564](https://issues.apache.org/jira/browse/HIVE-19564): Vektorisierung: Behebung von Problemen mit NULL/Falschen Ergebnissen in Arithmetik | 
| Backport | [HIVE-19552](https://issues.apache.org/jira/browse/HIVE-19552): Aktivieren Sie \$1druidkafkamini\$1basic .q TestMiniDruidKafkaCliDriver | 
| Backport | [HIVE-19432](https://issues.apache.org/jira/browse/HIVE-19432): GetTablesOperation ist zu langsam, wenn der Hive zu viele Datenbanken und Tabellen hat | 
| Backport | [HIVE-19360](https://issues.apache.org/jira/browse/HIVE-19360): CBO: Fügt dem Objekt ein „OptimizedSQL“ hinzu QueryPlan  | 
| Backport | [HIVE-19326](https://issues.apache.org/jira/browse/HIVE-19326): automatisches Sammeln von Statistiken: falsche Aggregation bei UNION-Abfragen | 
| Backport | [ TestJdbcWithDBTokenStoreNoDoAsHIVE-19313](https://issues.apache.org/jira/browse/HIVE-19313): Tests schlagen fehl | 
| Backport | [HIVE-19285](https://issues.apache.org/jira/browse/HIVE-19285): Fügen Sie Protokolle zu den Unterklassen von hinzu MetaDataOperation | 
| Backport | [HIVE-19235](https://issues.apache.org/jira/browse/HIVE-19235): Goldene Dateien für Minimr-Tests aktualisieren | 
| Backport | [HIVE-19104](https://issues.apache.org/jira/browse/HIVE-19104): Wenn der Test mit Retry gestartet MetaStore wird, sollten die Instanzen unabhängig sein | 
| Backport | [HIVE-18986](https://issues.apache.org/jira/browse/HIVE-18986): Beim Umbenennen von Tabellen wird java.lang ausgeführt. StackOverflowError in DataNucleus, wenn die Tabelle eine große Anzahl von Spalten enthält | 
| Backport | [HIVE-18920](https://issues.apache.org/jira/browse/HIVE-18920): CBO: Initialisieren Sie die Janino-Anbieter vor der ersten Abfrage | 
| Backport | [HIVE-18873](https://issues.apache.org/jira/browse/HIVE-18873): Das unbeaufsichtigte Überspringen des Prädikats-Pushdowns für MR kann dazu führen, dass Speicherhandler ein falsches Ergebnis ausgeben HiveInputFormat  | 
| Backport | [HIVE-18871](https://issues.apache.org/jira/browse/HIVE-18871): Fehler bei der Ausführung von Hive on Tez, weil hive.aux.jars.path auf hdfs://gesetzt wurde | 
| Backport | [HIVE-18725](https://issues.apache.org/jira/browse/HIVE-18725): Verbessert die Fehlerbehandlung für Unterabfragen, wenn ein falscher Spaltenverweis vorhanden ist | 
| Backport | [HIVE-18696](https://issues.apache.org/jira/browse/HIVE-18696): Die Partitionsordner werden in der Methode .add\$1partitions\$1core möglicherweise nicht richtig bereinigt, wenn HiveMetaStore | 
| Backport | [HIVE-18453](https://issues.apache.org/jira/browse/HIVE-18453): ACID: Fügen Sie die Syntax „CREATE TRANSACTIONAL TABLE“ hinzu, um die ACID ORC- und Parquet-Unterstützung zu vereinheitlichen | 
| Backport | [HIVE-18201](https://issues.apache.org/jira/browse/HIVE-18201): Deaktiviert XPROD\$1EDGE für sq\$1count\$1chec | 
| Backport | [HIVE-18140](https://issues.apache.org/jira/browse/HIVE-18140): Statistiken für partitionierte Tabellen können in gemischten Groß- und Kleinschreibung bei Basisstatistiken schief gehen | 
| Backport | [HIVE-17921](https://issues.apache.org/jira/browse/HIVE-17921): Die Aggregation mit Struct in LLAP führt zu einem falschen Ergebnis | 
| Backport | [HIVE-17896: Top: Erstellen Sie einen eigenständigen vektorisierbaren Top-Operator](https://issues.apache.org/jira/browse/HIVE-17896) NKey NKey  | 
| Backport | [HIVE-17840](https://issues.apache.org/jira/browse/HIVE-17840): Gibt eine Ausnahme aus, wenn TransactionalListeners.NotifyEvent fehlschlägt HiveMetaStore  | 
| Backport | [HIVE-17043](https://issues.apache.org/jira/browse/HIVE-17043): Entfernen Sie nicht eindeutige Spalten aus der Gruppierung nach Schlüsseln, falls sie später nicht referenziert werden | 
| Backport | [HIVE-17040](https://issues.apache.org/jira/browse/HIVE-17040): Schließen Sie sich der Eliminierung bei Vorhandensein einer FK-Beziehung an | 
| Backport | [HIVE-16839: Unsymmetrische Aufrufe bei gleichzeitiger Änderung derselben Partition](https://issues.apache.org/jira/browse/HIVE-16839) openTransaction/commitTransaction  | 
| Backport | [HIVE-16100](https://issues.apache.org/jira/browse/HIVE-16100): Der Optimierer für dynamische sortierte Partitionen verliert gleichrangige Operatoren | 
| Backport | [HIVE-15956](https://issues.apache.org/jira/browse/HIVE-15956): wenn viele Partitionen gelöscht werden StackOverflowError  | 
| Backport | [HIVE-15177](https://issues.apache.org/jira/browse/HIVE-15177): Die Authentifizierung mit Hive schlägt fehl, wenn der Kerberos-Authentifizierungstyp auf FromSubject gesetzt ist und der Principal \$1HOST enthält | 
| Backport | [HIVE-14898](https://issues.apache.org/jira/browse/HIVE-14898): HS2 sollte den Callstack nicht protokollieren, wenn ein leerer Auth-Header-Fehler aufgetreten ist | 
| Backport | [HIVE-14493](https://issues.apache.org/jira/browse/HIVE-14493): Partitionierungsunterstützung für materialisierte Ansichten | 
| Backport | [HIVE-14431](https://issues.apache.org/jira/browse/HIVE-14431): Erkennt COALESCE als CASE | 
| Backport | [HIVE-13457](https://issues.apache.org/jira/browse/HIVE-13457): Erstellen Sie REST-API-Endpunkte zur Überwachung von Informationen HS2  | 
| Backport | [HIVE-12342](https://issues.apache.org/jira/browse/HIVE-12342): Setzen Sie den Standardwert von hive.optimize.index.filter auf true | 
| Backport | [HIVE-10296](https://issues.apache.org/jira/browse/HIVE-10296): Es wurde eine Cast-Ausnahme beobachtet, wenn Hive eine Multi-Join-Abfrage im Metastore ausführt | 
| Backport | [HIVE-6980](https://issues.apache.org/jira/browse/HIVE-6980): Die Tabelle mithilfe von Direct SQL löschen | 

## Amazon EMR 6.6.0 – Änderungen der Hive-Konfiguration
<a name="emr-Hive-660-configs"></a>
+ Im Rahmen der OSS-Änderung [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) wurde die Eigenschaft `hive.optimize.sort.dynamic.partition` zum Sortieren dynamischer Partitionen durch `hive.optimize.sort.dynamic.partition.threshold` versetzt. 

  Die `hive.optimize.sort.dynamic.partition.threshold`-Konfiguration hat die folgenden möglichen Werte:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/emr/latest/ReleaseGuide/Hive-release-history-660.html)

## Amazon EMR 6.6.0 – Bekannte Probleme mit Hive
<a name="emr-Hive-660-issues"></a>
+ Abfragen mit Fensterfunktionen für dieselbe Spalte wie Join können zu ungültigen Transformationen führen, wie in [HIVE-25278](https://issues.apache.org/jira/browse/HIVE-25278) gemeldet, und zu falschen Ergebnissen oder Abfragefehlern führen. Um dieses Problem zu umgehen, können Sie CBO für solche Abfragen auf Abfrageebene deaktivieren. Wenden Sie sich für weitere Informationen an AWS den Support.
+  Amazon EMR 6.6.0 enthält die Hive-Softwareversion 3.1.2. Hive 3.1.2 führt ein Feature ein, die Textdateien aufteilt, wenn sie eine Kopf- und Fußzeile enthalten ([HIVE-21924](https://issues.apache.org/jira/browse/HIVE-21924)). Der Apache Tez App Master liest jede Ihrer Dateien, um Versatzpunkte im Datenbereich zu bestimmen. Diese Verhaltensweisen zusammen können sich negativ auf die Leistung auswirken, wenn Ihre Abfragen eine große Anzahl kleiner Textdateien lesen. Um dieses Problem zu umgehen, können Sie `CombineHiveInputFormat` und die maximale Teilungsgröße verwenden und anpassen, indem Sie die folgenden Eigenschaften konfigurieren:

  ```
  SET hive.tez.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
  SET mapreduce.input.fileinputformat.split.maxsize=16777216;
  ```
+ Bei Amazon EMR 6.6.0 bis 6.9.x haben INSERT-Abfragen mit dynamischer Partition und einer ORDER-BY- oder SORT-BY-Klausel immer zwei Reduzierungen. Dieses Problem wird durch die OSS-Änderung [HIVE-20703](https://issues.apache.org/jira/browse/HIVE-20703) verursacht, die die Optimierung dynamischer Sortierpartitionen einer kostenbasierten Entscheidung unterstellt. Wenn Ihr Workload keine Sortierung dynamischer Partitionen erfordert, empfehlen wir Ihnen, die `hive.optimize.sort.dynamic.partition.threshold`-Eigenschaft auf `-1` zu setzen, um das neue Feature zu deaktivieren und die korrekt berechnete Anzahl von Reduzierern zu erhalten. Dieses Problem wurde behoben in OSS Hive als Teil von [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269) und in Amazon EMR 6.10.0 behoben.