logo

Architettura dell'alveare

L'architettura seguente spiega il flusso di invio della query in Hive.

Architettura dell'alveare

Cliente Alveare

Hive consente di scrivere applicazioni in vari linguaggi, tra cui Java, Python e C++. Supporta diversi tipi di client come: -

  • Thrift Server: è una piattaforma di fornitore di servizi multilingue che soddisfa la richiesta di tutti quei linguaggi di programmazione che supportano Thrift.
  • Driver JDBC: viene utilizzato per stabilire una connessione tra hive e le applicazioni Java. Il driver JDBC è presente nella classe org.apache.hadoop.hive.jdbc.HiveDriver.
  • Driver ODBC: consente alle applicazioni che supportano il protocollo ODBC di connettersi a Hive.

Servizi dell'alveare

Di seguito sono riportati i servizi forniti da Hive: -

  • Hive CLI - La Hive CLI (Command Line Interface) è una shell in cui possiamo eseguire query e comandi Hive.
  • Interfaccia utente Web Hive: l'interfaccia utente Web Hive è solo un'alternativa alla CLI Hive. Fornisce una GUI basata sul Web per l'esecuzione di query e comandi Hive.
  • Hive MetaStore - È un repository centrale che memorizza tutte le informazioni sulla struttura di varie tabelle e partizioni nel magazzino. Include anche i metadati della colonna e le informazioni sul tipo, i serializzatori e i deserializzatori utilizzati per leggere e scrivere i dati e i file HDFS corrispondenti in cui sono archiviati i dati.
  • Hive Server: viene chiamato Apache Thrift Server. Accetta la richiesta da diversi client e la fornisce a Hive Driver.
  • Hive Driver: riceve query da diverse fonti come interfaccia utente Web, CLI, Thrift e driver JDBC/ODBC. Trasferisce le query al compilatore.
  • Compilatore Hive: lo scopo del compilatore è analizzare la query ed eseguire analisi semantiche sui diversi blocchi ed espressioni di query. Converte le istruzioni HiveQL in lavori MapReduce.
  • Motore di esecuzione Hive: l'ottimizzatore genera il piano logico sotto forma di DAG di attività di riduzione della mappa e attività HDFS. Alla fine, il motore di esecuzione esegue le attività in arrivo nell'ordine delle loro dipendenze.