logo

Architektura ula

Poniższa architektura wyjaśnia przepływ przesyłania zapytania do Hive.

Architektura ula

Klient Hive

Hive umożliwia pisanie aplikacji w różnych językach, w tym Java, Python i C++. Obsługuje różne typy klientów, takie jak: -

  • Thrift Server — jest to wielojęzyczna platforma dostawców usług obsługująca żądania ze wszystkich języków programowania obsługujących Thrift.
  • Sterownik JDBC - służy do nawiązania połączenia pomiędzy aplikacjami Hive i Java. Sterownik JDBC występuje w klasie org.apache.hadoop.hive.jdbc.HiveDriver.
  • Sterownik ODBC - umożliwia aplikacjom obsługującym protokół ODBC łączenie się z Hive.

Usługi ula

Poniżej znajdują się usługi świadczone przez Hive: -

  • Hive CLI — Hive CLI (interfejs wiersza poleceń) to powłoka, w której możemy wykonywać zapytania i polecenia Hive.
  • Sieciowy interfejs użytkownika Hive — internetowy interfejs użytkownika Hive jest po prostu alternatywą dla interfejsu wiersza polecenia Hive. Zapewnia internetowy interfejs GUI do wykonywania zapytań i poleceń Hive.
  • Hive MetaStore - Jest to centralne repozytorium przechowujące wszystkie informacje o strukturze różnych tabel i partycji w magazynie. Zawiera także metadane kolumny i informacje o jej typie, serializatory i deserializatory używane do odczytu i zapisu danych oraz odpowiednie pliki HDFS, w których przechowywane są dane.
  • Serwer Hive — nazywany jest serwerem Apache Thrift. Akceptuje żądania od różnych klientów i udostępnia je sterownikowi Hive.
  • Sterownik Hive — odbiera zapytania z różnych źródeł, takich jak interfejs WWW, CLI, Thrift i sterownik JDBC/ODBC. Przesyła zapytania do kompilatora.
  • Kompilator Hive — celem kompilatora jest analizowanie zapytania i przeprowadzanie analizy semantycznej różnych bloków zapytań i wyrażeń. Konwertuje instrukcje HiveQL na zadania MapReduce.
  • Hive Execution Engine — Optimizer generuje plan logiczny w formie DAG zadań zmniejszania mapy i zadań HDFS. Na koniec silnik wykonawczy wykonuje przychodzące zadania w kolejności ich zależności.