logo

Arhitektura košnice

Sljedeća arhitektura objašnjava tijek podnošenja upita u Hive.

Arhitektura košnice

Hive klijent

Hive omogućuje pisanje aplikacija na raznim jezicima, uključujući Javu, Python i C++. Podržava različite vrste klijenata kao što su:-

  • Thrift Server - To je višejezična platforma pružatelja usluga koja poslužuje zahtjeve svih onih programskih jezika koji podržavaju Thrift.
  • JDBC Driver - Koristi se za uspostavljanje veze između košnice i Java aplikacija. JDBC upravljački program prisutan je u klasi org.apache.hadoop.hive.jdbc.HiveDriver.
  • ODBC upravljački program - omogućuje aplikacijama koje podržavaju ODBC protokol da se povežu na Hive.

Usluge košnice

Sljedeće su usluge koje pruža Hive:-

  • Hive CLI - Hive CLI (Command Line Interface) je ljuska u kojoj možemo izvršavati Hive upite i naredbe.
  • Hive Web korisničko sučelje - Hive Web UI je samo alternativa Hive CLI. Omogućuje web-bazirano GUI za izvršavanje Hive upita i naredbi.
  • Hive MetaStore - To je središnji repozitorij koji pohranjuje sve informacije o strukturi različitih tablica i particija u skladištu. Također uključuje metapodatke stupca i njegovu vrstu informacija, serijalizatore i deserializatore koji se koriste za čitanje i pisanje podataka i odgovarajuće HDFS datoteke u kojima su podaci pohranjeni.
  • Hive Server - naziva se Apache Thrift Server. Prihvaća zahtjeve različitih klijenata i dostavlja ih Hive Driveru.
  • Hive Driver - prima upite iz različitih izvora kao što su web sučelje, CLI, Thrift i JDBC/ODBC upravljački program. Prenosi upite kompajleru.
  • Hive Compiler - Svrha prevoditelja je raščlaniti upit i izvršiti semantičku analizu na različitim blokovima i izrazima upita. Pretvara HiveQL izjave u MapReduce poslove.
  • Hive Execution Engine - Optimizer generira logički plan u obliku DAG-a zadataka smanjenja karte i HDFS zadataka. Na kraju, pogon za izvršavanje izvršava dolazne zadatke prema redoslijedu njihovih ovisnosti.