Setelah mengintegrasikan Impala dengan Kudu, Anda dapat menggunakan Impala SQL untuk melakukan kueri dan mengelola data di tabel Kudu. Topik ini menjelaskan cara menghubungkan Impala ke kluster Kudu melalui Konsol E-MapReduce (EMR) atau CLI.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membuat kluster EMR dengan Impala dan Kudu dipilih sebagai layanan opsional. Untuk informasi lebih lanjut, lihat Buat kluster.
Cara kerja
Ada dua cara untuk memberi tahu Impala lokasi node master Kudu:
Global flag (
kudu_master_hosts): Diatur sekali dalam konfigurasi layanan Impala. Semua tabel Kudu yang dibuat melalui Impala secara otomatis menggunakan pengaturan ini.Properti per tabel (
kudu.master_addresses): Ditentukan dalam klausaTBLPROPERTIESpada setiap pernyataanCREATE TABLE. Gunakan pendekatan ini saat Anda mengonfigurasi Impala melalui CLI tanpa mengatur global flag.
Integrasikan Impala dengan Kudu menggunakan Konsol EMR
Langkah 1: Konfigurasikan layanan Impala
Buka tab Configure pada halaman layanan Impala. Untuk informasi lebih lanjut, lihat Kelola item konfigurasi.
Klik impalad.flgs, lalu klik Add Configuration Item. Tambahkan item konfigurasi berikut:
Parameter Nilai kudu_master_hostsmaster-1-1:7051kudu_master_hostsmenentukan hostname dan Port node master Kudu. Untuk beberapa node master, pisahkan setiap pasanganhostname:portdengan koma — contohnya:master-1-1:7051,master-1-2:7051,master-1-3:7051.Klik tab catalogd.flgs, lalu klik Add Configuration Item. Tambahkan item konfigurasi yang sama:
Parameter Nilai kudu_master_hostsmaster-1-1:7051
Langkah 2 (Opsional): Verifikasi integrasi
Hubungkan ke Impala. Untuk informasi lebih lanjut, lihat Gunakan tool Impala shell.
Buat tabel uji:
CREATE TABLE my_first_table ( id BIGINT, name STRING, PRIMARY KEY(id) ) PARTITION BY HASH PARTITIONS 16 STORED AS KUDU TBLPROPERTIES( 'kudu.num_tablet_replicas' = '1');Jika output berisi
Table has been created., berarti Impala berhasil terintegrasi dengan Kudu.
Integrasikan Impala dengan Kudu menggunakan CLI
Langkah 1: Hubungkan ke Impala
Hubungkan ke Impala menggunakan tool Impala shell. Untuk informasi lebih lanjut, lihat Gunakan tool Impala shell.
Langkah 2: Buat tabel Kudu
Jalankan perintah berikut untuk membuat tabel. Properti kudu.master_addresses menentukan node master Kudu.
CREATE TABLE my_first_table
(
id BIGINT,
name STRING,
PRIMARY KEY(id)
)
PARTITION BY HASH PARTITIONS 16
STORED AS KUDU
TBLPROPERTIES(
'kudu.master_addresses' = 'master-1-1:7051',
'kudu.num_tablet_replicas' = '1');Parameter utama:
| Parameter | Deskripsi |
|---|---|
my_first_table | Nama tabel. Ganti dengan nama pilihan Anda. |
kudu.master_addresses | Hostname dan Port node master Kudu. Untuk beberapa node master, pisahkan setiap pasangan hostname:port dengan koma — contohnya: master-1-1:7051,master-1-2:7051,master-1-3:7051. Untuk kluster Hadoop, ganti master-1-1 dengan emr-header-1. |
kudu.num_tablet_replicas | Jumlah replika tablet. Contoh ini menggunakan '1'. |
Jika output berisi Table has been created., berarti tabel berhasil dibuat.
Langkah 3 (Opsional): Masukkan data
INSERT INTO my_first_table VALUES(1, "ss");Langkah 4 (Opsional): Lakukan kueri data
SELECT * FROM my_first_table;Output yang diharapkan:
+----+------+
| id | name |
+----+------+
| 1 | ss |
+----+------+Untuk menghapus tabel, jalankan DROP TABLE my_first_table;.