HBase Buat Tabel dengan Java Contoh API & Shell

โšก Ringkasan Cerdas

HBase menyimpan data dalam tabel, dan Anda dapat membuat serta mengelola tabel tersebut dengan dua cara: melalui Java API dengan HTableDescriptatau melalui HBaseAdmin, atau langsung di shell HBase menggunakan perintah create.

  • โ˜• Java Lebah: Buat tabel dalam kode dengan HTableDescriptatau, Kolom HDescriptatau, dan HBaseAdmin.
  • ๐Ÿš Shell membuat: Perintah create membangun tabel dari sebuah nama dan satu atau lebih keluarga kolom.
  • ๐Ÿงฌ Keluarga kolom: Setiap tabel membutuhkan setidaknya satu keluarga kolom, yang didefinisikan saat tabel dibuat.
  • ๐Ÿ”ง Ubah tabel: Perintah alter menambahkan keluarga kolom, mengatur VERSION, atau mengubah atribut lingkup tabel.
  • ๏ธ Siklus hidup tabel: Nonaktifkan tabel sebelum Anda mengubah atau menghapusnya, lalu aktifkan kembali untuk melanjutkan penulisan.
  • ๐Ÿค– Bantuan AI: Asisten AI menyusun perintah buat, ubah, dan hapus serta meninjau desain keluarga kolom.

HBase membuat tabel dengan Java Contoh API dan perintah shell

Cara Membuat Tabel di HBase dengan Java API

Di HBase, tabel dapat dibuat dengan dua cara: melalui Java API dan melalui shell HBase. Bagian ini membahas tentang Java API, yang memungkinkan aplikasi untuk membuat tabel dan memuat data secara terprogram sebagai bagian dari pekerjaan yang lebih besar.

Melalui Java API, kita dapat membuat tabel di HBase dan juga memuat data ke dalam tabel menggunakan Java Pemrograman. Dua hal yang kami siapkan di sini adalah:

  • Membangun koneksi dengan HBase melalui Java API.
  • Menggunakan Eclipse untuk Java Pengkodean, debugging, dan pengujian.

Berikut adalah langkah-langkah untuk membuat tabel di HBase melalui Java API.

Langkah 1) Buat a Java Proyek di Eclipse

Pada langkah ini, kita akan membuat a Java proyek di Eclipse untuk koneksi HBase, yang diberi nama โ€œHbaseConnectionโ€.

The New Java Dialog proyek di bawah ini menunjukkan proyek โ€œHbaseConnectionโ€ yang sedang disiapkan:

Eclipse New Java Dialog proyek yang membuat proyek HbaseConnection dengan JavaLingkungan SE-1.7

Jika kita perhatikan tangkapan layar di atas:

  • Masukkan nama proyek di kotak ini. Dalam kasus kami, nama proyeknya adalah โ€œHbaseConnectionโ€.
  • Centang kotak ini untuk lokasi default penyimpanan. Di sini, /home/hduser/work/HbaseConnection adalah jalurnya.
  • Centang kotak untuk Java lingkungan di sini. Dalam hal ini JavaSE-1.7 adalah Java edisi.
  • Pilih opsi untuk tempat Anda ingin menyimpan file. Dalam kasus kami, kami memilih opsi kedua, โ€œBuat folder terpisah untuk file sumber dan file kelasโ€.
  • Klik tombol Selesai, yang akan membuat proyek โ€œHbaseConnectionโ€ di Eclipse dan membuka Eclipse halaman rumah.

Langkah 2) Konfigurasikan Build Path di Eclipse

pada Eclipse Halaman beranda, ikuti langkah-langkah berikut untuk membuka konfigurasi jalur build:

Right click on project -> Select Build Path -> Configure build path

Tangkapan layar di bawah ini menunjukkan menu klik kanan yang digunakan untuk membuka konfigurasi jalur build:

Eclipse Klik kanan menu proyek, pilih Build Path, lalu Configure Build Path.

Dari tangkapan layar di atas:

  • Klik kanan pada sebuah proyek.
  • Pilih Jalur Build.
  • Pilih Konfigurasi Jalur Build.

