Vídeo: Aula 1 - Big data e Hadoop - Módulo I 2024
Ao examinar os elementos do Apache Hive, você pode ver na parte inferior que o Hive está no topo do sistema de arquivos distribuídos Hadoop (HDFS) e MapReduce.
No caso do MapReduce, as informações mostram os componentes Hadoop 1 e Hadoop 2. Com o Hadoop 1, as consultas de rodízio são convertidas para o código MapReduce e executadas usando a infraestrutura MapReduce v1 (MRv1), como JobTracker e TaskTracker.
Com o Hadoop 2, o YARN desacoplou o gerenciamento e agendamento de recursos do framework MapReduce. As consultas de rodízio ainda podem ser convertidas no código MapReduce e executadas, agora com MapReduce v2 (MRv2) e a infra-estrutura YARN.
Existe uma nova estrutura em desenvolvimento chamada Apache Tez, que é projetada para melhorar o desempenho da Hive para consultas em batch e suportar consultas interativas menores (também conhecidas como em tempo real ). No momento da redação, o projeto Apache Tez ainda está em incubação e ainda não possui uma versão pronta para produção.
Se isso ajuda você a visualizar como todas as peças se encaixam, pense nos sistemas HDFS e MapReduce como partes do sistema operacional Apache Hadoop, com o Hive - assim como outros componentes, como o HBase - como funções ou aplicações de nível superior. (Você pode ver um tema comum emergir: HDFS fornece o armazenamento e MapReduce fornece o recurso de processamento paralelo para funções de nível superior dentro do ecossistema Hadoop.)
Movendo o diagrama, você encontra o Hive Driver, que compila, otimiza e executa o HiveQL. O Hive Driver pode escolher executar declarações e comandos HiveQL localmente ou gerar um trabalho MapReduce, dependendo da tarefa em questão. O Hive Driver armazena metadados da tabela na metáfora e seu banco de dados.
Você provavelmente tem alguma familiaridade com SQL e o modelo de banco de dados relacional do mundo dos RDBMSs. A tabela ou relação é composta por colunas verticais e linhas horizontais. Células são armazenadas onde as linhas e as colunas se cruzam. Se você não está familiarizado com o SQL e o modelo de banco de dados relacional, você pode encontrar fontes de aprendizagem úteis usando seu mecanismo de pesquisa favorito.
Por padrão, a Hive inclui o RDBMS do Apache Derby configurado com a metáfora no chamado modo incorporado. Modo incorporado significa que o Hive Driver, o Metastore e o Apache Derby estão todos executados em uma Java Virtual Machine (JVM).
Esta configuração está bem para fins de aprendizagem, mas o modo incorporado pode suportar apenas uma única sessão de Argumento, portanto, normalmente não é usado em ambientes de produção multi-usuários.Existem outros dois modos - local e remoto - que podem suportar melhor as múltiplas sessões de invasão em ambientes de produção. Além disso, você pode configurar qualquer RDBMS que seja compatível com o conjunto de interface de programação de aplicativos (API) Java Database Connectivity (JDBC). (Os exemplos aqui incluem MySQL e DB2.)
A chave para o suporte à aplicação é o Hive Thrift Server, que permite que um rico conjunto de clientes acessem o subsistema de invasão. O cliente de código aberto SQuirreL SQL está incluído como um exemplo. O ponto principal é que qualquer aplicativo compatível com JDBC pode acessar o Hive através do driver JDBC incluído.
A mesma afirmação aplica-se aos clientes compatíveis com Open Database Connectivity (ODBC) - por exemplo, unixODBC e o utilitário isql, que normalmente são fornecidos com o Linux, permitem o acesso a Hive a partir de clientes Linux remotos.
Além disso, se você usar o Microsoft Excel, ficará satisfeito em saber que você pode acessar o Hive depois de instalar o driver ODBC da Microsoft em seu sistema cliente. Finalmente, se você precisa acessar a Hive de linguagens de programação diferentes de Java (PHP ou Python, por exemplo), o Apache Thrift é a resposta. Os clientes Apache Thrift se conectam à Hive através do Hive Thrift Server, assim como fazem os clientes JDBC e ODBC.
Para continuar com o desenho da arquitetura Hive, observe que o Hive inclui uma interface de linha de comando (CLI), onde você pode usar uma janela de terminal Linux para emitir consultas e comandos administrativos diretamente ao Hive Driver. Se uma abordagem gráfica é mais sua velocidade, também há uma interface web acessível para que você possa acessar suas tabelas e dados gerenciados por Hive através do seu navegador favorito.
Existe outra tecnologia de navegador web conhecida como Hue que fornece uma interface gráfica de usuário (GUI) para o Apache Hive. Alguns usuários do Hadoop gostam de ter uma GUI à sua disposição em vez de apenas uma interface de linha de comando (CLI). Junto com a Hive, a Hue suporta outras tecnologias importantes da Hadoop, como HDFS, MapReduce / YARN, HBase, Zookeeper, Oozie, Pig e Sqoop. Você vai gostar do nome da GUI do Hache Apache Hive - é chamado de Cera de abelha.