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

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 yang ada IAM

Untuk menghubungkan metastore Hive eksternal Anda ke Athena dengan fungsi Lambda yang menggunakan IAM peran 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 JAR file yang berisi kode fungsi Lambda.

  2. AWS Lambda konsol — Di AWS Lambda konsol, buat fungsi Lambda, tetapkan peran IAM eksekusi 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 IAM peran kustom, Anda dapat menggunakan alur kerja sederhana yang menggunakan konsol Athena dan AWS Serverless Application Repository untuk membuat dan mengonfigurasi fungsi Lambda. Untuk informasi selengkapnya, lihat Hubungkan 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 README file yang sesuai pada GitHub atau Ubah konektor metastore Hive eksternal Athena 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 IAM eksekusi yang ada. Setelah Anda mengkonfigurasi VPC untuk fungsi, Anda mengunggah kode fungsi dan mengkonfigurasi variabel lingkungan untuk fungsi tersebut.

Buat fungsi Lambda

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

Untuk membuat fungsi Lambda yang menggunakan peran yang ada IAM
  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. Untuk peran yang ada, pilih peran IAM eksekusi yang akan digunakan fungsi Lambda Anda untuk Athena (contoh ini menggunakan peran yang disebut). AthenaLambdaExecutionRole

  10. Perluas Pengaturan lanjutan.

  11. Pilih Aktifkan Jaringan.

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

  13. Untuk Subnet, pilih VPC subnet untuk Lambda untuk digunakan.

  14. Untuk grup Keamanan, pilih grup VPC keamanan untuk Lambda untuk digunakan.

  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 host metastore Hive Anda yang menggunakan protokol Thrift di port 9083. URI

      thrift://<host_name>:9083
    • SPILL_ LOCATION — Tentukan lokasi Amazon S3 di akun Amazon Web Services Anda untuk menyimpan metadata limpahan 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.