Setelah mengklik Configure Build Path, jendela lain akan terbuka, seperti yang ditunjukkan pada tangkapan layar di bawah ini. Tab Libraries adalah tempat file JAR HBase dan Hadoop ditambahkan ke proyek:

Eclipse Java Tab Build Path Libraries menambahkan file JAR HBase dan Hadoop eksternal.

Pada langkah ini, kita menambahkan JAR HBase yang relevan ke dalam Java proyek seperti yang ditunjukkan pada tangkapan layar.

  • File JAR penting yang perlu ditambahkan: hbase-0.94.8.jar dan hadoop-core-1.1.2.jar.
  • Silakan buka tab Perpustakaan.
  • Tekan opsi Tambah JAR Eksternal.
  • Pilih file JAR penting yang dibutuhkan.
  • Tekan tombol Selesai untuk menambahkan file-file ini ke "src" dari Java proyek di bawah naungan Perpustakaan.

Setelah file JAR ditambahkan, file tersebut akan muncul di lokasi "src" proyek seperti yang ditunjukkan di bawah ini:

Eclipse penjelajah proyek yang menampilkan file JAR HBase dan Hadoop yang ditambahkan di bawah sumber proyek.

Semua file JAR yang termasuk dalam proyek ini sekarang siap digunakan dengan ekosistem Hadoop.

Langkah 3) Buat Koneksi HBase

Pada langkah ini, dengan menggunakan HBaseConnection.java, koneksi HBase dibuat melalui Java coding

pada Eclipse menu atas, jalankan Java program seperti yang ditunjukkan di bawah ini: Jalankan -> Jalankan Sebagai -> Java Aplikasi. Menu di bawah ini menunjukkan program yang diluncurkan:

Eclipse Jalankan Sebagai Java Menu aplikasi yang meluncurkan program HBaseConnection

  • Pilih Jalankan.
  • Pilih Jalankan Sebagai Java Aplikasi.
  • Kode ini membangun koneksi dengan HBase melalui Java API.
  • Setelah menjalankan kode ini, tabel โ€œguru99โ€ dibuat di HBase dengan dua keluarga kolom bernama โ€œeducationโ€ dan โ€œprojectsโ€. Saat ini, hanya skema kosong yang dibuat di HBase.

Cuplikan kode di bawah ini menyoroti HTable.Descriptatau dan panggilan addFamily yang membangun skema tabel:

Java kode menggunakan HTableDescriptatau dan addFamily untuk mendefinisikan tabel guru99 dengan keluarga kolom pendidikan dan proyek.

Berdasarkan tangkapan layar di atas, kami menjalankan fungsi-fungsi berikut:

  • Menggunakan HTableDescriptatau, kita dapat membuat tabel โ€œguru99โ€ di HBase.
  • Dengan menggunakan metode addFamily, kita menambahkan โ€œpendidikanโ€ dan โ€œproyekโ€ sebagai keluarga kolom ke tabel โ€œguru99โ€.

Kode di bawah ini akan membuat koneksi dengan HBase dan membuat tabel โ€œguru99โ€ dengan dua keluarga kolom. Letakkan kode ini di bawah dokumen HBaseConnection.java:

// Place this code inside Hbase connection
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
Import org.apache.hadoop.hbase.client.HBaseAdmin;

public class HBaseConnection
{
    public static void main(String[] args) throws IOException
    {
	HBaseConfigurationhc = new HBaseConfiguration(new Configuration());
	HTableDescriptorht = new HTableDescriptor("guru99");

	ht.addFamily( new HColumnDescriptor("education"));
	ht.addFamily( new HColumnDescriptor("projects"));
	System.out.println( "connecting" );
	HBaseAdminhba = new HBaseAdmin( hc );

	System.out.println( "Creating Table" );
	hba.createTable( ht );
	System.out.println("Done......");
    }
}

Ini adalah kode yang wajib Anda tempatkan di HBaseConnection.java sebelum menjalankannya. Java program.

Setelah menjalankan program ini, program akan membuat koneksi dengan HBase dan, selanjutnya, membuat tabel dengan nama kolom.

  • Nama tabelnya adalah โ€œguru99โ€.
  • Kelompok kolomnya adalah โ€œpendidikanโ€ dan โ€œproyekโ€.

Langkah 4) Periksa Tabel yang Dibuat di HBase

