A arquitetura do Apache Hive
Ao examinar os elementos de Apache Hive mostrado, você pode ver na parte inferior que Hive senta em cima do Hadoop Distributed sistemas MapReduce File System (HDFS) e.
No caso de MapReduce, os figureshows ambos os componentes 1 e Hadoop Hadoop 2. Com Hadoop 1, consultas Hive são convertidos em código MapReduce e executado usando a infra-estrutura MapReduce v1 (MRv1), como o JobTracker e TaskTracker.
Com Hadoop 2, fio tem dissociado gestão de recursos e agendamento do quadro MapReduce. consultas colmeia pode ainda ser convertido em código MapReduce e executado, agora com MapReduce V2 (MRv2) e a infra-estrutura de fio.
Há um novo quadro em desenvolvimento chamado Apache Tez, que é projetado para melhorar o desempenho Hive para consultas de estilo lote e apoiar menor interativa (também conhecido como tempo real) consultas. No momento da escrita, o projeto Apache Tez ainda está em incubação, e ainda não tem uma versão pronta para produção.
Se ele ajuda a visualizar como todas as peças se encaixam, pense nos sistemas HDFS e MapReduce como sendo partes do sistema operacional Apache Hadoop, com Hive - bem como outros componentes, como o HBase - como funções ou aplicativos de nível superior. (Você pode ver um tema comum emerge: HDFS fornece o armazenamento e MapReduce fornece a capacidade de processamento paralelo para funções de nível superior dentro do ecossistema Hadoop.)
Movendo-se o diagrama, você encontrar o driver Hive, que compila, otimiza e executa a HiveQL. O motorista Hive pode optar por executar instruções HiveQL e comandos localmente ou gerar um trabalho de MapReduce, dependendo da tarefa em questão. The Hive lojas piloto tabela de metadados na metastore e seu banco de dados.
Você provavelmente tem alguma familiaridade com SQL eo modelo de banco de dados relacional do mundo dos RDBMSs. UMA mesa ou relação é composta por colunas verticais e fileiras horizontais. células são armazenadas em que as linhas e colunas intersectam. Se você não estiver familiarizado com SQL eo modelo de banco de dados relacional, você pode encontrar fontes de aprendizagem votos usando o seu motor de busca favorito.
Por padrão, Hive inclui o Apache Derby RDBMS configurado com o metastore no que é chamado modo incorporado. modo incorporado significa que o motorista Hive, o metastore e Apache Derby estão em execução em uma máquina virtual Java (JVM).
Esta configuração é bom para fins de aprendizagem, mas modo incorporado pode suportar apenas uma única sessão Hive, por isso normalmente não é usado em ambientes de produção multi-usuário. Existem dois outros modos - local e controlo remoto - que pode melhor apoiar várias sessões colmeia em ambientes de produção. Além disso, você pode configurar qualquer RDBMS que é compatível com o Java Database Connectivity (JDBC) Application Programming Interface (API) suite. (Exemplos aqui incluem MySQL e DB2.)
A chave para suporte do aplicativo é o Hive Thrift Server, que permite um rico conjunto de clientes para acessar o subsistema Hive. O código-fonte aberto cliente SQuirreL SQL é incluído como um exemplo. O ponto principal é que qualquer aplicação compatível com JDBC pode acessar Hive através do driver JDBC empacotados.
A mesma afirmação se aplica a clientes compatíveis com Open Database Connectivity (ODBC) - por exemplo, unixODBC eo utilitário isql, que normalmente são empacotados com Linux, permitir o acesso a Hive de clientes Linux remotos.
Além disso, se você usar o Microsoft Excel, você ficará contente em saber que você pode acessar Hive depois de instalar o driver ODBC Microsoft no sistema do cliente. Finalmente, se você precisar acessar Hive de outros que Java linguagens de programação (PHP ou Python, por exemplo), Apache Thrift é a resposta. clientes Apache Thrift conectar a colmeia através da Hive Thrift Server, assim como os clientes JDBC e ODBC fazer.
Para continuar com o desenho de arquitetura Hive, note que Hive inclui uma Command Line Interface (CLI), onde você pode usar uma janela de terminal Linux para emitir consultas e comandos administrativos diretamente ao motorista Hive. Se uma abordagem gráfica é mais sua velocidade, há também uma interface web acessível para que você possa acessar suas tabelas e dados Hive geridas através de seu navegador favorito.
Há uma outra tecnologia de navegador web conhecido como Matiz que fornece uma interface gráfica do usuário (GUI) para Apache Hive. Alguns usuários do Hadoop gostaria de ter um GUI à sua disposição em vez de apenas uma interface de linha de comando (CLI). Junto com Hive, Hue suporta outras tecnologias-chave do Hadoop, bem como HDFS, MapReduce / FIO, HBase, Zookeeper, Oozie, Porco, e Sqoop. Você vai gostar do nome para Apache Hive GUI de Hue - é chamado de cera de abelha.