Zakaj uporabljati MySQL v panju kot Metastore:
- Hive privzeto dobi zbirko podatkov derbyja kot metastore.
- Baza podatkov Derby lahko hkrati podpira samo enega aktivnega uporabnika
- Derby ni priporočljiv v proizvodnem okolju
Torej je rešitev tukaj
- Uporabite MYSQL kot Meta-pomnilnik v ozadju, da hkrati povežete več uporabnikov s Hive-om
- MYSQL je najboljša izbira za samostojno prodajalno
Koraki za namestitev in konfiguriranje baze podatkov MySQL v Hive na Hadoop
Korak 1) V tem koraku bomo izvedli dve nalogi
- Namestitev strežnika mysql
- Preverjanje strežnika mysql in njegovega postopka
- Z ukazom sudo apt-get install mysql-server lahko prenesemo strežnik mysql
Namestite MySQL, kot je prikazano na posnetku zaslona
- Po uspešni namestitvi na koncu se bo MySQL zagnal, kot je prikazano na spodnjem posnetku zaslona
2. korak) Namestitev MySQL Java Connector. To je za odvisnosti Java in namen povezave
Korak 3) Ustvarjanje mehke povezave za konektor v imeniku Hive lib . To je za mehko povezavo med Javo in MySql.
Korak 4) Konfiguriranje shrambe MySql v panju
- Vnesite MySql -u root -p, ki mu sledi geslo
- Tu -u predstavlja root uporabniško ime, p označuje geslo
- Po vnosu zgornjega ukaza mora uporabnik vnesti veljavno geslo in nato klikniti enter
- Nato bo prešel v način lupine MySql
5. korak) Ustvarjanje uporabniškega imena in gesla za MySql, dodelitev privilegijev.
Izvesti moramo ukaze, kot je prikazano spodaj,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;
6. korak) Konfiguriranje hive-site.xml
- Po 5. koraku podatkovni bazi MySQL dodelite uporabniško ime in geslo ter dodelite privilegije.
- Tu bomo v Hive konfigurirali nekatere lastnosti, da bomo vzpostavili povezavo z bazo podatkov MySQL .
Na zgornjem posnetku zaslona opazimo naslednje. Tu definiramo 4 lastnosti, ki bi lahko bile potrebne za vzpostavitev MYSQL kot trgovine Meta v Hive
Ti so naslednji:
- Ta lastnost je namenjena URL-ju povezave. Tu definiramo ConnectionURL v tej lastnosti. Deluje kot povezava JDBC in predstavlja tudi lokacijo metahrambe
- Ta lastnost je za ime gonilnika Connection. Tu je mysql.jdbc.Driver spoštovana vrednost, ki jo moramo omeniti v oznaki vrednosti
- Ta lastnost se uporablja za definiranje imena uporabnika povezave. V tem smo kot uporabniško ime opredelili "hiveguru"
- Ta lastnost se uporablja za omembo gesla za povezavo. V tem smo določili geslo kot uporabniško geslo.
Ko so lastnosti postavljene v panj -site.xml, moramo ročno shraniti (Ctrl + S) in datoteko zapreti. Po zaprtju te datoteke moramo ustvariti tabelo Hive in preveriti podrobnosti tabele v pomnilniku MySQL.
To kodo postavite v 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
Step7) Ustvarjanje tabele "guru99" v panj.
Iz zgornjega posnetka zaslona lahko opazimo naslednje
- Ustvarjanje imena tabele "guru99" z dvema imenoma stolpcev
- Imena stolpcev, omenjena s svojim podatkovnim tipom, so celo število in drugo vrsto niza
V naslednjem koraku bomo preverili, ali je shranjen v MySql ali ne
Korak 8) Vstop v način lupine MySql
Iz zgornjega posnetka zaslona lahko opazimo naslednje
- Najprej moramo uporabiti bazo podatkov kot "use metastore"
- Ko izbere meta-shrambo, lahko z uporabo ukaza "show" tabele, kot je prikazano na posnetku zaslona, preverimo prisotne tabele
- Ne glede na tabele, ki so ustvarjene v Hiveju, metapodatki ustrezajo tem, da so tabele shranjene pod TBLS v zbirki podatkov MySQL.
- "Tabela Guur99" je ustvarjena v Hive, zato so ustrezni metapodatki shranjeni v MySQL pod TBLS.
Korak 9) Preverjanje, ali ustvarjena tabela predstavlja MySQL ali ne
Z vnosom select * iz TBLS bo prikazal tabele, ki smo jih ustvarili v načinu lupine Hive
Iz zgornjega posnetka zaslona lahko opazimo naslednje stvari:
- Ime tabele "guru99", ki je ustvarjeno kot panj, je lahko prikazano v načinu lupine MySQL
- Poleg tega bo zagotovil tudi informacije, kot so čas ustvarjanja tabele, čas dostopa in druge lastnosti, kot je prikazano na zgornjem posnetku zaslona.