Rozdiel medzi úľom a HBase
Apache Hive a HBase sú technológie veľkých dát založené na Hadoop. Obaja zvykli dotazovať údaje. Úľ a HBase bežia na vrchu Hadoopu a líšia sa svojou funkčnosťou. Hive je dialekt založený na SQL dialektoch, zatiaľ čo HBase podporuje iba MapReduce. HBase ukladá údaje vo forme párov kľúč / hodnota alebo stĺpec rodiny, zatiaľ čo Hive neukladá údaje.
Rozdiely Head to Head medzi Hive vs HBase (Infographics)
Nižšie je uvedený Top 8 Rozdiel medzi Úľom verzus HBase
Kľúčové rozdiely medzi Hive vs HBase
- Hbase vyhovuje ACID, zatiaľ čo Hive nie.
- Podregister podporuje rozdelenie a kritériá filtrovania založené na formáte dátumu, zatiaľ čo program HBase podporuje automatické rozdelenie na oddiely.
- Úľ nepodporuje aktualizačné vyhlásenia, zatiaľ čo HBase ich podporuje.
- Hbase je rýchlejší v porovnaní s Hive pri získavaní údajov.
- Úľ sa používa na spracovanie štruktúrovaných údajov, zatiaľ čo program HBase, pretože neobsahuje schému, môže spracovať akýkoľvek typ údajov.
- Hbase je vysoko (horizontálne) škálovateľná v porovnaní s Hive.
- Úľ analyzuje údaje na HDFS s podporou SQL Queries a potom ich prevedie na mapu a zníži počet úloh, zatiaľ čo v Hbase, keďže ide o streamovanie v reálnom čase, priamo vykonáva svoje operácie v databáze rozdelením na tabuľky a rodiny stĺpcov.
- keď prichádzame k dotazovaniu na dátový úľ, používa na vydávanie príkazov shell známy ako Hive shell, zatiaľ čo HBase, pretože ide o databázu, použijeme príkaz na spracovanie údajov v HBase.
- Na prechod do shellu úľa použijeme príkaz úľ. Potom, čo to dáte, bude to vyzerať ako úľ>. V HBase jednoducho dáme ako Use HBase.
Porovnávacia tabuľka Hive vs HBase
Základ pre porovnanie | Úľ | Hbase |
Typ databázy | Nejde o databázu | Podporuje databázu NoSQL |
Druh spracovania | Podporuje dávkové spracovanie, tj OLAP | Podporuje streamovanie údajov v reálnom čase, tj OLTP |
Databázový model | Podregister podporuje model schémy | Hbase neobsahuje schémy |
latencia | Úľ má nízku latenciu | Hbase má vysokú latenciu |
náklady | V porovnaní s HBase je to nákladnejšie | Je to nákladovo efektívne |
kedy použiť | Úľ sa dá použiť, keď nechceme písať komplexný kód MapReduce | HBase sa dá použiť, keď chceme mať náhodný prístup na čítanie a zápis veľkého množstva údajov |
Prípady použitia | Mal by sa používať na analýzu údajov, ktoré sa uchovávajú po určité časové obdobie | Mal by sa používať na analýzu spracovania údajov v reálnom čase. |
Príklady | Hubspot je príkladom Úľa | Facebook je najlepším príkladom pre Hbase |
Rozdiely v kódovaní medzi Hive vs HBase
Poďme teraz diskutovať o základných rozdieloch medzi Hive a HBase v kódovaní.
Základ pre porovnanie | Úľ | Hbase |
Vytvorenie databázy | VYTVORIŤ DATABÁZU (POKIAĽ NIE SÚ) DATABÁZA - NÁZOV; | Pretože Hbase je databáza, nemusíme vytvárať konkrétnu databázu |
Zrušenie databázy | DROP DATABÁZA (POKIAĽ IDE) DATABÁZA - MENO (OBMEDZENIE ALEBO CASCADE); | NA |
Vytvorenie tabuľky | VYTVORIŤ (DOČASNÉ ALEBO VONKAJŠIE) TABUĽKY (AK NE EXISTUJÚ) TABUĽKA NÁZOV ((názov stĺpca-názov_dokumentu (stĺpec s komentárom-komentár), ….))) (tabuľka s komentárom-stĺpec) (formát riadku FORMÁT) (uložený ako formát súboru) | VYTVORIŤ „“, „“ |
Zmena tabuľky | ALTER TABLE name RENAME TO new-name
ALTER TABLE name DROP (COLUMN) názov stĺpca ALTER TABLE name PRIDAŤ STĹPCE (col-spec (, col-spec ..)) ALTER TABLE name CHANGE column-name new-name new-type ALTER TABLE name REPLACE COLUMNS (col-spec (, col-spec ..)) | ALTER 'TABLE-NAME', NAME => 'COLUMN-NAME', VERSIONS => |
Zakázanie tabuľky | NA | deaktivovať 'TABLE-NAME' -> na zakázanie zadaného názvu tabuľky
disable_all 'r *' -> na vypnutie všetkých tabuliek, ktoré sa zhodujú s regulárnym výrazom |
Povolenie tabuľky | NA | povoliť „TABLE-NAME“ |
Zrušenie tabuľky | TABUĽKA DROP AK EXISTUJE názov tabuľky | Ak chceme zrušiť tabuľku, najprv ju musíme vypnúť
zakázať 'table-name' drop 'table-name' Podobne môžeme použiť disable_all a drop_all na vymazanie tabuliek, ktoré zodpovedajú zadanému regulárnemu výrazu. |
Zoznam databáz | Zobraziť databázy; | NA |
Zoznam tabuliek v databáze | zobraziť tabuľky; | zoznam |
Opísať schému tabuľky | opíšte názov tabuľky; | opíšte 'table-name' |
Integrácia úľa verzus HBase
- Nainštalujte a nakonfigurujte Úľ.
- Nainštalujte a nakonfigurujte program HBase.
- Na integráciu úľa a HBázy používame SKLADOVACIE MANIPULÁTORY v Úli.
- Handlery na ukladanie dát sú kombináciou SERDE, InputFormat a OutputFormat, ktorá akceptuje akúkoľvek externú entitu ako tabuľku v Úle.
- Táto funkcia teda pomáha užívateľovi vydávať dotazy SQL, či už je tabuľka prítomná v Hadoope alebo v databáze založenej na NOSQL, ako sú HBase, MongoDB, Cassandra, Amazon DynamoDB.
- Teraz sa pozrieme na jeden príklad prepojenia Hive s HBase pomocou HiveStorageHandler:
- Najprv musíme vytvoriť tabuľku Hbase pomocou príkazu.
vytvorte 'Student', 'personalinfo', 'dept info'
-> Personalinfo a dept info vytvárajú dve rôzne skupiny stĺpcov v tabuľke Student.
- Niektoré údaje musíme vložiť do tabuľky študentov. Napríklad, ako je uvedené nižšie.
uveďte 'student', 'sid01 ′, ' personalinfo: name ', ' Ram '
uveďte 'student', 'sid01 ′, ' personalinfo: mailid ', ' '
vložte 'student', 'sid01', 'deptinfo: deptname', 'Java'
uveďte 'Student', 'sid01', 'deptinfo: joinyear', '1994'
-> Podobne môžeme vytvoriť údaje pre sid02, sid03…
- Teraz musíme vytvoriť tabuľku Hive smerujúcu na tabuľku HBase.
- Pre každý stĺpec v Hbase vytvoríme jednu konkrétnu tabuľku pre tento stĺpec v Hive. V tomto prípade vytvoríme 2 tabuľky v Hive
create external table student_hbase(sid String, name String, mailid String)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler with serdeproperties("hbase.columns.mapping"=":key, personalinfo:name, personalinfo:mailid")
tblproperties("hbase.table.name"="student");
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
-> Podobne potrebujeme vytvoriť tabuľku s podrobnými informáciami o podrobnostiach v úli.
- Teraz môžeme napísať dotaz SQL do úľa, ako je uvedené nižšie.
select * from student_hbase;
Týmto spôsobom môžeme integrovať Hive s HBase.
Záver - Hive vs HBase
Ako už bolo uvedené, obidve sú odlišné technológie, ktoré poskytujú rôzne funkcie, v ktorých Hive pracuje pomocou jazyka SQL, a dá sa tiež nazvať ako HQL a HBase na analýzu údajov používajú páry kľúč - hodnota. Hive a HBase fungujú lepšie, ak sú kombinované, pretože Hive majú nízku latenciu a dokážu spracovať veľké množstvo údajov, ale nedokážu udržiavať aktuálne údaje a HBase nepodporuje analýzu údajov, ale podporuje aktualizácie na úrovni riadkov vo veľkom množstve. údajov.
Odporúčaný článok
Toto bol sprievodca Hive vs HBase, ich význam, porovnanie hlava-hlava, kľúčové rozdiely, porovnávacia tabuľka a záver. Ďalšie informácie nájdete aj v nasledujúcich článkoch -
- Apache Pig vs Apache Hive - Top 12 užitočných rozdielov
- Zistite 7 najlepších rozdielov medzi Hadoopom a HBase
- Top 12 Porovnanie Apache Hive vs Apache HBase (Infographics)
- Hadoop vs Hive - Zistite najlepšie rozdiely