

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Hubungkan Athena ke metastore Hive menggunakan peran eksekusi IAM yang ada
<a name="connect-data-source-hive-existing-iam-role"></a>

Untuk menghubungkan metastore Hive eksternal Anda ke Athena dengan fungsi Lambda yang menggunakan IAM role yang ada, Anda dapat menggunakan implementasi referensi Athena dari konektor Athena untuk metastore Hive eksternal.

Tiga langkah utama adalah sebagai berikut:

1. **[Kloning dan bangun](#connect-data-source-hive-existing-iam-role-clone-and-build-the-lambda-function)** - Kloning implementasi referensi Athena dan buat file JAR yang berisi kode fungsi Lambda.

1. **[AWS Lambda konsol](#connect-data-source-hive-existing-iam-role-aws-lambda-console)** — Di AWS Lambda konsol, buat fungsi Lambda, tetapkan peran eksekusi IAM yang ada, dan unggah kode fungsi yang Anda buat.

1. Konsol **[Amazon Athena — Di konsol](connect-data-source-hive-existing-lambda.md)** Amazon Athena, buat nama sumber data yang dapat Anda gunakan untuk merujuk ke metastore Hive eksternal di kueri Athena Anda.

Jika Anda sudah memiliki izin untuk membuat peran IAM kustom, Anda dapat menggunakan alur kerja sederhana yang menggunakan konsol Athena dan untuk membuat dan AWS Serverless Application Repository mengonfigurasi fungsi Lambda. Untuk informasi selengkapnya, lihat [Hubungkan Athena ke metastore Apache Hive](connect-to-data-source-hive-connecting-athena-to-an-apache-hive-metastore.md).

## Prasyarat
<a name="connect-data-source-hive-existing-iam-role-prerequisites"></a>
+ Git harus diinstal pada sistem Anda.
+ Anda harus memiliki[Apache Maven](https://maven.apache.org/)diinstal.
+ Anda memiliki peran eksekusi IAM yang dapat Anda tetapkan untuk fungsi Lambda. Untuk informasi selengkapnya, lihat [Izinkan akses fungsi Lambda ke metastores Hive eksternal](hive-metastore-iam-access-lambda.md).

## Kloning dan bangun fungsi Lambda
<a name="connect-data-source-hive-existing-iam-role-clone-and-build-the-lambda-function"></a>

[Kode fungsi untuk implementasi referensi Athena adalah proyek Maven yang terletak di awslabs/. GitHub aws-athena-hive-metastore](https://github.com/awslabs/aws-athena-hive-metastore) Untuk informasi rinci tentang proyek, lihat file README yang sesuai pada GitHub atau [Ubah konektor metastore Hive eksternal Athena](datastores-hive-reference-implementation.md) topik dalam dokumentasi ini.

**Untuk mengkloning dan membangun kode fungsi Lambda**

1. Masukkan perintah berikut untuk mengkloning implementasi referensi Athena:

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

1. Jalankan perintah berikut untuk membangun`.jar`untuk fungsi Lambda:

   ```
   mvn clean install
   ```

   Setelah proyek berhasil dibangun, berikut`.jar`dibuat di folder target proyek Anda:

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

   Di bagian selanjutnya, Anda menggunakan AWS Lambda konsol untuk mengunggah file ini ke akun Amazon Web Services Anda.

## Buat dan konfigurasikan fungsi Lambda di konsol AWS Lambda
<a name="connect-data-source-hive-existing-iam-role-aws-lambda-console"></a>

Di bagian ini, Anda menggunakan AWS Lambda konsol untuk membuat fungsi yang menggunakan peran eksekusi IAM yang ada. Setelah Anda mengonfigurasi VPC untuk fungsi, Anda mengunggah kode fungsi dan mengonfigurasi variabel lingkungan untuk fungsi.

### Buat fungsi Lambda
<a name="connect-data-source-hive-existing-iam-role-create-the-lambda-function"></a>

Pada langkah ini, Anda membuat fungsi di AWS Lambda konsol yang menggunakan peran IAM yang ada.

**Untuk membuat fungsi Lambda yang menggunakan IAM role yang sudah ada**

1. Masuk ke Konsol Manajemen AWS dan buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Di panel navigasi, pilih **Fungsi**.

1. Pilih **Buat fungsi**.

1. Pilih **Penulis dari scratch**.

1. Untuk**Nama fungsi**Masukkan nama fungsi Lambda Anda (misalnya,**EHMSBasedLambda**).

1. Untuk**Waktu pengoperasian**Pilih**Java 8**.

1. (Opsional) Di bagian **Izin**, luaskan **Ubah peran eksekusi default**.

1. Untuk**Peran eksekusi**Pilih**Gunakan peran yang sudah ada**.

1. Untuk**Peran yang ada**, pilih peran eksekusi IAM yang fungsi Lambda Anda akan gunakan untuk Athena (contoh ini menggunakan peran yang disebut`AthenaLambdaExecutionRole`).

1. Perluas **Pengaturan lanjutan**.

1. Pilih **Aktifkan Jaringan**.

1. Untuk**VPC**, pilih VPC yang fungsi Anda akan memiliki akses ke.

1. Untuk **Subnet**, pilih subnet VPV untuk digunakan oleh Lambda.

1. Untuk**Grup keamanan**, pilih grup keamanan VPC untuk digunakan Lambda.

1. Pilih **Buat fungsi**. AWS Lambda Konsol dan membuka halaman konfigurasi untuk fungsi Anda dan mulai membuat fungsi Anda.

### Unggah kode dan konfigurasikan fungsi Lambda
<a name="connect-data-source-hive-existing-iam-role-upload-and-configure"></a>

Saat konsol memberi tahu Anda bahwa fungsi Anda telah berhasil dibuat, Anda siap untuk mengunggah kode fungsi dan mengonfigurasi variabel lingkungannya.

**Untuk mengunggah kode fungsi Lambda Anda dan mengonfigurasi variabel lingkungannya**

1. Di konsol Lambda, pastikan Anda berada di tab **Kode** pada halaman fungsi yang Anda tentukan.

1. Untuk **Sumber kode**, pilih **Unggah dari**, lalu pilih **file.zip atau.jar.**

1. Unggah`hms-lambda-func-1.0-SNAPSHOT-withdep.jar`yang Anda buat sebelumnya.

1. Pada halaman fungsi Lambda Anda, pilih tab **Konfigurasi**.

1. Dari panel di sebelah kiri, pilih **variabel Lingkungan**.

1. Di bagian **Variabel lingkungan**, pilih **Edit**.  
![\[PilihMengeditUntuk mengedit variabel lingkungan untuk fungsi Lambda.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/connect-data-source-hive-existing-iam-role-5.png)

1. Pada halaman **Edit variabel lingkungan**, gunakan opsi **Tambahkan variabel lingkungan** untuk menambahkan kunci dan nilai variabel lingkungan berikut:
   + **HMS\$1URIS**— Gunakan sintaks berikut untuk memasukkan URI host metastore Hive Anda yang menggunakan protokol Thrift di port 9083.

     ```
     thrift://<host_name>:9083
     ```
   + **SPILL\$1LOCATION - Tentukan lokasi** Amazon S3 di akun Amazon Web Services Anda untuk menyimpan metadata spillover jika ukuran respons fungsi Lambda melebihi 4 MB.  
![\[Menentukan nilai untuk variabel lingkungan fungsi Lambda.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/connect-data-source-hive-existing-iam-role-6.png)

1. Pilih **Simpan**.

Pada titik ini, Anda siap mengonfigurasi Athena untuk menggunakan fungsi Lambda Anda untuk terhubung ke metastore Hive Anda. Untuk langkah, lihat [Konfigurasikan Athena untuk menggunakan konektor metastore Hive yang digunakan](connect-data-source-hive-existing-lambda.md).