Mengapa Menggunakan MySQL di Hive sebagai Metastore:
- Secara default, sarang dilengkapi dengan database derby sebagai metastore.
- Database derby hanya dapat mendukung satu pengguna aktif pada satu waktu
- Derby tidak dianjurkan di lingkungan produksi
Jadi solusinya di sini adalah
- Gunakan MYSQL sebagai penyimpanan Meta di backend untuk menghubungkan banyak pengguna dengan Hive sekaligus
- MYSQL adalah pilihan terbaik untuk metastore mandiri
Langkah-langkah untuk menginstal dan mengkonfigurasi database MySQL di Hive on Hadoop
Langkah 1) Pada langkah ini, kita akan melakukan dua tugas
- Pemasangan mysql-server
- Memeriksa server mysql dan prosesnya
- Menggunakan perintah sudo apt-get install mysql-server, kita dapat mengunduh server mysql
Instal MySQL seperti yang ditunjukkan pada tangkapan layar
- Setelah instalasi berhasil di akhir, MySQL akan berjalan seperti yang ditunjukkan pada gambar di bawah ini
Langkah 2) Memasang Konektor Java MySQL. Ini untuk dependensi java dan tujuan koneksi
Langkah 3) Membuat soft link untuk konektor di direktori lib Hive . Ini untuk soft link antara Java dan MySql.
Langkah 4) Konfigurasi 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) Membuat nama pengguna dan kata sandi untuk MySql, memberikan hak istimewa.
Kami 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) Konfigurasi sarang-situs.xml
- Setelah Langkah 5, tetapkan nama pengguna dan kata sandi ke database MySQL dan berikan hak istimewa.
- Di sini kita akan mengkonfigurasi beberapa properti di Hive untuk mendapatkan koneksi dengan database MySQL .
Dari tangkapan layar di atas, kami mengamati yang berikut ini. Di sini kami mendefinisikan 4 properti yang mungkin diperlukan untuk menetapkan MYSQL sebagai penyimpanan Meta di Hive
Ini adalah sebagai berikut:
- Properti ini untuk tujuan sambungan URL. Di sini kami mendefinisikan ConnectionURL di properti ini. Ini bertindak sebagai koneksi JDBC dan mewakili lokasi metastore juga
- Properti ini adalah untuk nama driver koneksi. Di sini mysql.jdbc.Driver adalah nilai yang dihormati yang harus kami sebutkan di tag nilai
- Properti ini digunakan untuk menentukan 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 sarang -site.xml kita harus menyimpan secara manual (Ctrl + S) dan menutup file. Setelah menutup file ini, kita harus membuat tabel Hive dan memeriksa detail tabel di penyimpanan MySQL.
Tempatkan kode ini di hive-site.xml
sarang-situs.xml
javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true metadata is stored in a MySQL server javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver MySQL JDBC driver class javax.jdo.option.ConnectionUserName hiveuser user name for connecting to mysql server javax.jdo.option.ConnectionPassword hivepassword password for connecting to mysql server
Step7) Buat tabel "guru99" di Hive.
Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini
- Pembuatan nama tabel "guru99" dengan dua nama kolom
- Nama kolom yang disebutkan dengan tipe datanya sebagai satu adalah integer, dan satu lagi adalah tipe string
Pada langkah selanjutnya, kita akan memeriksa apakah itu disimpan di MySql atau tidak
Langkah 8) Masuk ke mode shell MySql
Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini
- Pertama kita harus menggunakan database sebagai "gunakan metastore"
- Setelah memilih toko meta, kita dapat memeriksa tabel yang ada di sini dengan menggunakan perintah "tampilkan" tabel seperti yang ditunjukkan pada tangkapan layar
- Apapun tabel yang dibuat di Hive, metadata yang sesuai dengan tabel tersebut disimpan di bawah TBLS dalam database MySQL.
- "Tabel Guur99" dibuat di Hive, sehingga metadata yang sesuai disimpan di MySQL di bawah TBLS.
Langkah 9) Memeriksa apakah tabel yang dibuat menampilkan MySQL atau Tidak
Dengan memasukkan select * dari TBLS, maka akan muncul tabel yang kita buat dalam mode Hive shell
Dari tangkapan layar di atas kita dapat mengamati hal-hal berikut:
- Nama tabel "guru99" yang dibuat adalah Hive yang dapat ditampilkan dalam mode shell MySQL
- Selain itu, ini juga akan memberikan informasi seperti waktu pembuatan tabel, waktu akses dan properti lainnya seperti yang ditunjukkan pada tangkapan layar di atas.