Partisi & Ember Sarang dengan Contoh

Tabel, Partisi, dan Bucket adalah bagian dari pemodelan data Hive.

Apa itu Partisi?

Hive Partitions adalah cara mengatur tabel menjadi beberapa partisi dengan membagi tabel menjadi beberapa bagian berdasarkan kunci partisi.

Partisi berguna ketika tabel memiliki satu atau lebih kunci Partisi. Kunci partisi adalah elemen dasar untuk menentukan bagaimana data disimpan dalam tabel.

Sebagai contoh: -

“Klien memiliki Beberapa data E-commerce milik operasi India di mana operasi masing-masing negara bagian (38 negara bagian) disebutkan secara keseluruhan. Jika kita mengambil kolom negara bagian sebagai kunci partisi dan melakukan partisi pada data India tersebut secara keseluruhan, kita bisa mendapatkan Jumlah partisi (38 partisi) yang sama dengan jumlah negara bagian (38) yang ada di India. Sehingga setiap data negara bagian dapat dilihat secara terpisah dalam tabel partisi.

Contoh Cuplikan Kode untuk partisi

  1. Pembuatan Tabel semua negara bagian
create table all states(state string, District string,Enrolments string)

row format delimited

fields terminated by ',';
  1. Memuat data ke dalam tabel yang dibuat semua negara bagian
Load data local inpath '/home/hduser/Desktop/AllStates.csv' into table allstates;
  1. Pembuatan tabel partisi
create table state_part(District string,Enrolments string) PARTITIONED BY(state string);
  1. Untuk partisi kita harus mengatur properti ini
    set hive.exec.dynamic.partition.mode=nonstrict
  2. Memuat data ke dalam tabel partisi
INSERT OVERWRITE TABLE state_part PARTITION(state)
SELECT district,enrolments,state from  allstates;
  1. Pemrosesan aktual dan pembentukan tabel partisi berdasarkan status sebagai kunci partisi
  2. Akan ada 38 keluaran partisi dalam penyimpanan HDFS dengan nama file sebagai nama negara. Kami akan memeriksanya pada langkah ini

Tangkapan layar berikut akan menunjukkan kepada Anda eksekusi kode yang disebutkan di atas

Partisi Sarang

Partisi Sarang

Partisi Sarang

Partisi Sarang

Dari kode di atas, kita melakukan hal-hal berikut

  1. Pembuatan tabel semua negara bagian dengan 3 nama kolom seperti negara bagian, distrik, dan pendaftaran
  2. Memuat data ke dalam tabel semua negara bagian
  3. Pembuatan tabel partisi dengan status sebagai kunci partisi
  4. Pada langkah ini Mengatur mode partisi sebagai non-ketat (Mode ini akan mengaktifkan mode partisi dinamis)
  5. Memuat data ke dalam partisi tablestate_part
  6. Pemrosesan aktual dan pembentukan tabel partisi berdasarkan status sebagai kunci partisi
  7. Akan ada 38 output partisi dalam penyimpanan HDFS dengan nama file sebagai nama negara. Kami akan memeriksanya pada langkah ini. Pada langkah ini, kita melihat 38 output partisi di HDFS

Apa itu Bucket?

Bucket di sarang digunakan dalam memisahkan data tabel sarang ke dalam beberapa file atau direktori. ini digunakan untuk kueri yang efisien.

  • Data yang ada di partisi tersebut dapat dibagi lebih lanjut ke dalam Bucket
  • Pembagian dilakukan berdasarkan Hash kolom tertentu yang kita pilih di tabel.
  • Bucket menggunakan beberapa bentuk algoritma Hashing di bagian belakang untuk membaca setiap record dan menempatkannya ke dalam bucket
  • Di Hive, kita harus mengaktifkan bucket dengan menggunakan set.hive.enforce.bucketing=benar;

Langkah 1) Membuat Bucket seperti gambar di bawah ini.

Ember Sarang

Dari tangkapan layar di atas

  • Kami membuat sample_bucket dengan nama kolom seperti first_name, job_id, department, gaji dan negara
  • Kami membuat 4 ember di sini.
  • Setelah data dimuat secara otomatis, tempatkan data ke dalam 4 ember

Langkah 2) Memuat Data ke dalam keranjang sampel tabel

Dengan asumsi bahwa "tabel Karyawan" sudah dibuat di sistem Hive. Pada langkah ini, kita akan melihat pemuatan Data dari tabel karyawan ke dalam keranjang sampel tabel.

Sebelum kita mulai memindahkan data karyawan ke dalam bucket, pastikan data tersebut berisi nama kolom seperti nama_depan, id_pekerjaan, departemen, gaji, dan negara.

Di sini kami memuat data ke dalam keranjang sampel dari tabel karyawan.

Ember Sarang

Langkah 3)Menampilkan 4 keranjang yang dibuat pada Langkah 1

Ember Sarang

Dari screenshot di atas, kita dapat melihat bahwa data dari tabel karyawan ditransfer ke 4 bucket yang dibuat pada langkah 1.