Rozdíl mezi úlem a HBase

Apache Hive a HBase jsou technologie velkých dat založené na Hadoopu. Oba používali k dotazování dat. Hive a HBase běží na Hadoopu a liší se ve své funkčnosti. Úl je dialekt založený na dialektech SQL, zatímco HBase podporuje pouze MapReduce. HBase ukládá data ve formě párů klíč / hodnota nebo sloupec rodiny, zatímco Hive data neukládá.

Rozdíly mezi hlavami mezi Hive vs HBase (Infographics)

Níže je uveden Top 8 Rozdíl mezi Úlem a HBase

Klíčové rozdíly mezi Hive vs HBase

  • Hbase je kompatibilní s ACID, zatímco Hive není.
  • Podregistr podporuje rozdělení a kritéria filtrování na základě formátu data, zatímco HBase podporuje automatické rozdělení.
  • Úl nepodporuje aktualizační příkazy, zatímco HBase je podporuje.
  • Hbase je rychlejší ve srovnání s Hive při načítání dat.
  • Hive se používá ke zpracování strukturovaných dat, zatímco HBase, protože neobsahuje schémata, může zpracovávat jakýkoli typ dat.
  • Hbase je ve srovnání s Úlem vysoce (horizontálně) škálovatelný.
  • Úl analyzuje data na HDFS s podporou SQL Queries a poté je převede na mapu a sníží úlohy, zatímco v Hbase, protože se jedná o streamování v reálném čase, přímo provádí své operace v databázi rozdělením na tabulky a rodiny sloupců.
  • když přicházíme k dotazování na datový úl, používá k vydání příkazů prostředí známé jako shell Hive, zatímco HBase, protože je to databáze, použijeme příkaz ke zpracování dat v HBase.
  • Pro přechod do shellu úlu použijeme příkazový úl. Poté, co to dáte, bude to vypadat jako úl>. V HBase jednoduše dáme jako Use HBase.

Srovnávací tabulka Hive vs HBase

Základ pro srovnání

ÚlHbase
Typ databázeNení to databázePodporuje databázi NoSQL
Druh zpracováníPodporuje dávkové zpracování, tj. OLAPPodporuje streamování dat v reálném čase, tj. OLTP
Databázový modelPodregistr podporuje model schématuHbase neobsahuje schémata
LatenceÚl má nízkou latenciHbase má vysokou latenci
NákladyVe srovnání s HBase je to nákladnějšíJe to efektivní z hlediska nákladů
kdy použítÚl lze použít, pokud nechceme psát složitý kód MapReduceHBase lze použít, když chceme mít náhodný přístup ke čtení a zápisu velkého množství dat
Případy užitíMěl by být použit k analýze dat, která jsou uložena po určitou dobuMěl by být použit k analýze zpracování dat v reálném čase.
PříkladyHubspot je příkladem ÚluFacebook je pro Hbase nejlepším příkladem

Rozdíly v kódování mezi Hive vs HBase

Pojďme nyní diskutovat o základních rozdílech mezi Hive a HBase v kódování.

Základ pro srovnání

ÚlHbase
Vytvoření databázeVYTVOŘIT DATABÁZE (POKUD NEEXISTUJE) JMÉNO DATABÁZE;Protože Hbase je databáze, nemusíme vytvářet konkrétní databázi
Přetažení databázeDROP DATABASE (POKUD existuje) DATABASE-NAME (RESTRICT OR CASCADE);NA
Vytvoření tabulkyVYTVOŘENÍ (DOČASNÉ NEBO VNĚJŠÍ) TABULKA (POKUD NENÍ EXISTUJÍ) TABULKA JMÉNO

((název sloupce-název_dokumentu (sloupec s komentářem-komentář), ….))) (tabulka s tabulkou komentářů) (formát řádků ROW FORMAT) (uložen jako formát souboru)
VYTVOŘIT '', ''
Chcete-li změnit tabulkuALTER TABLE name RENAME TO new-name

ALTER TABLE name DROP (COLUMN) název sloupce

ALTER TABLE name ADD COLUMNS (col-spec (, col-spec ..))

ALTER TABLE name ZMĚNA column-name new-name new-type

ALTER TABLE name VÝMĚNA STĹPŮ (col-spec (, col-spec ..))

