E-MapReduce (EMR) Serverless Spark mendukung koneksi ke layanan Hive Metastore eksternal untuk mengakses data yang disimpan di Hive Metastore. Topik ini menjelaskan cara mengonfigurasi koneksi tersebut di EMR Serverless Spark guna mengelola dan menggunakan sumber daya data dalam lingkungan operasi Anda secara efisien.
Prasyarat
Ruang kerja dan sesi SQL telah dibuat. Untuk informasi selengkapnya, lihat Buat ruang kerja dan Kelola sesi SQL.
Batasan
Anda harus me-restart sesi yang sudah ada di ruang kerja agar dapat menggunakan Hive Metastore.
Setelah menetapkan Hive Metastore sebagai katalog data default, tugas alur kerja Anda akan menggunakannya secara default.
Prosedur
Langkah 1: Siapkan layanan Hive Metastore
Topik ini menggunakan Hive Metastore dari EMR on ECS sebagai contoh layanan eksternal. Jika layanan Hive Metastore sudah tersedia di virtual private cloud (VPC) Anda, langkah ini dapat dilewati.
Pada halaman EMR on ECS, buat kluster DataLake yang mencakup layanan Hive dengan Metadata diatur ke Built-in MySQL. Untuk informasi selengkapnya, lihat Buat kluster.
Login ke node master kluster menggunakan Secure Shell (SSH). Untuk informasi selengkapnya, lihat Login ke kluster.
Jalankan perintah berikut untuk masuk ke baris perintah Hive.
hiveJalankan perintah berikut untuk membuat tabel bernama `dw_users` yang mengarah ke Object Storage Service (OSS), lalu tulis data ke dalam tabel tersebut.
CREATE TABLE `dw_users`( `name` string) LOCATION 'oss://<yourBucket>/path/to/file'; INSERT INTO dw_users select 'Bob';
Langkah 2: Tambahkan koneksi jaringan
Buka halaman Konektivitas Jaringan.
Login ke Konsol EMR.
Pada panel navigasi sebelah kiri, pilih .
Pada halaman Spark, klik ruang kerja yang dituju.
Pada halaman EMR Serverless Spark, klik Network Connectivity pada panel navigasi sebelah kiri.
Pada halaman Network Connectivity, klik Add Network Connection.
Pada kotak dialog Add Network Connection, konfigurasikan parameter berikut lalu klik OK.
Parameter
Deskripsi
Connection Name
Masukkan nama untuk koneksi baru.
VPC
Pilih VPC yang sama dengan kluster EMR.
VSwitch
Pilih vSwitch yang berada di VPC yang sama dengan kluster EMR.
Koneksi jaringan berhasil dibuat ketika Status berubah menjadi Successful.

Langkah 3: Buka port layanan Hive Metastore
Dapatkan blok CIDR dari vSwitch yang ditentukan dalam koneksi jaringan.
Login ke Konsol VPC atau dan buka halaman VSwitches untuk menemukan blok CIDR vSwitch tersebut.

Tambahkan aturan grup keamanan.
Login ke Konsol EMR on ECS.
Pada halaman EMR on ECS, klik ID kluster yang dituju.
Pada halaman Basic Information, klik tautan untuk Cluster Security Group.
Pada halaman Security Groups, klik Add Rule. Atur Source dan Port, lalu klik OK.
Parameter
Deskripsi
Port
Masukkan port 9083.
Source
Masukkan blok CIDR vSwitch yang Anda peroleh pada langkah sebelumnya.
PentingUntuk mencegah risiko keamanan akibat serangan eksternal, jangan mengatur Source menjadi 0.0.0.0/0.
Langkah 4: Hubungkan ke Hive Metastore
Pada halaman EMR Serverless Spark, pada panel navigasi sebelah kiri, klik Data Catalog.
Pada halaman Data Catalog, klik Add Data Catalog.
Pada kotak dialog, klik External Hive Metastore. Konfigurasikan parameter berikut lalu klik OK.

Parameter
Deskripsi
Network Connectivity
Pilih koneksi jaringan yang Anda tambahkan pada Langkah 2.
Metastore Endpoint
URI Hive Metastore. Formatnya adalah
thrift://<alamat IP Hive metastore>:9083.<alamat IP Hive metastore>adalah alamat IP internal layanan HMS. Dalam contoh ini, alamat tersebut merupakan alamat IP internal node master kluster EMR. Anda dapat menemukannya pada halaman Node Management kluster EMR.CatatanJika ketersediaan tinggi (HA) diaktifkan untuk HMS, Anda dapat memasukkan titik akhir beberapa node. Pisahkan URI dengan koma (,), misalnya: thrift://<alamat IP Hive metastore 1>:9083,thrift://<alamat IP Hive metastore 2>:9083.
Kerberos Keytab File Path
Path menuju file Kerberos keytab.
Kerberos Principal
Nama principal yang terdapat dalam file keytab. Principal ini digunakan untuk verifikasi identitas dengan layanan Kerberos. Anda dapat menjalankan perintah
klist -kt <file keytab>untuk melihat nama principal dalam file keytab yang dituju.
Langkah 5: Gunakan Hive Metastore
Pada halaman Data Catalog, temukan hive_metastore dan klik Set As Default pada kolom Tindakan agar menjadi katalog data default untuk ruang kerja.

Restart sesi SQL.
Jika sesi SQL sudah ada di ruang kerja Anda, hentikan lalu restart sesi tersebut agar pengaturan hive_metastore berlaku.
Kueri data dari tabel di Hive Metastore menggunakan SQL Developer.
Buat pekerjaan SQL baru. Untuk informasi selengkapnya, lihat Kembangkan pekerjaan SparkSQL.
Jalankan perintah berikut untuk mengkueri tabel `dw_users`.
SELECT * FROM dw_users;