Verbinden Sie Athena zu einem Apache Hive-Metastore
Um eine Verbindung von Athena zu einem Apache-Hive-Metastore herzustellen, müssen Sie eine Lambda-Funktion erstellen und konfigurieren. Für eine grundlegende Implementierung können Sie alle erforderlichen Schritte zum Start von der Athena-Verwaltungskonsole aus ausführen.
Anmerkung
Das folgende Verfahren erfordert, dass Sie über die Berechtigung verfügen, eine benutzerdefinierte IAM-Rolle für die Lambda-Funktion zu erstellen. Wenn Sie nicht über die Berechtigung zum Erstellen einer benutzerdefinierten Rolle verfügen, können Sie mithilfe der Athena-Referenzimplementierung separat eine Lambda-Funktion erstellen und dann mithilfe der AWS Lambda-Konsole eine vorhandene IAM-Rolle für die Funktion auswählen. Weitere Informationen finden Sie unter Athena mit einem Hive-Metastore mithilfe einer vorhandenen IAM-Ausführungsrolle verbinden.
So stellen Sie eine Verbindung von Athena zu einem Hive-Metastore her:
Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/
. Wenn der Navigationsbereich in der Konsole nicht sichtbar ist, wählen Sie das Erweiterungsmenü auf der linken Seite.
-
Wählen Sie Datenquellen und Kataloge aus.
-
Wählen Sie oben rechts in der Konsole Datenquelle erstellen aus.
-
Wählen Sie auf der Seite Eine Datenquelle wählen für Datenquelle S3 - Apache Hive Metastore.
-
Wählen Sie Weiter aus.
-
Geben Sie im Abschnitt Details zur Datenquelle für Datenquellenname den Namen ein, den Sie in Ihren SQL-Anweisungen verwenden möchten, wenn Sie die Datenquelle von Athena abfragen. Der Name kann bis zu 127 Zeichen lang sein und muss innerhalb Ihres Kontos eindeutig sein. Er kann nicht mehr geändert werden, nachdem Sie ihn erstellt haben. Gültige Zeichen sind a-z, A-Z, 0-9, _ (Unterstrich), @ (At-Zeichen) und - (Bindestrich). Die Namen
awsdatacatalog,hive,jmxundsystemsind von Athena reserviert und können nicht für Datenquellennamen verwendet werden. -
Wählen Sie für Lambda-Funktion Eine Lambda-Funktion erstellen und anschließend Eine neue Lambda-Funktion in AWS Lambda erstellen
Die Seite AthenaHiveMetastoreFunction wird in der AWS Lambda-Konsole geöffnet. Die Seite enthält detaillierte Informationen zum Connector.
Geben Sie unter Anwendungseinstellungen die Parameter für Ihre Lambda-Funktion ein.
-
LambdaFuncName – Geben Sie einen Namen für die Funktion an. Zum Beispiel myHiveMetastore.
-
SpillLocation – Geben Sie in diesem Konto einen Amazon S3-Speicherort an, um Spillover-Metadaten zu speichern, wenn die Antwortgröße der Lambda-Funktion 4 MB überschreitet.
-
HMSUris – Geben Sie den URI Ihres Hive-Metastore-Hosts ein, der das Thrift-Protokoll an Port 9083 verwendet. Verwenden der Syntax
thrift://<host_name>:9083. -
LambdaMemory – Geben Sie einen Wert zwischen 128 MB und 3008 MB an. Der Lambda-Funktion werden CPU-Zyklen proportional zur von Ihnen konfigurierten Speichermenge zugewiesen. Der Standardwert ist 1024.
-
LambdaTimeout – Geben Sie die maximal zulässige Laufzeit des Lambda-Aufrufs in Sekunden von 1 bis 900 an (900 Sekunden sind 15 Minuten). Der Standardwert ist 300 Sekunden (5 Minuten).
-
VpcSecurityGroupIds – Geben Sie eine durch Komma getrennte Liste der VPC-Sicherheitsgruppen-IDs für den Hive-Metastore ein.
-
VPCSubnetIds – Geben Sie eine durch Komma getrennte Liste der VPC-Subnetz-IDs für den Hive-Metastore ein.
-
-
Wählen Sie Ich bestätige, dass diese Anwendung benutzerdefinierte IAM-Rollen erstellt und dann Bereitstellen.
Wenn die Bereitstellung abgeschlossen ist, wird Ihre Funktion in Ihrer Liste der Lambda-Anwendungen angezeigt. Nachdem die Hive-Metastore-Funktion für Ihr Konto bereitgestellt wurde, können Sie Athena für die Verwendung konfigurieren.
-
Kehren Sie zur Seite Datenquellendetails eingeben der Athena-Konsole zurück.
-
Wählen Sie im Abschnitt Lambada-Funktion das Symbol Aktualisieren neben dem Lambda-Funktionssuchfeld aus. Wenn Sie die Liste der verfügbaren Funktionen aktualisieren, wird Ihre neu erstellte Funktion in der Liste angezeigt.
-
Wählen Sie den Namen der Funktion aus, die Sie gerade in der Lambda-Konsole erstellt haben. Der ARN der Lambda-Funktion wird angezeigt.
-
(Optional) Fügen Sie für Tags Schlüssel-Wert-Paare hinzu, die mit dieser Datenquelle verknüpft werden sollen. Weitere Informationen zu Tags (Markierungen) erhalten Sie unter Athena-Ressourcen markieren.
-
Wählen Sie Weiter aus.
-
Auf der Seite Überprüfen und erstellen prüfen Sie die Datenquellendetails und wählen Sie dann Datenquelle erstellen aus.
-
Der Abschnitt Datenquellendetails auf der Seite für Ihre Datenquelle zeigt Informationen über Ihren neuen Connector an.
Sie können nun den Data source name (Datenquellennamen) verwenden, den Sie angegeben haben, um auf den Hive-Metastore in Ihren SQL-Abfragen in Athena zu verweisen. Verwenden Sie in Ihren SQL-Abfragen die folgende Beispielsyntax und ersetzen Sie
hms-catalog-1durch den zuvor angegebenen Katalognamen.SELECT * FROM hms-catalog-1.CustomerData.customers -
Informationen zum Anzeigen, Bearbeiten oder Löschen der von Ihnen erstellten Datenquellen finden Sie unter Ihre Datenquellen verwalten.