ALTER 'TABLE-NAME', NAME => 'COLUMN-NAME', VERSIONS =>
Zakázání tabulkyNAdeaktivovat 'TABLE-NAME' -> pro deaktivaci zadaného názvu tabulky

disable_all 'r *' -> pro deaktivaci všech tabulek, které odpovídají regulárnímu výrazu

Povolení tabulkyNApovolit 'TABLE-NAME'
Vypuštění tabulkyDROP TABLE IF EXISTS table-namePokud chceme zrušit tabulku, musíme ji nejprve vypnout

zakázat 'jméno-tabulky'

drop 'table-name'

Podobně můžeme použít disable_all a drop_all k odstranění tabulek, které odpovídají zadanému regulárnímu výrazu.

Seznam databázíukázat databáze;NA
Seznam tabulek v databáziukázat tabulky;seznam
Popsat schéma tabulkypopsat název tabulky;popiš 'název tabulky'

Integrace Hive vs HBase

  • Nainstalujte a nakonfigurujte Úl.
  • Nainstalujte a nakonfigurujte HBase.
  • Pro integraci Hive a HBase používáme SKLADOVACÍ MANIPULÁTORY v Úlu.
  • Obslužné programy pro ukládání dat jsou kombinací SERDE, InputFormat a OutputFormat, které přijímají jakoukoli externí entitu jako tabulku v Úlu.
  • Tato funkce tedy pomáhá uživateli vydávat dotazy SQL, ať už se jedná o tabulku v Hadoopu nebo v databázi založené na NOSQL, jako je HBase, MongoDB, Cassandra, Amazon DynamoDB.
  • Nyní se podíváme na jeden příklad propojení Hive s HBase pomocí HiveStorageHandler:
  • Nejprve musíme vytvořit tabulku Hbase pomocí příkazu.

vytvořit 'Student', 'personalinfo', 'dept info'

-> Personalinfo a dept info vytvoří dvě různé rodiny sloupců v Studentské tabulce.

  • Potřebujeme vložit některá data do studentské tabulky. Například, jak je uvedeno níže.

dát 'student', 'sid01 ′, ' personalinfo: name ', ' Ram '
vložte 'student', 'sid01 ′, ' personalinfo: mailid ', ' '
vložte 'student', 'sid01 ′, ' deptinfo: deptname ', ' Java '
dát 'Student', 'sid01', 'deptinfo: joinyear', '1994'

-> Podobně můžeme vytvořit data pro sid02, sid03…

  • Nyní musíme vytvořit tabulku Hive směřující na tabulku HBase.
  • Pro každý sloupec v Hbase vytvoříme jednu konkrétní tabulku pro tento sloupec v Úlu. V tomto případě vytvoříme 2 tabulky v Úlu

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'

-> Podobně musíme v úlu vytvořit tabulku podrobností o podrobnostech.

  • Nyní můžeme napsat dotaz SQL do podregistru, jak je uvedeno níže.

select * from student_hbase;

Tímto způsobem můžeme integrovat Hive s HBase.

Závěr - Úl vs HBase

Jak již bylo řečeno, oba jsou různé technologie, které poskytují různé funkce, kde Hive pracuje s použitím jazyka SQL, a lze jej také nazvat, protože HQL a HBase používají páry klíč-hodnota k analýze dat. Hive a HBase fungují lépe, pokud jsou kombinovány, protože Hive mají nízkou latenci a mohou zpracovat obrovské množství dat, ale nemohou udržovat aktuální data a HBase nepodporuje analýzu dat, ale podporuje aktualizace na úrovni řádků ve velkém množství dat.

Doporučený článek

Toto byl průvodce Hive vs. HBase, jejich význam, srovnání hlava-hlava, hlavní rozdíly, srovnávací tabulka a závěr. Další informace naleznete také v následujících článcích -

  1. Apache Pig vs Apache Hive - Top 12 užitečných rozdílů
  2. Zjistěte 7 nejlepších rozdílů mezi Hadoopem a HBase
  3. Top 12 Porovnání Apache Hive vs Apache HBase (Infographics)
  4. Hadoop vs Hive - Zjistěte nejlepší rozdíly

Kategorie: