Panduan ini menjelaskan cara menggunakan Hive CLI pada kluster E-MapReduce (EMR) untuk membuat dan mengelola database serta tabel, serta menjalankan pernyataan SQL guna memasukkan dan mengkueri data.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membuat kluster EMR dengan layanan Hive yang diaktifkan. Untuk informasi lebih lanjut, lihat Create a cluster.
Buka Hive CLI
Login ke kluster EMR melalui SSH. Lihat Log on to a cluster.
Beralih ke pengguna hadoop:
su hadoopJalankan Hive CLI:
hive
Kelola database
Contoh berikut menggunakan database bernama testdb.
| Operasi | Perintah | Indikator keberhasilan |
|---|---|---|
| Buat | create database if not exists testdb; | Output berisi OK |
| Lihat detail | desc database testdb; | — |
| Beralih ke database | use testdb; | — |
| Hapus | drop database if exists testdb; | Output berisi OK |
Buat database
create database if not exists testdb;Jika output berisi OK, database berhasil dibuat.
Lihat detail database
desc database testdb;Beralih ke database
use testdb;Hapus database
drop database if exists testdb;Jika output berisi OK, database berhasil dihapus.
Kelola tabel
Contoh berikut menggunakan tabel bernama t dengan dua kolom: id (bigint) dan value (string).
| Operasi | Perintah | Indikator keberhasilan |
|---|---|---|
| Buat | create table if not exists t (id bigint, value string); | Output berisi OK |
| Lihat detail | desc formatted t; | — |
| Daftar semua tabel | show tables; | Mengembalikan OK lalu t |
| Hapus | drop table if exists t; | Output berisi OK |
Buat tabel
create table if not exists t (id bigint, value string);Jika output berisi OK, tabel berhasil dibuat.
Lihat detail tabel
desc formatted t;Daftar semua tabel
show tables;Output yang diharapkan:
OK
tHapus tabel
drop table if exists t;Jika output berisi OK, tabel berhasil dihapus.
Jalankan pernyataan SQL
Contoh berikut memasukkan satu baris ke dalam t lalu mengkuerinya.
Masukkan baris
insert into table t select 1, 'value-1';Output yang diharapkan:
OK
Time taken: 14.73 secondsBaris kueri
select * from t limit 10;Output yang diharapkan:
OK
1 value-1
Time taken: 11.48 seconds, Fetched: 1 row(s)data agregat
select value, count(id) from t group by value;Output yang diharapkan:
OK
value-1 1
Time taken: 20.11 seconds, Fetched: 1 row(s)