Rozdíl mezi Apache Hive a Apache HBase -

Příběh Apache Hive začíná v roce 2007, kdy jiný než Java Programátor musí bojovat při používání Hadoop MapReduce. Vědci a vývojáři předpovídali, že zítra je éra Big Data. Shromažďovaly se již různé formáty dat, jako strukturovaná, polostrukturovaná a nestrukturovaná. I Facebook zápasil s větším objemem zpracování dat. Vědci na Facebooku představili Apache Hive pro zpracování dat v Hadoop Cluster. Facebook byl první společností, která přišla s Apache Hive.

Příběh Apache HBase začíná v roce 2006, kdy se Powerset se spuštěním v San Franciscu snažil vytvořit webový vyhledávací stroj v přirozeném jazyce. HBase je implementace Bigtable společnosti Google. Uvědomili jsme si někdy, proč je třeba přijít s další architekturou úložiště? Systém správy relačních databází existuje již od počátku sedmdesátých let. Existuje mnoho případů použití, pro které relační databáze dokonale dávají smysl, ale u některých specifických problémů se relační model nehodí velmi dobře.

Dovolte mi podrobněji vysvětlit Apache Hive a Apache HBase.

Rozdíly mezi Apache Hive a Apache HBase

Apache Hive je open-source projekt Apache postavený na Hadoopu pro dotazování, sumarizaci a analýzu velkých datových sad pomocí rozhraní typu SQL. Apache Hive poskytuje jazyk podobný SQL s názvem HiveQL, který transparentně převádí dotazy na MapReduce pro provádění na velkých souborech dat uložených v distribuovaném systému souborů Hadoop (HDFS). Apache Hive je komponenta klastru Hadoop, kterou běžně používají analytici dat. Úl Apache se používá pro dávkové zpracování velkých úloh ETL. Apache Hive také podporuje dávkové dotazy SQL na velmi rozsáhlých datových sadách. Apache Hive zvyšuje flexibilitu návrhu schématu a také serializaci a deserializaci dat. Apache Hive nepodporuje online zpracování transakcí (OLTP), protože podregistr nepodporuje dotazy v reálném čase a na úrovni řádků.

Apache HBase je otevřená databáze NoSQL, která poskytuje přístup k velkým datovým souborům v reálném čase, ke čtení a zápisu. NoSQL je nerelační databáze. Apache HBase je distribuovaná databáze orientovaná na sloupce, která běží na Hadoop Distributed File System (HDFS). HBase přináší společnosti Hadoop výhody NoSQL. Apache HBase poskytuje možnosti náhodného přístupu k datům přítomným v HDFS. Využívá toleranci chyb poskytované HDFS. Uživatel může ukládat data v HDFS buď přímo, nebo prostřednictvím HBase.

Srovnání hlava-hlava mezi Apache Hive vs Apache HBase (Infographics)

Níže je 12 nejlepších rozdílů mezi Apache Hive a Apache HBase

Klíčové rozdíly - Apache Hive vs. Apache HBase

Níže jsou uvedeny seznamy bodů, popište klíčové rozdíly mezi Apache Hive a Apache HBase:

  • Apache HBase je databáze, zatímco Apache Hive je databázový stroj.
  • Apache Hive se používá hlavně pro dávkové zpracování (OLAP), zatímco Apache HBase se používá hlavně pro transakční zpracování (OLTP).
  • Apache Hive provádí většinu dotazů SQL, zatímco Apache HBase neumožňuje dotazy SQL přímo.
  • Apache Hive nepodporuje operace na úrovni záznamu, jako je aktualizace, vkládání a mazání, zatímco Apache HBase podporuje operace na úrovni záznamu, jako je aktualizace, vkládání a mazání.
  • Apache Hive běží na MapReduce, zatímco Apache HBase běží na Hadoop Distributed File System (HDFS).

Apache Hive zadává dotazy na soubory definováním virtuální tabulky a spuštěním dotazů HQL. Je to proces, ve kterém jsou soubory virtuálně připojeny k tabulce jako struktura a uživatel může provádět jazyk Hive Query Language (HQL) a tyto dotazy jsou převedeny na MapReduce Job by Hive. Uživatel nemusí psát úlohu MapReduce, dotazy HQL jsou interně převedeny na soubory jar a tyto soubory jar budou implementovány do datových sad.

V Apache HBase jsou tabulky rozděleny do regionů a jsou obsluhovány servery regionů. Další oblasti jsou vertikálně rozděleny podle sloupců do obchodů a obchody jsou ukládány jako soubory v HDFS.

Kdy použít Apache Hive:

  • Požadavky na skladování dat
  • Analytické dotazy
  • Analýza dat, kteří jsou obeznámeni s SQL

Kdy použít Apache HBase:

  • Rychlé a interaktivní zpracování dat
  • Dotazy v reálném čase
  • Rychlé vyhledávání
  • Zpracování na straně serveru
  • Náhodný přístup ke čtení a zápisu k velkým datům
  • Škálovatelnost aplikace

Apache Hive lze použít k výpočtu trendů a protokolů webových stránek elektronického obchodu pro konkrétní dobu trvání, region nebo časové pásmo. Může být použit pro zpracování dávkového dotazu na historická data, zatímco Apache HBase může být používán Facebookem nebo LinkedIn pro zasílání zpráv a analýzu v reálném čase. Může být také použit pro počítání lajků.

Srovnávací tabulka Apache Hive vs. Apache HBase

Diskutuji o hlavních artefaktech a rozlišuji mezi Apache Hive a Apache HBase.

Úl ApacheApache HBase
Zpracování datApache Hive se používá

dávkové zpracování, tj. online analytické zpracování (OLAP)

Apache HBase se používá pro transakční zpracování, tj. Online transakční zpracování (OLTP)
Rychlost zpracováníApache Hive má vyšší latenci kvůli provádění úlohy MapReduce na pozadíApache HBase pracuje na dotazování v reálném čase a je mnohem rychlejší než Apache Hive
Kompatibilita s HadoopApache Hive běží na MapReduceApache HBase běží na vrcholu HDFS
DefiniceApache Hive je open source a podobný SQL používanému pro analytické dotazyApache HBase je open source databáze NoSQL používaná pro dotazování v reálném čase
Sdílená metadataData vytvořená v Apache Hive jsou pro Apache HBase automaticky viditelnáData vytvořená v Apache HBase jsou automaticky viditelná pro Apache Hive
SchémaÚl Apache podporuje schéma pro vkládání dat do tabulekApache HBase je databáze bez schématu.
Aktualizujte funkciFunkce aktualizace je v Apache Hive komplikovanáUživatel může velmi snadno aktualizovat data v Apache HBase
OperaceOperace v Apache Hive neběží v reálném časeOperace v Apache HBase probíhají v reálném čase
Typy datApache Hive je určen pro strukturovaná a polostrukturovaná dataApache HBase je pro nestrukturovaná data.
Úroveň konzistenceÚl Apache podporuje eventuální konzistenciApache HBase podporuje okamžitou konzistenci
Metody rozděleníApache Hive podporuje funkce ShardingApache HBase také podporuje funkce Sharding
Datové úložištěDatum je uloženo v Hive Metastore, Partitions and Buckets v Apache HiveData jsou uložena ve sloupcích a řádcích tabulek v Apache HBase

Závěr - Apache Hive vs. Apache HBase

Běžně se Apache Hive vs. Apache HBase používají společně ve stejném klastru. Oba mohou být použity společně pro zvýšení výkonu zpracování. Protože úl zlepšuje analytické stránky HDFS, zatímco HBase zlepšuje transakce v reálném čase. Uživatel může použít Hive jako nástroj ETL pro dávkové vkládání s daty do HBase a pak k provádění dotazů, které mohou dále spojovat data přítomná v tabulkách HBase s daty, která již jsou na HDFS. Data lze číst a zapisovat z Apache Hive do HBase a zpět. Rozhraní mezi Apache Hive a Apache HBase je stále zrání. Je toho ještě mnohem víc. Přesto mohu říci, že Apache Hive vs. Apache HBase dělá cluster Hadoop robustnějším a výkonnějším.

Související články:

Toto byl průvodce Apache Hive vs. Apache 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 -

  • Top 5 velkých datových trendů
  • 5 Výzvy analýzy velkých dat
  • Jak rozbít rozhovor s vývojářem Hadoop?
  • 5 Výzvy analýzy velkých dat

Kategorie: