Mengapa Menggunakan MySQL di Hive sebagai Metastore:
- Secara Lalai, Hive dilengkapi dengan pangkalan data derby sebagai metastore.
- Pangkalan data Derby hanya dapat menyokong pengguna aktif tunggal dalam satu masa
- Derby tidak digalakkan dalam persekitaran pengeluaran
Jadi penyelesaiannya di sini adalah
- Gunakan MYSQL sebagai penyimpanan Meta di backend untuk menghubungkan beberapa pengguna dengan Hive pada satu masa
- MYSQL adalah pilihan terbaik untuk metastore mandiri
Langkah-langkah Memasang dan mengkonfigurasi pangkalan data MySQL di Hive on Hadoop
Langkah 1) Pada langkah ini, kita akan melaksanakan dua tugas
- Pemasangan pelayan mysql
- Memeriksa pelayan mysql dan prosesnya
- Dengan menggunakan perintah sudo apt-get install mysql-server, kita boleh memuat turun pelayan mysql
Pasang MySQL seperti yang ditunjukkan dalam tangkapan skrin
- Setelah berjaya dipasang pada akhirnya, MySQL akan berjalan seperti yang ditunjukkan dalam tangkapan skrin di bawah
Langkah 2) Memasang MySQL Java Connector. Ini adalah untuk kebergantungan java dan tujuan sambungan
Langkah 3) Membuat pautan lembut untuk penyambung dalam direktori Hive lib . Ini untuk hubungan lembut antara Java dan MySql.
Langkah 4) Mengkonfigurasi penyimpanan MySql di Hive
- Taip MySql -u root -p diikuti dengan kata laluan
- Di sini -u mewakili nama pengguna root, p menunjukkan kata laluan
- Setelah memasukkan perintah di atas, pengguna harus memasukkan kata laluan yang sah dan kemudian klik enter
- Kemudian ia akan memasuki mod shell MySql
Langkah 5) Membuat nama pengguna dan kata laluan untuk MySql, memberikan hak istimewa.
Kita harus melaksanakan 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) Mengkonfigurasi hive-site.xml
- Selepas Langkah 5 berikan nama pengguna dan kata laluan ke pangkalan data MySQL dan diberi hak istimewa.
- Di sini kita akan mengkonfigurasi beberapa sifat di Hive untuk mendapatkan sambungan dengan pangkalan data MySQL .
Dari tangkapan skrin di atas, kami melihat perkara berikut. Di sini kami mendefinisikan 4 sifat yang mungkin diperlukan untuk menjadikan MYSQL sebagai kedai Meta di Hive
Ini adalah seperti berikut:
- Properti ini adalah untuk tujuan URL sambungan. Di sini kita mendefinisikan ConnectionURL dalam harta tanah ini. Ia berfungsi sebagai sambungan JDBC dan juga merupakan lokasi metastore
- Harta ini adalah untuk nama pemacu Sambungan. Di sini mysql.jdbc.Driver adalah nilai terhormat yang harus kita sebutkan dalam tag nilai
- Harta ini digunakan untuk menentukan nama Pengguna Sambungan. Dalam ini, kami mendefinisikan "hiveguru" sebagai nama pengguna
- Harta ini digunakan untuk menyebut Kata Laluan Sambungan. Dalam ini, kami mendefinisikan kata laluan sebagai kata laluan pengguna.
Setelah sifat diletakkan di sarang -site.xml kita harus menyimpan secara manual (Ctrl + S) dan menutup fail. Setelah menutup fail ini, kita harus membuat jadual Hive dan memeriksa perincian jadual di penyimpanan MySQL.
Letakkan kod ini di hive-site.xml
hive-site.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
Langkah 7) Buat jadual "guru99" di Hive.
Dari tangkapan skrin di atas, kita dapat melihat perkara berikut
- Penciptaan nama jadual "guru99" dengan dua nama lajur
- Nama lajur disebut dengan jenis datanya sebagai satu adalah bilangan bulat, dan yang lain adalah jenis rentetan
Pada langkah seterusnya, kami akan memeriksa sama ada ia disimpan di MySql atau tidak
Langkah 8) Memasuki mod shell MySql
Dari tangkapan skrin di atas, kita dapat melihat perkara berikut
- Mula-mula kita harus menggunakan pangkalan data sebagai "use metastore"
- Setelah memilih meta store, kita dapat memeriksa jadual yang ada di dalamnya dengan menggunakan perintah "tunjukkan" jadual seperti yang ditunjukkan dalam tangkapan skrin
- Apa pun jadual yang dibuat di Hive, metadata sesuai dengan jadual yang disimpan di bawah TBLS dalam pangkalan data MySQL.
- "Jadual Guur99" dibuat di Hive, jadi metadata yang sesuai disimpan di MySQL di bawah TBLS.
Langkah 9) Memeriksa sama ada jadual yang dibuat menunjukkan MySQL atau Tidak
Dengan memasukkan select * dari TBLS, akan menampilkan tabel yang kami buat dalam mod shell Hive
Dari tangkapan skrin di atas, kita dapat melihat perkara berikut:
- Nama jadual "guru99" yang dibuat adalah Hive dapat ditampilkan dalam mod shell MySQL
- Di samping ini, ia juga akan memberikan maklumat seperti waktu pembuatan jadual, waktu yang diakses dan sifat lain seperti yang ditunjukkan dalam tangkapan skrin di atas.