logo

Hive arkitektur

Følgende arkitektur forklarer flyten av innsending av spørringer til Hive.

Hive arkitektur

Hive-klient

Hive lar deg skrive applikasjoner på forskjellige språk, inkludert Java, Python og C++. Den støtter forskjellige typer klienter som: -

  • Thrift Server - Det er en tverrspråklig tjenesteleverandørplattform som betjener forespørselen fra alle de programmeringsspråkene som støtter Thrift.
  • JDBC-driver - Den brukes til å etablere en forbindelse mellom hive og Java-applikasjoner. JDBC-driveren er til stede i klassen org.apache.hadoop.hive.jdbc.HiveDriver.
  • ODBC-driver - Den lar applikasjonene som støtter ODBC-protokollen koble seg til Hive.

Hive-tjenester

Følgende er tjenestene som tilbys av Hive:-

  • Hive CLI - Hive CLI (Command Line Interface) er et skall hvor vi kan utføre Hive-spørringer og -kommandoer.
  • Hive Web User Interface - Hive Web UI er bare et alternativ til Hive CLI. Det gir et nettbasert GUI for å utføre Hive-spørringer og -kommandoer.
  • Hive MetaStore - Det er et sentralt depot som lagrer all strukturinformasjonen til ulike tabeller og partisjoner på lageret. Den inkluderer også metadata for kolonnen og dens typeinformasjon, serializers og deserializers som brukes til å lese og skrive data og de tilsvarende HDFS-filene der dataene er lagret.
  • Hive Server - Det blir referert til som Apache Thrift Server. Den godtar forespørselen fra forskjellige klienter og gir den til Hive Driver.
  • Hive Driver - Den mottar forespørsler fra forskjellige kilder som web-UI, CLI, Thrift og JDBC/ODBC-driver. Den overfører spørringene til kompilatoren.
  • Hive Compiler - Formålet med kompilatoren er å analysere spørringen og utføre semantisk analyse på de forskjellige spørringsblokkene og uttrykkene. Den konverterer HiveQL-utsagn til MapReduce-jobber.
  • Hive Execution Engine - Optimizer genererer den logiske planen i form av DAG av kartreduserende oppgaver og HDFS-oppgaver. Til slutt utfører utførelsesmotoren de innkommende oppgavene i rekkefølgen etter deres avhengigheter.