EMR Serverless Spark dapat terhubung ke layanan Hive Metastore eksternal, memungkinkan Anda mengakses data yang tersimpan di dalamnya. Topik ini menjelaskan cara mengonfigurasi koneksi tersebut di ruang kerja Anda agar sumber daya data dapat dikelola dan digunakan secara efisien.
Prasyarat
Ruang kerja dan sesi SQL telah dibuat. Untuk informasi selengkapnya, lihat Create a workspace dan Manage SQL sessions.
Batasan
-
Untuk menggunakan layanan Hive Metastore, Anda harus me-restart sesi yang sudah ada di ruang kerja Anda.
-
Setelah Anda menetapkan layanan Hive Metastore sebagai katalog data default, tugas alur kerja akan menggunakannya.
Prosedur
Langkah 1: Siapkan layanan Hive Metastore
Dokumen ini menggunakan layanan Hive Metastore dari EMR on ECS sebagai contoh. Jika Anda sudah memiliki layanan Hive Metastore di VPC Anda, langkah ini dapat dilewati.
-
Di halaman EMR on ECS, buat kluster DataLake yang mencakup layanan Hive dan atur Metadata menjadi Built-in MySQL. Untuk informasi selengkapnya, lihat Create a cluster.
-
Gunakan SSH untuk login ke node master kluster. Untuk informasi selengkapnya, lihat Log on to a cluster.
-
Jalankan perintah berikut untuk masuk ke Hive CLI:
hive -
Jalankan perintah berikut untuk membuat tabel bernama
dw_usersdi Object Storage Service (OSS) dan memasukkan data ke dalamnya: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 koneksi jaringan.
-
Login ke EMR console.
-
Pada panel navigasi sebelah kiri, pilih EMR Serverless > Spark.
-
Di halaman Spark, klik nama ruang kerja yang dituju.
-
Di halaman EMR Serverless Spark, klik Normal Network Connection pada panel navigasi sebelah kiri.
-
-
Di halaman Normal Network Connection, klik Create Network Connection.
-
Di kotak dialog Create Network Connection, konfigurasikan parameter berikut lalu klik OK.
Parameter
Deskripsi
Name
Masukkan nama untuk koneksi baru.
VPC
Pilih VPC yang sama dengan kluster EMR.
vSwitch
Pilih vSwitch yang berada dalam VPC yang sama dengan kluster EMR.
Status Status yang menunjukkan Succeeded menandakan bahwa koneksi jaringan telah berhasil ditambahkan.
Langkah 3: Buka port layanan Hive Metastore
-
Dapatkan blok CIDR dari vSwitch untuk koneksi jaringan.
Anda dapat login ke VPC console dan buka halaman vSwitch untuk mendapatkan blok CIDR vSwitch tersebut.
-
Tambahkan aturan security group.
-
Login ke EMR on ECS console.
-
Di halaman EMR on ECS, klik ID kluster yang dituju.
-
Di halaman Basic Information, klik tautan di samping Cluster Security Group.
-
Di halaman Security Group, klik Add Rule. Tentukan Source dan Port, lalu klik OK.
Parameter
Deskripsi
Port
Masukkan
9083.Source
Masukkan blok CIDR vSwitch yang Anda peroleh pada langkah sebelumnya.
PentingUntuk mencegah risiko keamanan akibat serangan eksternal, jangan atur Source menjadi 0.0.0.0/0.
-
Langkah 4: Hubungkan ke Hive Metastore
-
Di halaman EMR Serverless Spark, klik Catalogs pada panel navigasi sebelah kiri.
-
Di halaman Catalogs, klik Add Catalog.
-
Di kotak dialog yang muncul, klik External Hive Metastore, konfigurasikan informasi berikut, lalu klik OK. Pada tab External Hive Metastore, masukkan
hive_metastorepada field Data Catalog Name, dan konfigurasikan parameter berikut.Parameter
Deskripsi
Normal Network Connection
Pilih koneksi jaringan yang telah Anda tambahkan pada Langkah 2.
Metastore service address
URI layanan Hive Metastore. Formatnya adalah
thrift://<IP address of Hive metastore>:9083.<IP address of Hive metastore>adalah IP internal dari node master di kluster EMR on ECS Anda. Anda dapat menemukan alamat IP ini pada halaman Nodes kluster tersebut.CatatanJika layanan Hive Metastore Anda menggunakan high availability (HA), masukkan URI untuk semua node yang relevan, dipisahkan dengan koma (,). Contohnya:
thrift://<IP address of Hive metastore 1>:9083,thrift://<IP address of Hive metastore 2>:9083.Kerberos keytab file
Jalur menuju file Kerberos keytab.
Kerberos principal
Nama Principal dalam file keytab, yang digunakan untuk autentikasi dengan layanan Kerberos. Anda dapat menggunakan perintah
klist -kt <keytab_file>untuk melihat nama Principal dalam file keytab tersebut.
Langkah 5: Gunakan Hive Metastore
-
Di halaman Catalogs, temukan entri
hive_metastoredan klik Set as default pada kolom Actions untuk menetapkannya sebagai katalog data default untuk ruang kerja. -
Restart sesi SQL.
Jika sesi SQL sedang berjalan di ruang kerja Anda, Anda harus me-restart sesi tersebut agar pengaturan
hive_metastoreberlaku. -
Kueri data dari tabel
hive_metastoredalam pekerjaan SparkSQL Anda.-
Buat pekerjaan pengembangan SparkSQL. Untuk informasi selengkapnya, lihat SparkSQL development.
-
Jalankan perintah berikut untuk mengkueri tabel
dw_usersdi layanan Hive Metastore:SELECT * FROM dw_users;Kueri tersebut mengembalikan satu catatan, dengan nilai
Bobpada kolomname.
-