Tutorial final do Apache Hive para iniciantes: aprenda o Hive do zero
Publicados: 2020-03-20O Apache hive é um sistema de armazenamento de dados de código aberto construído sobre o Hadoop. Ele é usado para consultar e analisar grandes conjuntos de dados armazenados em arquivos Hadoop. Este tutorial do Apache Hive ajudará você a entender seus fundamentos, características e uso.
Na era digital, cerca de 2,5 quintilhões de bytes de dados são gerados todos os dias. Precisamos de tecnologias inovadoras para conter essa explosão de dados. E o Hive é uma dessas ferramentas que processa dados estruturados e semiestruturados no ecossistema Hadoop líder do setor. À medida que mais e mais empregadores procuram alavancar os recursos de big data, eles procuram pessoas bem versadas nas ferramentas do Hadoop. Portanto, um tutorial do Hadoop Hive é um componente essencial de qualquer curso de big data para iniciantes.
Índice
O que é Hive? Explique em termos simples.
O Apache Hive permite que os desenvolvedores resumam dados, executem consultas e analisem grandes conjuntos de dados. Construído sobre o Hadoop Distributed File System (HDFS), ele traz mais estrutura aos dados organizando-os em tabelas. Além disso, o Hive usa sua linguagem HiveQL ou HQL para realizar consultas semelhantes a SQL nos dados.
Enquanto o SQL é executado em bancos de dados tradicionais, o HQL pode traduzir automaticamente as consultas em trabalhos MapReduce. O Hive abstrai a complexidade do Hadoop convertendo consultas SQL em uma série de tarefas a serem executadas no cluster Hadoop. Portanto, para dominar o Apache Hive, você precisa de uma familiaridade básica com o SQL. Mas não há necessidade de aprender Java.
Continuando em nosso tutorial do Apache Hive , vamos discutir seus usos nos ambientes de trabalho modernos.
Por que você precisa usar o Hive?
Os sistemas de banco de dados tradicionais não estão equipados para lidar com a grande quantidade de dados gerados por aplicativos de big data hoje. E o Hadoop é um framework que resolve esse problema. Várias ferramentas auxiliam os módulos do Hadoop, sendo o Hive um deles. Com o Apache Hive, você pode realizar as seguintes tarefas:

- As tabelas podem ser divididas em porções e em buckets, tornando viável o processamento de dados armazenados no Hadoop Distributed File System (HDFS). As tabelas são definidas diretamente no HDFS
- Drivers JDBC/ODBC estão disponíveis para integração com tecnologias tradicionais
- Fornece flexibilidade e evolução de esquema juntamente com sumarização de dados, facilitando análises mais fáceis
- Evita que você escreva tarefas complexas do Hadoop MapReduce
- O conceito de partição e bucket permite a recuperação rápida de dados
- Muito fácil de aprender e implementar para desenvolvedores SQL
- Sistema rápido e escalável
- O Hive suporta diferentes tipos de arquivos, como arquivo de texto, arquivo de sequência, arquivo RC, arquivo ORF, arquivo Parquet e arquivo AVRO
Quais são os principais componentes da arquitetura Hive?
1. Interface do usuário: Permite enviar uma consulta, processar as instruções e gerenciá-las. A interface de linha de comando (CLI) e a interface do usuário da Web permitem que usuários externos se conectem ao Hive.
2. Metastore: Como o nome sugere, o metastore contém os metadados do banco de dados. Ele contém informações sobre o esquema e a localização das tabelas. Ele também armazena os metadados da partição. Presente no banco de dados relacional tradicional, permite monitorar os dados distribuídos no cluster. Ele rastreia os dados, os replica e fornece backup.
3. Driver: É a parte do mecanismo de processo que recebe as instruções HiveQL. O driver cria sessões para executar a instrução e monitora seu ciclo de vida. Ele também armazena os metadados gerados durante a execução da instrução.

4. Compilador: Esta parte do mecanismo de processo HiveQL converte a consulta em entradas MapReduce, como Abstract Syntax Tree (AST) e Directed Acyclic Graph (DAG)
5. Otimizador: Este componente da arquitetura Hive realiza transformações no plano de execução para fornecer um DAG otimizado. Ele divide as tarefas para um melhor desempenho.
6. Executor: Agenda ou canaliza as tarefas para completar o processo de execução. Para isso, ele interage com o rastreador de tarefas do Hadoop.
Leia: Tutorial Hadoop para Iniciantes
Este tutorial do Apache Hive não pode ser concluído sem discutir como esses componentes do Hive interagem entre si para realizar consultas. Por isso, listamos os passos abaixo.
Etapa 1: o usuário insere uma consulta na CLI ou na interface do usuário da Web, que encaminha a consulta para o driver.
Etapa 2: o driver passa a consulta ao compilador para verificação. O compilador garante a precisão da sintaxe.
Etapa 3: o compilador solicita ao Metastore os metadados necessários para prosseguir.
Passo 4: Após receber os metadados, o compilador reenvia o plano de execução para o driver.
Etapa 5: O driver encaminha esse plano para o mecanismo de execução.
Etapa 6: O mecanismo de execução realiza as etapas finais. Ele envia a tarefa para o JobTracker (nó Name) dentro do módulo MapReduce do Hadoop.
Etapa 7: O JobTracker ainda atribui a tarefa ao TaskTracker (nó de dados).
Passo 8: A consulta é executada e enviada de volta ao executor.
Passo 9: O executor envia os resultados para o driver.
Etapa 10: O driver encaminha os resultados para a interface do usuário do Hive.

Leia: Salário do desenvolvedor do Hadoop na Índia
O que você sabe sobre o Hive Shell?
O Hive Shell permite que os usuários executem consultas HQL. É a interface de linha de comando do Hive. Você pode executar o Hive Shell em dois modos:
- Não interativo: especifique o local do arquivo que contém as consultas HQL com a opção -f. Por exemplo, hive -f my-script.q
- Interativo: Vá diretamente ao Hive Shell e envie consultas manualmente para obter o resultado. Por exemplo, $bin/hive, vá para o shell do hive
Liste algumas limitações do Hive
- Oferece suporte limitado a subconsultas
- As consultas do Hive têm alta latência
- Visualizações materializadas não são permitidas no Apache Hive
- Ele não fornece consultas em tempo real, atualizações em nível de linha, operações de atualização e exclusão
- Apache Hive não é adequado para processo de transição online ou OLTP
Resumindo
Neste tutorial do Hadoop Hive , abordamos diferentes aspectos do Hive, seu uso e arquitetura. Também investigamos seu funcionamento e discutimos suas limitações. Todas essas informações ajudarão você a iniciar sua jornada de aprendizado do Hive. Afinal, é uma das estruturas de big data mais usadas e confiáveis!
Se você estiver interessado em saber mais sobre Big Data, confira nosso programa PG Diploma in Software Development Specialization in Big Data, projetado para profissionais que trabalham e fornece mais de 7 estudos de caso e projetos, abrange 14 linguagens e ferramentas de programação, práticas práticas workshops, mais de 400 horas de aprendizado rigoroso e assistência para colocação de emprego com as principais empresas.
Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.