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:
-
Kloning dan bangun - Kloning implementasi referensi Athena dan buat file JAR yang berisi kode fungsi Lambda.
-
AWS Lambda konsol — Di AWS Lambda konsol, buat fungsi Lambda, tetapkan peran eksekusi IAM yang ada, dan unggah kode fungsi yang Anda buat.
-
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
-
Git harus diinstal pada sistem Anda.
-
Anda harus memilikiApache Maven
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.
Kloning dan bangun fungsi Lambda
Kode fungsi untuk implementasi referensi Athena adalah proyek Maven yang terletak di awslabs/. GitHub aws-athena-hive-metastore
Untuk mengkloning dan membangun kode fungsi Lambda
-
Masukkan perintah berikut untuk mengkloning implementasi referensi Athena:
git clone https://github.com/awslabs/aws-athena-hive-metastore
-
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
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
Masuk ke AWS Management Console dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/
. -
Di panel navigasi, pilih Fungsi.
-
Pilih Buat fungsi.
-
Pilih Penulis dari scratch.
-
UntukNama fungsiMasukkan nama fungsi Lambda Anda (misalnya,
EHMSBasedLambda
). -
UntukWaktu pengoperasianPilihJava 8.
-
(Opsional) Di bagian Izin, luaskan Ubah peran eksekusi default.
-
UntukPeran eksekusiPilihGunakan peran yang sudah ada.
-
UntukPeran yang ada, pilih peran eksekusi IAM yang fungsi Lambda Anda akan gunakan untuk Athena (contoh ini menggunakan peran yang disebut
AthenaLambdaExecutionRole
). -
Perluas Pengaturan lanjutan.
-
Pilih Aktifkan Jaringan.
-
UntukVPC, pilih VPC yang fungsi Anda akan memiliki akses ke.
-
Untuk Subnet, pilih subnet VPV untuk digunakan oleh Lambda.
-
UntukGrup keamanan, pilih grup keamanan VPC untuk digunakan Lambda.
-
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
-
Di konsol Lambda, pastikan Anda berada di tab Kode pada halaman fungsi yang Anda tentukan.
-
Untuk sumber Kode, pilih Unggah dari, lalu pilih file.zip atau.jar.
-
Unggah
hms-lambda-func-1.0-SNAPSHOT-withdep.jar
yang Anda buat sebelumnya. -
Pada halaman fungsi Lambda Anda, pilih tab Konfigurasi.
-
Dari panel di sebelah kiri, pilih variabel Lingkungan.
-
Di bagian Variabel lingkungan, pilih Edit.
-
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.
-
-
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.