logo

Arquitetura da colmeia

A arquitetura a seguir explica o fluxo de envio de consulta ao Hive.

Arquitetura da colmeia

Cliente Hive

O Hive permite escrever aplicativos em várias linguagens, incluindo Java, Python e C++. Suporta diferentes tipos de clientes, como: -

  • Thrift Server - É uma plataforma de provedor de serviços multilíngue que atende às solicitações de todas as linguagens de programação que suportam Thrift.
  • Driver JDBC - É usado para estabelecer uma conexão entre hive e aplicativos Java. O Driver JDBC está presente na classe org.apache.hadoop.hive.jdbc.HiveDriver.
  • Driver ODBC - Permite que aplicativos que suportam o protocolo ODBC se conectem ao Hive.

Serviços de colmeia

A seguir estão os serviços prestados pela Hive: -

  • Hive CLI - O Hive CLI (Command Line Interface) é um shell onde podemos executar consultas e comandos do Hive.
  • Hive Web User Interface - A Hive Web UI é apenas uma alternativa ao Hive CLI. Ele fornece uma GUI baseada na web para executar consultas e comandos do Hive.
  • Hive MetaStore - É um repositório central que armazena todas as informações de estrutura de diversas tabelas e partições do warehouse. Também inclui metadados de coluna e informações de seu tipo, os serializadores e desserializadores usados ​​para ler e gravar dados e os arquivos HDFS correspondentes onde os dados são armazenados.
  • Servidor Hive - É conhecido como Servidor Apache Thrift. Ele aceita a solicitação de diferentes clientes e a fornece ao Hive Driver.
  • Hive Driver - Ele recebe consultas de diferentes fontes, como UI da web, CLI, Thrift e driver JDBC/ODBC. Ele transfere as consultas para o compilador.
  • Compilador Hive - O objetivo do compilador é analisar a consulta e realizar análise semântica nos diferentes blocos e expressões de consulta. Ele converte instruções HiveQL em trabalhos MapReduce.
  • Hive Execution Engine - Optimizer gera o plano lógico na forma de DAG de tarefas de redução de mapa e tarefas HDFS. No final, o mecanismo de execução executa as tarefas recebidas na ordem de suas dependências.