

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.

# Athena mit einem Hive-Metastore mithilfe einer vorhandenen IAM-Ausführungsrolle verbinden
<a name="connect-data-source-hive-existing-iam-role"></a>

Um Ihren externen Hive-Metastore mit Athena über eine Lambda-Funktion zu verbinden, die eine vorhandene IAM-Rolle verwendet, können Sie die Referenzimplementierung des Athena-Connectors für externen Hive-Metastore von Athena verwenden.

Die drei wichtigsten Schritte sind wie folgt:

1. **[Klonen und Entwickeln](#connect-data-source-hive-existing-iam-role-clone-and-build-the-lambda-function)** – Klonen Sie die Athena Referenzimplementierung und erstellen Sie die JAR-Datei, die den Lambda-Funktionscode enthält.

1. **[AWS Lambda console](#connect-data-source-hive-existing-iam-role-aws-lambda-console)** — Erstellen Sie in der AWS Lambda Konsole eine Lambda-Funktion, weisen Sie ihr eine bestehende IAM-Ausführungsrolle zu und laden Sie den von Ihnen generierten Funktionscode hoch.

1. **[Amazon-Athena-Konsole](connect-data-source-hive-existing-lambda.md)** – Erstellen Sie in der Amazon-Athena-Konsole einen Datenquellennamen, mit dem Sie in Ihren Athena-Abfragen auf Ihren externen Hive-Metastore verweisen können.

Wenn Sie bereits über die Berechtigungen zum Erstellen einer benutzerdefinierten IAM-Rolle verfügen, können Sie einen einfacheren Workflow verwenden, der die Athena-Konsole und die AWS Serverless Application Repository zum Erstellen und Konfigurieren einer Lambda-Funktion verwendet. Weitere Informationen finden Sie unter [Verbinden Sie Athena zu einem Apache Hive-Metastore](connect-to-data-source-hive-connecting-athena-to-an-apache-hive-metastore.md).

## Voraussetzungen
<a name="connect-data-source-hive-existing-iam-role-prerequisites"></a>
+ Git muss auf Ihrem System installiert sein.
+ Sie müssen [Apache Maven](https://maven.apache.org/) installiert haben.
+ Sie haben eine IAM-Ausführungsrolle, die Sie der Lambda-Funktion zuweisen können. Weitere Informationen finden Sie unter [Gewährung von Lambda-Funktionszugriff auf externe Hive-Metastores](hive-metastore-iam-access-lambda.md).

## Klonen und entwickeln Sie die Lambda-Funktion
<a name="connect-data-source-hive-existing-iam-role-clone-and-build-the-lambda-function"></a>

[Der Funktionscode für die Athena-Referenzimplementierung ist ein Maven-Projekt GitHub unter awslabs/. aws-athena-hive-metastore](https://github.com/awslabs/aws-athena-hive-metastore) Ausführliche Informationen über das Projekt finden Sie in der entsprechenden README-Datei oder im Thema GitHub in dieser Dokumentation. [Den externen Hive-Metastore-Konnektor von Athena ändern](datastores-hive-reference-implementation.md)

**So Klonen und erstellen Sie den Lambda-Funktionscode**

1. Geben Sie den folgenden Befehl ein, um die Athena Referenzimplementierung zu klonen:

   ```
   git clone https://github.com/awslabs/aws-athena-hive-metastore
   ```

1. Führen Sie den folgenden Befehl aus, um die `.jar`-Datei für die Lambda-Funktion zu entwickeln:

   ```
   mvn clean install
   ```

   Nachdem das Projekt erfolgreich erstellt wurde, wird die folgende `.jar`-Datei im Zielordner Ihres Projekts erstellt:

   `hms-lambda-func-1.0-SNAPSHOT-withdep.jar`

   Im nächsten Abschnitt verwenden Sie die AWS Lambda Konsole, um diese Datei auf Ihr Amazon Web Services Services-Konto hochzuladen.

## Erstellen und konfigurieren Sie die Lambda-Funktion in der Konsole AWS Lambda
<a name="connect-data-source-hive-existing-iam-role-aws-lambda-console"></a>

In diesem Abschnitt verwenden Sie die AWS Lambda Konsole, um eine Funktion zu erstellen, die eine vorhandene IAM-Ausführungsrolle verwendet. Nachdem Sie eine VPC für die Funktion konfiguriert haben, laden Sie den Funktionscode hoch und konfigurieren die Umgebungsvariablen für die Funktion.

### So erstellen Sie die Lambda-Funktion:
<a name="connect-data-source-hive-existing-iam-role-create-the-lambda-function"></a>

In diesem Schritt erstellen Sie eine Funktion in der AWS Lambda Konsole, die eine vorhandene IAM-Rolle verwendet.

**So erstellen Sie eine Lambda-Funktion, die eine vorhandene IAM-Rolle verwendet**

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

1. Wählen Sie im Navigationsbereich **Funktionen** aus.

1. Wählen Sie **Create function** (Funktion erstellen).

1. Wählen Sie **Von Grund auf neu schreiben** aus.

1. Geben Sie für **Funktionsname** den Namen Ihrer Lambda-Funktion ein (z. B. **EHMSBasedLambda**).

1. Wählen Sie für **Runtime** die Option **Java 8**.

1. Erweitern Sie unter **Berechtigungen** die Option **Standardausführungsrolle ändern**.

1. Wählen Sie für **Execution role (Ausführungsrolle)** die Option **Use an existing role (Vorhandene Rolle verwenden)** aus.

1. Wählen Sie für **Vorhandene Rolle** die IAM-Ausführungsrolle aus, die Ihre Lambda-Funktion für Athena verwendet (in diesem Beispiel wird eine Rolle namens `AthenaLambdaExecutionRole` verwendet).

1. Erweiterten Sie **Advanced settings (Erweiterte Einstellungen)**.

1. Wählen Sie **Netzwerk aktivieren** aus.

1. Wählen Sie für **VPC** die VPC aus, auf die Ihre Funktion Zugriff hat.

1. Wählen Sie für **Subnetze** die VPC-Subnetze aus, die Lambda verwenden soll.

1. Wählen Sie für **Sicherheitsgruppen** die VPC-Sicherheitsgruppen aus, die Lambda verwenden soll.

1. Wählen Sie **Funktion erstellen**. Die AWS Lambda Konsole und öffnet die Konfigurationsseite für Ihre Funktion und beginnt mit der Erstellung Ihrer Funktion.

### Laden Sie den Code hoch und konfigurieren Sie die Lambda-Funktion
<a name="connect-data-source-hive-existing-iam-role-upload-and-configure"></a>

Wenn die Konsole Sie darüber informiert, dass Ihre Funktion erfolgreich erstellt wurde, können Sie den Funktionscode hochladen und seine Umgebungsvariablen konfigurieren.

**So laden Sie Ihren Lambda-Funktionscode hoch und konfigurieren die Umgebungsvariablen**

1. Stellen Sie in der Lambda-Konsole sicher, dass Sie sich auf der Seite der von Ihnen angegebenen Funktion auf der Registerkarte **Code** befinden.

1. Wählen Sie für **Code source** (Quellcode) **Upload from** (Hochladen von) und anschließend **.zip or .jar file** (.zip- oder .jar-Datei) aus.

1. Laden Sie die zuvor erstellte `hms-lambda-func-1.0-SNAPSHOT-withdep.jar`-Datei hoch.

1. Wählen Sie auf der Seite der Lambda-Funktion den Tab **Konfiguration**.

1. Wählen Sie im Bereich auf der linken Seite **Umgebungsvariablen** aus.

1. Wählen Sie im Abschnitt **Environment variables** (Umgebungsvariablen) **Edit** (Bearbeiten) aus.  
![Wählen Sie Edit (Bearbeiten), um die Umgebungsvariablen für die Lambda-Funktion zu bearbeiten.](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/connect-data-source-hive-existing-iam-role-5.png)

1. Verwenden Sie auf der Seite **Edit environment variables** (Umgebungsvariablen bearbeiten) die Option **Add environment variable** (Umgebungsvariable hinzufügen), um die folgenden Umgebungsvariablenschlüssel und -werte hinzuzufügen:
   + **HMS\_URIS** – Verwenden Sie die folgende Syntax, um den URI Ihres Hive-Metastore-Hosts einzugeben, der das Thrift-Protokoll an Port 9083 verwendet.

     ```
     thrift://{{<host_name>}}:9083
     ```
   + **SPILL\_LOCATION** – Geben Sie in Ihrem Amazon-Web-Services-Konto einen Amazon-S3-Speicherort an, um Spillover-Metadaten zu speichern, wenn die Antwortgröße der Lambda-Funktion 4 MB überschreitet.  
![Angeben von Werten für die Umgebungsvariablen der Lambda-Funktion.](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/connect-data-source-hive-existing-iam-role-6.png)

1. Wählen Sie **Save** (Speichern) aus.

Zu diesem Zeitpunkt können Sie Athena so konfigurieren, dass Ihre Lambda-Funktion zum Herstellen einer Verbindung mit Ihrem Hive-Metastore verwendet wird. Informationen zu den erforderlichen Schritten finden Sie unter [Konfigurieren Sie Athena für die Verwendung eines bereitgestellten Hive-Metastore-Connectors](connect-data-source-hive-existing-lambda.md).