Cara Install dan Konfigurasi HIVE Metastore dengan MYSQL
Apa itu Metastore HIVE?
Metastore Hive adalah repositori yang menyimpan metadata (nama kolom, tipe data, komentar, dll.) yang terkait dengan Apache Hive menggunakan MySQL or PostgreSQL. Metastore Hive ini diimplementasikan menggunakan tabel dalam database relasional.
Mengapa Menggunakan MySQL di Hive sebagai Metastore:
- Secara Default, Hive hadir dengan database derby sebagai metastore.
- Basis data Derby hanya dapat mendukung satu pengguna aktif dalam satu waktu
- Derby tidak disarankan di lingkungan produksi
Sehingga larutan disini adalah
- Gunakan MYSQL sebagai penyimpanan Meta di backend untuk menghubungkan banyak pengguna dengan Hive sekaligus
- MYSQL adalah pilihan terbaik untuk metastore mandiri
Cara Memasang dan Mengkonfigurasi Hive Metastore ke MySQL Basis Data
Langkah 1) Install MySQL Server
Pada langkah ini, kita akan melakukan dua tugas
- Instalasi server mysql
- Memeriksa server mysql dan prosesnya
- Menggunakan perintah sudo apt-get install mysql-server, kita dapat mendownload server mysql
Install MySQL seperti yang ditunjukkan pada tangkapan layar
- Setelah instalasi berhasil di akhir, MySQL akan berjalan seperti yang ditunjukkan pada cuplikan layar di bawah ini
Langkah 2) Install MySQL Java konektor
Instalasi MySQL Java Penyambung. Ini untuk dependensi Java dan tujuan koneksi
Langkah 3) Buat tautan lunak untuk konektor
Membuat tautan lunak untuk konektor di direktori Hive lib. Ini untuk hubungan lunak antar Java dan MySql.
Langkah 4) Mengonfigurasi penyimpanan MySql di Hive
- Ketik MySql –u root –p diikuti dengan kata sandi
- Di sini –u mewakili nama pengguna root, p menunjukkan kata sandi
- Setelah memasukkan perintah di atas, pengguna harus memasukkan kata sandi yang valid lalu klik enter
- Kemudian akan masuk ke mode shell MySql
Langkah 5) Buat nama pengguna dan kata sandi
Membuat nama pengguna dan kata sandi untuk MySql, memberikan hak istimewa.
Kita harus menjalankan perintah seperti yang ditunjukkan di bawah ini,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword'; mysql> flush privileges;
Langkah 6) Mengonfigurasi situs sarang.xml
- Setelah Langkah 5 tetapkan nama pengguna dan kata sandi MySQL database dan hak istimewa yang diberikan.
- Di sini kita akan mengkonfigurasi beberapa properti di Hive untuk mendapatkan koneksi MySQL database.
Dari gambar di atas, kita melihat hal berikut. Di sini kita mendefinisikan 4 properti yang mungkin diperlukan untuk menjadikan MYSQL sebagai Meta store di Sarang lebah
Ini adalah sebagai berikut:
- Properti ini untuk tujuan URL koneksi. Di sini kita mendefinisikan ConnectionURL di properti ini. Ini bertindak sebagai koneksi JDBC dan mewakili lokasi metastore juga
- Properti ini untuk nama driver Koneksi. Di sini mysql.jdbc.Driver adalah nilai terhormat yang harus kami sebutkan di tag nilai
- Properti ini digunakan untuk mendefinisikan nama Pengguna Koneksi. Dalam hal ini, kami mendefinisikan "hiveguru" sebagai nama pengguna
- Properti ini digunakan untuk menyebutkan Kata Sandi Koneksi. Dalam hal ini, kami mendefinisikan kata sandi sebagai kata sandi pengguna.
Setelah properti ditempatkan di hive –site.xml kita harus menyimpan secara manual (Ctrl+S) dan menutup file tersebut. Setelah menutup file ini, kita harus membuat tabel Hive dan memeriksa detail tabel di MySQL penyimpanan.
Tempatkan kode ini di hive-site.xml
situs sarang.xml
<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value> <description>metadata is stored in a MySQL server</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>MySQL JDBC driver class</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hiveuser</value> <description>user name for connecting to mysql server</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hivepassword</value> <description>password for connecting to mysql server</description> </property> </configuration>
Langkah 7) Buat tabel
Buat tabel "guru99" di Hive.
Dari gambar di atas, kita dapat mengamati hal berikut
- Pembuatan nama tabel”guru99″ dengan dua nama kolom
- Nama kolom disebutkan dengan tipe datanya, yang satu adalah bilangan bulat, dan yang lainnya adalah tipe string
Pada langkah selanjutnya, kita akan memeriksa apakah itu disimpan di MySql atau tidak
Langkah 8) Masuk ke mode shell MySql
Dari gambar di atas, kita dapat mengamati hal berikut
- Pertama kita harus menggunakan database sebagai “use metastore”
- Setelah memilih meta store kita dapat memeriksa tabel yang ada di dalamnya dengan menggunakan perintah "show" tabel seperti yang ditunjukkan pada tangkapan layar
- Apa pun tabel yang dibuat di Hive, metadatanya sesuai dengan tabel yang disimpan di bawah TBLS MySQL database.
- “Tabel Guur99” dibuat di Hive, sehingga metadata terkait disimpan di dalamnya MySQL di bawah TBLS.
Langkah 9) Masukkan pilih * dari TBLS
Memeriksa apakah tabel yang dibuat sedang disajikan MySQL atau tidak
Dengan memasukkan pilih * dari TBLS, maka akan menampilkan tabel yang kita buat dalam mode Hive shell
Dari gambar tangkapan layar di atas kita dapat mengamati hal-hal berikut:
- Nama tabel “guru99” yang dibuat adalah Hive dapat ditampilkan MySQL mode cangkang
- Selain itu, juga akan memberikan informasi seperti waktu pembuatan tabel, waktu akses dan properti lainnya seperti yang ditunjukkan pada gambar layar di atas.