Kita dapat memeriksa apakah tabel โ€œguru99โ€ dibuat dengan dua keluarga kolom di HBase dengan menggunakan mode shell HBase dengan perintah โ€œlistโ€. Perintah โ€œlistโ€ memberikan informasi tentang semua tabel yang dibuat di HBase.

Menjalankan perintah list di shell HBase akan mengkonfirmasi tabel baru tersebut, seperti yang ditunjukkan di bawah ini:

Output perintah HBase shell list menunjukkan bahwa tabel guru99 telah dibuat.

  • Code Memeriksa di shell HBase dengan menjalankan perintah โ€œlistโ€.
  • Jika kita menjalankan perintah โ€œlistโ€, maka akan ditampilkan tabel yang dibuat di HBase. Dalam kasus kita, kita dapat melihat tabel โ€œguru99โ€ telah dibuat.

HBase Membuat Tabel dengan Shell

disamping Java Dengan API, Anda dapat membuat tabel langsung dari shell HBase, yang merupakan cara tercepat untuk menyiapkan tabel untuk pengujian cepat. Sintaks untuk membuat tabel di HBase menggunakan shell adalah:

Syntax: create <tablename>, <columnfamilyname>

Contoh:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table โ€“ education

Contoh di atas menjelaskan cara membuat tabel di HBase dengan nama yang ditentukan sesuai dengan spesifikasi untuk setiap keluarga kolom. Selain itu, kita juga dapat meneruskan beberapa atribut lingkup tabel ke dalamnya.

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}

Di sini, blok {NAME=>'Edu', VERSIONS=>โ€ฆ} menetapkan keluarga kolom bernama โ€œEduโ€ dan jumlah versi sel yang disimpannya. Angka besar tersebut hanya ilustrasi; dalam praktiknya, VERSIONS adalah nilai kecil seperti 3 atau 5.

Mencantumkan, Mendeskripsikan, dan Memverifikasi Tabel HBase

Membuat tabel hanyalah bagian pertama dari penanganan tabel di HBase. Setelah tabel "guru99" ada, beberapa perintah umum memungkinkan Anda untuk memeriksanya dan memastikan statusnya sebelum Anda membaca, menulis, atau memodifikasi data. Anda dapat menjalankan semuanya dari cangkang HBase.

Perintah list akan menampilkan semua tabel pengguna di HBase:

hbase> list

Perintah describe menampilkan struktur tabel, termasuk keluarga kolomnya dan apakah tabel tersebut saat ini diaktifkan:

hbase> describe 'guru99'

Perintah exists memeriksa apakah sebuah tabel ada, dan is_enabled melaporkan apakah tabel tersebut dapat menerima penulisan:

hbase> exists 'guru99'
hbase> is_enabled 'guru99'

Pemeriksaan hanya baca ini aman dijalankan kapan saja. Ini adalah cara tercepat untuk memastikan bahwa tabel telah dibuat dengan benar dan untuk meninjau keluarga kolomnya sebelum memuat data.

Mengubah Tabel HBase

Skema tabel HBase tidak tetap setelah pembuatan. Perintah `alter` mengubah keluarga kolom dan atribut cakupan tabel tanpa membuatnya ulang. Tergantung pada versi HBase Anda, Anda mungkin perlu menonaktifkan tabel terlebih dahulu, kemudian menjalankan `alter` dan mengaktifkannya kembali.

Untuk menambahkan keluarga kolom baru ke tabel โ€œguru99โ€:

hbase> alter 'guru99', {NAME => 'contact'}

Untuk mengatur berapa banyak versi yang disimpan oleh sebuah keluarga kolom:

hbase> alter 'guru99', NAME => 'education', VERSIONS => 5

Untuk menghapus keluarga kolom dari tabel:

hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}

Anda juga dapat mengubah atribut cakupan tabel. Misalnya, tandai tabel sebagai hanya baca, atau atur ukuran file wilayah maksimum menjadi 128 MB:

hbase> alter 'guru99', READONLY
hbase> alter 'guru99', MAX_FILESIZE => '134217728'

Karena perintah `alter` menulis ulang skema, rencanakan perubahan dengan hati-hati pada tabel produksi, dan konfirmasikan hasilnya setelahnya dengan perintah `describe`.

