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ázyNejde o databázuPodporuje databázu NoSQL
Druh spracovaniaPodporuje dávkové spracovanie, tj OLAPPodporuje streamovanie údajov v reálnom čase, tj OLTP
Databázový modelPodregister podporuje model schémyHbase neobsahuje schémy
latenciaÚľ má nízku latenciuHbase má vysokú latenciu
nákladyV porovnaní s HBase je to nákladnejšieJe to nákladovo efektívne
kedy použiťÚľ sa dá použiť, keď nechceme písať komplexný kód MapReduceHBase 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žitiaMal by sa používať na analýzu údajov, ktoré sa uchovávajú po určité časové obdobieMal by sa používať na analýzu spracovania údajov v reálnom čase.
PríkladyHubspot je príkladom ÚľaFacebook 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ázyVYTVORIŤ 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ázyDROP DATABÁZA (POKIAĽ IDE) DATABÁZA - MENO (OBMEDZENIE ALEBO CASCADE);NA
Vytvorenie tabuľkyVYTVORIŤ (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ľkyALTER 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ľkyNAdeaktivovať '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ľkyNApovoliť „TABLE-NAME“
Zrušenie tabuľkyTABUĽKA DROP AK EXISTUJE názov tabuľkyAk 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ázZobraziť databázy;NA
Zoznam tabuliek v databázezobraziť tabuľky;zoznam
Opísať schému tabuľkyopíš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 -

  1. Apache Pig vs Apache Hive - Top 12 užitočných rozdielov
  2. Zistite 7 najlepších rozdielov medzi Hadoopom a HBase
  3. Top 12 Porovnanie Apache Hive vs Apache HBase (Infographics)
  4. Hadoop vs Hive - Zistite najlepšie rozdiely

Kategórie: