Menghubungkan Athena ke metastore Hive menggunakan peran eksekusi IAM yang ada - Amazon Athena

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

Menghubungkan Athena ke metastore Hive menggunakan peran eksekusi IAM yang ada

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 - Kloning implementasi referensi Athena dan buat file JAR yang berisi kode fungsi Lambda.

  2. AWS Lambda konsol — Di AWS Lambda konsol, buat fungsi Lambda, tetapkan peran eksekusi IAM yang ada, dan unggah kode fungsi yang Anda buat.

  3. Konsol Amazon Athena — Di konsol 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 Menghubungkan Athena ke metastore Apache Hive.

Prasyarat

Kloning dan bangun fungsi Lambda

Kode fungsi untuk implementasi referensi Athena adalah proyek Maven yang terletak di awslabs/. GitHub aws-athena-hive-metastore Untuk informasi rinci tentang proyek, lihat file README yang sesuai pada GitHub atau Implementasi referensi 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
  2. Jalankan perintah berikut untuk membangun.jaruntuk fungsi Lambda:

    mvn clean install

    Setelah proyek berhasil dibangun, berikut.jardibuat 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

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

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 AWS Management Console dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/.

  2. Di panel navigasi, pilih Fungsi.

  3. Pilih Buat fungsi.

  4. Pilih Penulis dari scratch.

  5. UntukNama fungsiMasukkan nama fungsi Lambda Anda (misalnya,EHMSBasedLambda).

  6. UntukWaktu pengoperasianPilihJava 8.

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

  8. UntukPeran eksekusiPilihGunakan peran yang sudah ada.

  9. UntukPeran yang ada, pilih peran eksekusi IAM yang fungsi Lambda Anda akan gunakan untuk Athena (contoh ini menggunakan peran yang disebutAthenaLambdaExecutionRole).

  10. Perluas Pengaturan lanjutan.

  11. Pilih Aktifkan Jaringan.

  12. UntukVPC, pilih VPC yang fungsi Anda akan memiliki akses ke.

  13. Untuk Subnet, pilih subnet VPV untuk digunakan oleh Lambda.

  14. UntukGrup keamanan, pilih grup keamanan VPC untuk digunakan Lambda.

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

Unggah kode dan konfigurasikan fungsi Lambda

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.

  2. Untuk sumber Kode, pilih Unggah dari, lalu pilih file.zip atau.jar.

  3. Unggahhms-lambda-func-1.0-SNAPSHOT-withdep.jaryang Anda buat sebelumnya.

  4. Pada halaman fungsi Lambda Anda, pilih tab Konfigurasi.

  5. Dari panel di sebelah kiri, pilih variabel Lingkungan.

  6. Di bagian Variabel lingkungan, pilih Edit.

    PilihMengeditUntuk mengedit variabel lingkungan untuk fungsi Lambda.
  7. Pada halaman Edit variabel lingkungan, gunakan opsi Tambahkan variabel lingkungan untuk menambahkan kunci dan nilai variabel lingkungan berikut:

    • HMS_URIS— Gunakan sintaks berikut untuk memasukkan URI host metastore Hive Anda yang menggunakan protokol Thrift di port 9083.

      thrift://<host_name>:9083
    • SPILL_LOCATION - 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.
  8. 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.