De ce să utilizați MySQL în Hive ca Metastore:
- În mod implicit, Hive vine cu baza de date derby ca metastore.
- Baza de date Derby poate suporta un singur utilizator activ la un moment dat
- Derby-ul nu este recomandat în mediul de producție
Deci soluția aici este
- Utilizați MYSQL ca Meta de stocare în backend pentru a conecta mai mulți utilizatori cu Hive la un moment dat
- MYSQL este cea mai bună alegere pentru metastore independent
Pași pentru instalarea și configurarea bazei de date MySQL în Hive pe Hadoop
Pasul 1) În acest pas, vom îndeplini două sarcini
- Instalarea mysql-server
- Verificarea serverului mysql și procesul acestuia
- Folosind comanda sudo apt-get install mysql-server, putem descărca serverul mysql
Instalați MySQL așa cum se arată în captura de ecran
- După instalarea cu succes la final, MySQL va rula așa cum se arată în captura de ecran de mai jos
Pasul 2) Instalarea MySQL Java Connector. Acest lucru este destinat dependențelor Java și scopului conexiunii
Pasul 3) Crearea soft link-ului pentru conector în directorul Hive lib . Aceasta este pentru legătura soft între Java și MySql.
Pasul 4) Configurarea stocării MySql în Hive
- Tastați MySql -u root -p urmat de parolă
- Aici -u reprezintă numele de utilizator rădăcină, p reprezintă parola
- După introducerea comenzii de mai sus, utilizatorul trebuie să introducă parola validă și apoi să facă clic pe enter
- Apoi va intra în modul shell MySql
Pasul 5) Crearea numelui de utilizator și a parolei pentru MySql, acordând privilegii.
Trebuie să executăm comenzile așa cum se arată mai jos,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;
Pasul 6) Configurarea hive-site.xml
- După Pasul 5 atribuiți numele de utilizator și parola bazei de date MySQL și acordați privilegii.
- Aici vom configura câteva proprietăți în Hive pentru a obține o conexiune cu baza de date MySQL .
Din captura de ecran de mai sus, observăm următoarele. Aici definim 4 proprietăți care ar putea fi necesare pentru a stabili MYSQL ca magazin Meta în Hive
Acestea sunt după cum urmează:
- Această proprietate este destinată adresei URL a conexiunii. Aici definim ConnectionURL în această proprietate. Acționează ca o conexiune JDBC și locația sa reprezentativă pentru metastore
- Această proprietate este pentru numele driverului de conexiune. Aici mysql.jdbc.Driver este valoarea respectată pe care trebuie să o menționăm în eticheta de valoare
- Această proprietate utilizată pentru definirea numelui de utilizator Connection. În acest sens, am definit „hiveguru” ca nume de utilizator
- Această proprietate utilizată pentru menționarea parolei de conexiune. În aceasta, am definit parola ca parolă de utilizator.
Odată ce proprietățile plasate în hive -site.xml trebuie să salvăm manual (Ctrl + S) și să închidem fișierul. După închiderea acestui fișier, trebuie să creăm tabelul Hive și să verificăm detaliile tabelului în stocarea MySQL.
Plasați acest cod în 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
Pasul 7) Creați tabelul „guru99” în Hive.
Din captura de ecran de mai sus, putem observa următoarele
- Crearea numelui tabelului "guru99" cu două nume de coloane
- Numele coloanelor menționate cu tipul său de date întrucât unul este întreg, iar altul este de tip șir
În pasul următor, vom verifica dacă este stocat în MySql sau nu
Pasul 8) Intrarea în modul shell MySql
Din captura de ecran de mai sus, putem observa următoarele
- Mai întâi trebuie să folosim baza de date ca „metastore”
- Odată ce alege meta store putem verifica tabelele prezente în acest lucru folosind comanda "show" tables așa cum se arată în captura de ecran
- Indiferent de tabelele care sunt create în Hive, metadatele corespund acelor tabele sunt stocate sub TBLS în baza de date MySQL.
- „Tabelul Guur99” este creat în Hive, astfel încât metadatele corespunzătoare sunt stocate în MySQL sub TBLS.
Pasul 9) Verificarea dacă tabelul creat prezintă MySQL sau Nu
Prin introducerea select * din TBLS, va afișa tabelele pe care le-am creat în modul shell Hive
Din captura de ecran de mai sus putem observa următoarele lucruri:
- Numele tabelului „guru99” care a fost creat este Hive poate fi afișat în modul shell MySQL
- Pe lângă aceasta, va oferi și informații precum timpul de creare a mesei, timpul accesat și alte proprietăți așa cum se arată în captura de ecran de mai sus.