Menonaktifkan, Mengaktifkan, dan Menghapus Tabel HBase

Untuk menghapus tabel atau menerapkan perubahan tertentu, HBase mengharuskan Anda untuk menonaktifkannya terlebih dahulu. Menonaktifkan tabel akan membuatnya offline sehingga tidak ada klien yang dapat membaca atau menulis ke tabel tersebut, yang membuat perubahan struktural menjadi aman.

Nonaktifkan sebuah tabel, dan periksa statusnya dengan is_disabled:

hbase> disable 'guru99'
hbase> is_disabled 'guru99'

Aktifkan kembali tabel untuk melanjutkan pembacaan dan penulisan:

hbase> enable 'guru99'

Tabel harus dinonaktifkan sebelum dapat dihapus. Hapusping Perintah ini menghapus tabel dan semua datanya secara permanen, jadi gunakan dengan hati-hati:

hbase> disable 'guru99'
hbase> drop 'guru99'

Untuk menghapus beberapa tabel sekaligus, drop_all menghapus setiap tabel yang namanya cocok dengan ekspresi reguler. Secara bersamaan, create, alter, disable, enable, dan drop mencakup seluruh siklus hidup penanganan data dalam tabel HBase.

Pertanyaan Umum Demo Slot

Praktik terbaik adalah menjaga jumlah family kolom tetap rendah, idealnya satu hingga tiga. HBase melakukan flush dan compact semua family dalam satu region, sehingga family tambahan akan menyebarkan data ke lebih banyak file dan memperlambat proses baca dan tulis. Kelompokkan kolom-kolom yang terkait ke dalam satu family jika memungkinkan.

Tidak. Saat pembuatan, Anda hanya mendefinisikan keluarga kolom. Kualifikasi kolom bersifat dinamis dan dapat ditambahkan pada baris mana pun saat Anda menulis data. Desain skema fleksibel ini memungkinkan setiap baris memuat kolom yang berbeda tanpa mengubah tabel terlebih dahulu.

Gunakan perintah `truncate 'guru99'`, yang menonaktifkan tabel, menghapusnya, dan membuatnya kembali dengan keluarga kolom yang sama. Skema tetap utuh meskipun setiap baris dihapus. Ini lebih cepat dan lebih bersih daripada menghapus baris satu per satu.

Contoh ini menggunakan HBaseAdmin dan HTable.Descriptatau, keduanya sudah usang sejak HBase 1.0. Kode modern mendapatkan objek Admin dari Connection melalui ConnectionFactory dan membangun skema dengan Table.DescriptatauBuilder dan ColumnFamilyDescriptorBuilder. Logika pembuatan tabel tetap sama.

VERSIONS menentukan berapa banyak versi berstempel waktu dari setiap sel yang disimpan oleh keluarga kolom. Nilai defaultnya adalah 1. Meminta versi yang lebih lama dengan perintah get atau scan akan mengembalikannya hingga jumlah yang disimpan terlampaui, setelah itu pemadatan akan menghapus sel-sel terlama.

HBase cocok untuk dataset yang sangat besar dan jarang (sparse) yang membutuhkan pembacaan dan penulisan acak yang cepat di atas Hadoop dan HDFS. Penggunaan tipikal meliputi data deret waktu, pengiriman pesan, dan analitik waktu nyata di mana tabel tumbuh hingga miliaran baris di banyak node.

Asisten pengkodean AI dan model bahasa besar menyusun perintah buat, ubah, dan hapus dari petunjuk bahasa biasa, menjelaskan desain keluarga kolom, dan menandai operasi berisiko seperti penghapusan.ping Sebuah tabel. Pembelajaran mesin juga dapat menganalisis pola akses untuk merekomendasikan tata letak kunci baris dan keluarga yang lebih baik, meskipun seorang insinyur harus memverifikasi setiap saran.

Ya. Kopilot GitHub dapat menghasilkan perintah shell HBase dan Java Kode klien untuk membuat, mengubah, dan menghapusping tabel dari komentar singkat. RevPeriksa outputnya untuk nama tabel yang benar, keluarga kolom, dan API Admin saat ini sebelum menjalankannya.

Ringkaslah postingan ini dengan: