logo

Úľová architektúra

Nasledujúca architektúra vysvetľuje tok odoslania dotazu do Hive.

Úľová architektúra

Klient Hive

Hive umožňuje písanie aplikácií v rôznych jazykoch vrátane Java, Python a C++. Podporuje rôzne typy klientov, ako napríklad: -

  • Thrift Server – Ide o platformu poskytovateľa služieb pre viacero jazykov, ktorá slúži na požiadavky všetkých programovacích jazykov, ktoré podporujú Thrift.
  • JDBC Driver – Používa sa na vytvorenie spojenia medzi úľom a Java aplikáciami. Ovládač JDBC je prítomný v triede org.apache.hadoop.hive.jdbc.HiveDriver.
  • ODBC Driver – Umožňuje aplikáciám, ktoré podporujú protokol ODBC, pripojiť sa k Hive.

Úľové služby

Nasledujúce služby poskytuje Hive: -

  • Hive CLI – Hive CLI (Command Line Interface) je shell, v ktorom môžeme vykonávať Hive dotazy a príkazy.
  • Webové používateľské rozhranie Hive – Webové používateľské rozhranie Hive je len alternatívou Hive CLI. Poskytuje webové GUI na vykonávanie dotazov a príkazov Hive.
  • Hive MetaStore - Je to centrálne úložisko, ktoré ukladá všetky informácie o štruktúre rôznych tabuliek a oddielov v sklade. Zahŕňa tiež metadáta stĺpca a informácie o jeho type, serializátory a deserializátory, ktoré sa používajú na čítanie a zapisovanie údajov, a príslušné súbory HDFS, v ktorých sú údaje uložené.
  • Hive Server – Označuje sa ako Apache Thrift Server. Prijíma požiadavku od rôznych klientov a poskytuje ju Hive Driver.
  • Hive Driver – Prijíma dotazy z rôznych zdrojov, ako je webové používateľské rozhranie, CLI, Thrift a ovládač JDBC/ODBC. Prenesie dotazy do kompilátora.
  • Hive Compiler – Účelom kompilátora je analyzovať dotaz a vykonávať sémantickú analýzu rôznych blokov dotazov a výrazov. Konvertuje príkazy HiveQL na úlohy MapReduce.
  • Hive Execution Engine - Optimizer generuje logický plán vo forme DAG úloh na redukciu mapy a úloh HDFS. Nakoniec vykonávací mechanizmus vykoná prichádzajúce úlohy v poradí ich závislostí.