HCatalog - Tampilkan Partisi
Partisi adalah kondisi untuk data tabular yang digunakan untuk membuat tabel atau tampilan terpisah. SHOW PARTITIONS mencantumkan semua partisi yang ada untuk tabel dasar tertentu. Partisi dicantumkan dalam urutan abjad. Setelah Hive 0.6, dimungkinkan juga untuk menentukan bagian dari spesifikasi partisi untuk memfilter daftar yang dihasilkan.
Anda dapat menggunakan perintah SHOW PARTITIONS untuk melihat partisi yang ada di tabel tertentu. Bab ini menjelaskan cara membuat daftar partisi dari tabel tertentu di HCatalog.
Tampilkan Pernyataan Partisi
Sintaksnya adalah sebagai berikut -
SHOW PARTITIONS table_name;
Kueri berikut menjatuhkan tabel bernama employee -
./hcat –e "Show partitions employee;"
Saat eksekusi kueri berhasil, Anda akan melihat respons berikut -
OK
Designation = IT
Time taken: 5.3 seconds
Partisi Dinamis
HCatalog mengatur tabel menjadi beberapa partisi. Ini adalah cara membagi tabel menjadi beberapa bagian terkait berdasarkan nilai kolom yang dipartisi seperti tanggal, kota, dan departemen. Menggunakan partisi, mudah untuk menanyakan sebagian dari data.
Misalnya, tabel bernama Tab1berisi data karyawan seperti id, nama, dept, dan yoj (tahun bergabung). Misalkan Anda perlu mengambil detail dari semua karyawan yang bergabung pada tahun 2012. Kueri mencari informasi yang diperlukan di seluruh tabel. Namun, jika Anda mempartisi data karyawan dengan tahun dan menyimpannya dalam file terpisah, ini mengurangi waktu pemrosesan kueri. Contoh berikut menunjukkan cara mempartisi file dan datanya -
File berikut berisi employeedata meja.
/ tab1 / Employeedata / file1
id, name, dept, yoj
1, gopal, TP, 2012
2, kiran, HR, 2012
3, kaleel, SC, 2013
4, Prasanth, SC, 2013
Data di atas dipartisi menjadi dua file menggunakan tahun.
/ tab1 / Employeedata / 2012 / file2
1, gopal, TP, 2012
2, kiran, HR, 2012
/ tab1 / Employeedata / 2013 / file3
3, kaleel, SC, 2013
4, Prasanth, SC, 2013
Menambahkan Partisi
Kita dapat menambahkan partisi ke tabel dengan mengubah tabel. Mari kita asumsikan kita memiliki tabel yang disebutemployee dengan bidang seperti Id, Nama, Gaji, Penunjukan, Departemen, dan yoj.
Sintaksis
ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec
[LOCATION 'location1'] partition_spec [LOCATION 'location2'] ...;
partition_spec:
: (p_column = p_col_value, p_column = p_col_value, ...)
Kueri berikut digunakan untuk menambahkan partisi ke file employee meja.
./hcat –e "ALTER TABLE employee ADD PARTITION (year = '2013') location '/2012/part2012';"
Mengganti Nama Partisi
Anda dapat menggunakan perintah RENAME-TO untuk mengganti nama partisi. Sintaksnya adalah sebagai berikut -
./hact –e "ALTER TABLE table_name PARTITION partition_spec RENAME TO PARTITION partition_spec;"
Kueri berikut digunakan untuk mengganti nama partisi -
./hcat –e "ALTER TABLE employee PARTITION (year=’1203’) RENAME TO PARTITION (Yoj='1203');"
Menjatuhkan Partisi
Sintaks dari perintah yang digunakan untuk menjatuhkan partisi adalah sebagai berikut -
./hcat –e "ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec,.
PARTITION partition_spec,...;"
Kueri berikut digunakan untuk menjatuhkan partisi -
./hcat –e "ALTER TABLE employee DROP [IF EXISTS] PARTITION (year=’1203’);"