Connect Athena a un metastore Hive utilizzando un ruolo di esecuzione esistente IAM - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connect Athena a un metastore Hive utilizzando un ruolo di esecuzione esistente IAM

Per connettere il metastore Hive esterno ad Athena con una funzione Lambda che utilizza un IAM ruolo esistente, puoi utilizzare l'implementazione di riferimento di Athena del connettore Athena per il metastore Hive esterno.

Le tre fasi principali sono le seguenti:

  1. Clona e crea: clona l'implementazione di riferimento Athena e crea il JAR file che contiene il codice della funzione Lambda.

  2. AWS Lambda console: nella AWS Lambda console, crea una funzione Lambda, assegnale un ruolo di IAM esecuzione esistente e carica il codice della funzione che hai generato.

  3. Console Amazon Athena: nella console Amazon Athena, crea un nome di origine dati che puoi usare per fare riferimento al tuo metastore Hive esterno nelle query Athena.

Se disponi già delle autorizzazioni per creare un IAM ruolo personalizzato, puoi utilizzare un flusso di lavoro più semplice che utilizza la console Athena e AWS Serverless Application Repository per creare e configurare una funzione Lambda. Per ulteriori informazioni, consulta Connect Athena a un metastore Apache Hive.

Prerequisiti

Clona e costruisci la funzione Lambda

Il codice della funzione per l'implementazione di riferimento di Athena è un progetto Maven situato su awslabs/. GitHub aws-athena-hive-metastore Per informazioni dettagliate sul progetto, consulta il README file corrispondente GitHub o l'argomento di questa documentazione. Modificare il connettore metastore Hive esterno Athena

Per clonare e costruire il codice della funzione Lambda
  1. Inserire il seguente comando per clonare l'implementazione di riferimento Athena:

    git clone https://github.com/awslabs/aws-athena-hive-metastore
  2. Eseguire il comando seguente per creare il file .jar per la funzione Lambda:

    mvn clean install

    Dopo che il progetto è stato creato correttamente, il seguente file .jar viene creato nella cartella di destinazione del tuo progetto:

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

    Nella sezione successiva, usi la AWS Lambda console per caricare questo file sul tuo account Amazon Web Services.

Crea e configura la funzione Lambda nella console AWS Lambda

In questa sezione, si utilizza la AWS Lambda console per creare una funzione che utilizza un ruolo di IAM esecuzione esistente. Dopo aver configurato a VPC per la funzione, caricate il codice della funzione e configurate le variabili di ambiente per la funzione.

Creazione della funzione Lambda

In questo passaggio, crei una funzione nella AWS Lambda console che utilizza un IAM ruolo esistente.

Per creare una funzione Lambda che utilizzi un ruolo esistente IAM
  1. Accedi a AWS Management Console e apri la AWS Lambda console all'indirizzo https://console.aws.amazon.com/lambda/.

  2. Nel riquadro di navigazione, seleziona Funzioni.

  3. Selezionare Create function (Crea funzione).

  4. Scegli Author from scratch (Crea da zero).

  5. In Nome funzione, inserisci il nome della funzione Lambda (ad esempio, EHMSBasedLambda).

  6. Per Runtime, scegliere Java 8.

  7. In Autorizzazioni espandere Modifica ruolo di esecuzione predefinito.

  8. In Execution role (Ruolo di esecuzione), scegliere Use an existing role (Utilizza un ruolo esistente).

  9. Per Ruolo esistente, scegli il ruolo di IAM esecuzione che la funzione Lambda utilizzerà per Athena (questo esempio utilizza un ruolo chiamato). AthenaLambdaExecutionRole

  10. Espandere Advanced settings (Impostazioni avanzate).

  11. Seleziona Enable Network (Abilita la rete).

  12. Per VPC, scegli quello a VPC cui avrà accesso la tua funzione.

  13. Per Sottoreti, scegli le VPC sottoreti da utilizzare in Lambda.

  14. Per i gruppi di sicurezza, scegli i gruppi VPC di sicurezza da utilizzare in Lambda.

  15. Scegli Crea funzione. La AWS Lambda console apre la pagina di configurazione della funzione e inizia a creare la funzione.

Carica il codice e configura la funzione Lambda

Quando la console informa che la funzione è stata creata correttamente, è possibile caricare il codice della funzione e configurarne le variabili di ambiente.

Per caricare il codice della funzione Lambda e configurare le variabili di ambiente
  1. Nella console Lambda, assicurati di utilizzare la scheda Code (Codice) della pagina della funzione specificata.

  2. Per Code source (Origine codice), scegli Upload from (Carica da), quindi scegli .zip or .jar file (file .zip o .jar).

  3. Carica il file hms-lambda-func-1.0-SNAPSHOT-withdep.jar generato in precedenza.

  4. Nella pagina della funzione Lambda, scegli la scheda Configuration (Configurazione).

  5. Dal riquadro a sinistra, scegli Environment variables (Variabili di ambiente).

  6. Nella sezione Variabili di ambiente, scegliere Modifica.

    Scegliere Modifica per modificare le variabili di ambiente per la funzione Lambda.
  7. Nella pagina Edit environment variables (Modifica variabili di ambiente), utilizza l'opzione Add environment variable (Aggiungi variabile di ambiente) per aggiungere le chiavi e i valori delle variabili di ambiente seguenti:

    • HMS_ URIS — Utilizzate la seguente sintassi per inserire il file URI del vostro host metastore Hive che utilizza il protocollo Thrift sulla porta 9083.

      thrift://<host_name>:9083
    • SPILL_ LOCATION — Specificate una posizione Amazon S3 nel vostro account Amazon Web Services per conservare i metadati di spillover se la dimensione della risposta della funzione Lambda supera i 4 MB.

      Specifica dei valori per le variabili di ambiente della funzione Lambda.
  8. Seleziona Salva.

A questo punto, puoi configurare Athena per utilizzare la funzione Lambda per connetterti al metastore Hive. Per le fasi, consulta Configurazione di Athena per l'utilizzo di un connettore Hive Metastore distribuito.