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:
-
Kloning dan bangun — Kloning implementasi referensi Athena dan buat JAR file yang berisi kode fungsi Lambda.
-
AWS Lambda konsol — Di AWS Lambda konsol, buat fungsi Lambda, tetapkan peran IAM eksekusi 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 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
-
Git harus diinstal pada sistem Anda.
-
Anda harus memilikiApache Maven
diinstal. -
Anda memiliki peran IAM eksekusi yang dapat Anda tetapkan ke 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 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
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.
-
Untuk peran yang ada, pilih peran IAM eksekusi yang akan digunakan fungsi Lambda Anda untuk Athena (contoh ini menggunakan peran yang disebut).
AthenaLambdaExecutionRole
-
Perluas Pengaturan lanjutan.
-
Pilih Aktifkan Jaringan.
-
Untuk VPC, pilih VPC yang fungsi Anda akan memiliki akses ke.
-
Untuk Subnet, pilih VPC subnet untuk Lambda untuk digunakan.
-
Untuk grup Keamanan, pilih grup VPC keamanan untuk Lambda untuk digunakan.
-
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 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.
-
-
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.