O que é uma colméia?

O Apache Hive é um sistema de armazém de dados projetado sobre a plataforma Hadoop de código aberto e é usado para resumo de dados, consulta de grandes dados, análise de dados etc.

A seção foi desenvolvida pelo Facebook e, posteriormente, foi adquirida pela Apache Software Foundation, que a desenvolveu como uma fonte aberta sob o nome Apache Hive.

Definição:

Não é um banco de dados relacional e é por isso que não é adequado para processamento de transações online e consultas em tempo real com atualizações no nível da linha. O Hive foi projetado para processamento analítico online ou OLAP. Ele também fornece uma linguagem de consulta chamada HiveQL. É escalável, rápido e extensível. Ele converte as consultas que parecem quase SQL em tarefas do MapReduce para facilitar a execução e o processamento de uma grande quantidade de dados. O Apache Hive é um dos componentes do Hadoop que normalmente são usados ​​pelos analistas de dados, enquanto o Apache Pig também é usado para a mesma tarefa, mas é mais usado por pesquisadores e programadores. O Apache hive, sendo um sistema de data warehouse de código aberto, é usado para consultar e analisar grandes conjuntos de dados armazenados no armazenamento do Hadoop. O Hive é mais adequado para trabalhos em lotes e não para tipos de trabalho de processamento transacional online. Também não suporta consultas em tempo real. O Hive usa SQL como linguagem de consulta e é usado principalmente para criar relatórios. O Hive geralmente é implantado no lado do servidor e suporta dados estruturados. O Hive também suporta a integração com as ferramentas JDBC e BI.

Compreendendo o Hive:

Abaixo estão os principais componentes da colméia:

Meta Store:

O repositório que armazena os metadados é chamado de meta armazenamento da seção. Os metadados consistem nos diferentes dados sobre as tabelas, como localização, esquema e informações sobre as partições, o que ajuda a monitorar o progresso dos dados distribuídos de várias maneiras no cluster. Ele também controla os dados e replica os dados que fornecem um backup em caso de emergências como perda de dados. As informações de metadados estão presentes nos bancos de dados relacionais e não no sistema de arquivos Hadoop.

Motorista:

Na execução da instrução de linguagem de consulta Hive, o driver recebe a instrução e a controla durante todo o ciclo de execução. Juntamente com a execução da instrução, o driver também armazena os metadados gerados a partir da execução. Ele também cria sessões para monitorar o progresso e o ciclo de vida de diferentes execuções. Após a conclusão da operação de redução pelo trabalho MapReduce, o driver coleta todos os dados e resultados da consulta

Compilador:

É usado para traduzir o idioma de consulta do Hive na entrada MapReduce. Ele chama um método que executa as etapas e tarefas necessárias para ler a saída do HiveQL conforme necessário pelo MapReduce.

Otimizador:

A principal tarefa do otimizador é melhorar a eficiência e a escalabilidade, criando uma tarefa e transformando os dados antes da operação de redução. Ele também realiza transformações como agregação, conversão de pipeline por uma única associação para várias associações.

Executor:

Após a etapa de compilação e otimização, a principal tarefa do executor é executar as tarefas. A principal tarefa do executor é interagir com o rastreador de tarefas do Hadoop para agendar tarefas prontas para execução.

UI, servidor Thrift e CLI:

O servidor Thrift é usado por outros clientes para interagir com o mecanismo Hive. A interface do usuário e a interface da linha de comandos ajudam a enviar as consultas, bem como monitorar e instruções do processo, para que usuários externos possam interagir com a seção.

Abaixo estão as etapas que mostram a interação da seção com a estrutura do Hadoop:

Executando a consulta:

A consulta é enviada ao driver a partir de interfaces de seção, como linha de comando ou interface da web. Um driver pode ser qualquer driver de banco de dados como JDB ou ODBC etc.

Obtendo o plano:

A sintaxe para o requisito da consulta ou plano de consulta pode ser verificada com a ajuda de um compilador de consulta que passa pela consulta e é chamado pelo driver.

Obtendo os metadados:

O meta store pode estar em qualquer banco de dados e o compilador faz uma solicitação para acessar os metadados.

Enviando os metadados:

A pedido do compilador, o meta store envia os metadados.

Enviando o plano:

O compilador envia o plano ao driver na verificação dos requisitos enviados pelo compilador. Esta etapa conclui a análise e compilação de uma consulta.

Executando o plano:

O plano de execução é enviado ao mecanismo de execução pelo driver.

Executando o trabalho:

Uma tarefa em execução é uma tarefa MapReduce que é executada no back-end. Em seguida, segue a convenção normal da estrutura do Hadoop - o mecanismo de execução envia uma tarefa ao rastreador de tarefas que reside no nó de nome e o nó de nome, por sua vez, atribui a tarefa ao rastreador de tarefas que está na nota de dados. O trabalho MapReduce é executado aqui.

Operações de metadados:

Durante a execução do trabalho, o mecanismo de execução pode executar operações de metadados com o meta-armazenamento.

Buscando o resultado:

Os nós de dados após a conclusão do processamento transmitem o resultado ao mecanismo de execução.

Enviando o resultado

O driver recebe o resultado do mecanismo de execução.

Envio de resultado:

Finalmente, as interfaces do Hive recebem o resultado do driver.

Assim, pela execução das etapas acima, ocorre uma execução completa da consulta no Hive.

Como o Hive facilita o trabalho?

O Hive é um Framework de data warehousing construído sobre o Hadoop, que ajuda o usuário a realizar análises de dados, consultar dados e resumir dados em grandes volumes de conjuntos de dados. O HiveQL é um recurso exclusivo que se parece com os dados SQL armazenados no banco de dados e realiza a análise extensiva. Eu era capaz de ler dados em uma velocidade muito alta e gravar os dados nos data warehouses, além de gerenciar grandes conjuntos de dados distribuídos em vários locais. Junto com esta seção, também fornece estrutura aos dados armazenados no banco de dados e os usuários podem se conectar à seção usando a ferramenta de linha de comando ou o driver JDBC.

Principais empresas:

As principais organizações que trabalham com big data usavam colmeias - como facebook, Amazon, Walmart e muitas outras.

O que você pode fazer com o Hive?

Existem muitas funcionalidades da seção, como consulta de dados, resumo de dados e análise de dados. O Hive suporta uma linguagem de consulta chamada HiveQL ou Hive Query Language. As consultas no idioma da consulta do Hive são convertidas na tarefa MapReduce, que é processada no cluster do Hadoop. Além disso, o Hiveql também reduz o script que pode ser adicionado às consultas. Dessa maneira, o HiveQL aumenta a flexibilidade do design do esquema, que também suporta desserialização e serialização de dados.

Trabalhando com o Hive:

Abaixo estão alguns dos detalhes operacionais no Hive. Os tipos de dados Hive são amplamente classificados em quatro tipos, conforme indicado abaixo:

  • Tipos de coluna
  • Literais
  • Valores nulos
  • Tipos complexos

1. Tipos de colunas:

Esses são os tipos de dados da coluna da seção. Estes são classificados como abaixo:

  • Tipos integrais: dados inteiros são representados usando o tipo de dados integral. O símbolo é INT. Qualquer dado que exceda o limite superior do INT deve ser atribuído ao tipo de dados BIGINT. Da mesma forma, qualquer dado abaixo do limite inferior de INT precisa ser atribuído ao SMALLINT. Há outro tipo de dados chamado TINYINT que é ainda menor que o SMALLINT.
  • Tipos de sequência: o tipo de dados da sequência é representado na seção por aspas simples (') ou aspas duplas (“). Pode ser de dois tipos - VARCHAR ou CHAR.
  • Registro de data e hora: O registro de data e hora do Hive oferece suporte ao formato java.sql.Timestamp "aaaa-mm-dd hh: mm: ss.ffffffffff" e formato "AAAA-MM-DD HH: MM: SS.fffffffff".
  • Data: a data é representada na seção no formato AAAA-MM-DD, representando o ano-mês-dia.
  • Decimais : os decimais em uma seção são representados no formato decimal grande java e são usados ​​para representar precisão arbitrária imutável. É representado no formato decimal (precisão, escala).
  • Tipos de união: a união é usada na seção para criar uma coleção de um tipo de dados heterogêneo. Pode ser criado usando criar uma união.

Abaixo está um exemplo:

UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)
UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)

2. Literais:

Existem poucos literais usados ​​na seção. Eles são os seguintes:

  • Tipo de ponto flutuante : são representados como números com um ponto decimal. Estes são bastante semelhantes ao tipo de dados duplo.
  • Tipo decimal : este tipo de dados contém apenas dados do tipo decimal, mas com um intervalo maior de valor de ponto flutuante que o tipo de dados duplo. O intervalo do tipo decimal é aproximado de -10 -308 a 10 308.

3. Valor nulo:

O valor especial NULL representa valores ausentes na seção.

4. Tipos complexos:

Abaixo estão os diferentes tipos complexos encontrados na seção:

  • Matrizes : matrizes são representadas em uma seção da mesma forma que em java. A sintaxe é como ARRAY.
  • Mapas : os mapas são representados na seção da mesma forma que em java. A sintaxe é como MAP
  • .
  • Estruturas : as estruturas na seção são representadas como dados complexos com comentários. A sintaxe é como STRUCT.

Além de tudo isso, podemos criar bancos de dados, tabelas, particioná-los e muitas outras funções.

  • Bancos de dados: são os namespaces que contêm uma coleção de tabelas. Abaixo está a sintaxe para criar um banco de dados em uma seção.

CREATE DATABASE (IF NOT EXISTS) sampled;

Os bancos de dados também podem ser descartados se não forem mais necessários. Abaixo está a sintaxe para descartar um banco de dados.

DROP DATABASE (IF EXISTS) sampled;

  • Tabelas: elas também podem ser criadas na seção para armazenar dados. Abaixo está a sintaxe para criar uma tabela.

CREATE (TEMPORARY) (EXTERNAL) TABLE (IF NOT EXISTS) (db_name.) table_nam
((col_name data_type (COMMENT col_comment), …)) (COMMENT table_comment
(ROW FORMAT row_format) (STORED AS file_format)

Uma tabela também pode ser descartada se não for mais necessária. Abaixo está a sintaxe para soltar uma tabela.

DROP TABLE (IF EXISTS) table_name;

Vantagens

A principal vantagem do Apache Hive é para consulta, resumo e análise de dados. O Hive foi projetado para melhorar a produtividade do desenvolvedor e também vem com o custo de aumentar a latência e diminuir a eficiência. O Apache Hive fornece uma ampla gama de funções definidas pelo usuário que podem ser interligadas com outros pacotes do Hadoop, como RHipe, Apache Mahout, etc. Ajuda os desenvolvedores em grande parte ao trabalhar com processamento analítico complexo e vários formatos de dados. É usado principalmente para armazenamento de dados, o que significa um sistema usado para geração de relatórios e análise de dados.

Envolve limpeza, transformação e modelagem de dados para fornecer informações úteis sobre vários aspectos de negócios que ajudarão a produzir um benefício para uma organização. Análise de dados: muitos aspectos e abordagens diferentes, que abrangem diversas técnicas com vários nomes em diferentes modelos de negócios, domínios de ciências sociais, etc. O Hive é muito fácil de usar e permite que os usuários acessem os dados simultaneamente, aumentando o tempo de resposta. Comparado com o outro tipo de consultas em grandes conjuntos de dados, o tempo de resposta da seção é muito mais rápido que outros. Também é muito flexível em termos de desempenho ao adicionar mais dados e aumentar o número de nós no cluster.

Por que devemos usar o Hive?

Junto com a seção de análise de dados, oferece uma ampla variedade de opções para armazenar os dados no HDFS. O Hive suporta diferentes sistemas de arquivos, como um arquivo simples ou um arquivo de texto, um arquivo de sequência que consiste em pares de valores-chave binários e arquivos RC que armazenam a coluna de uma tabela em um banco de dados colunar. Atualmente, o arquivo mais adequado ao Hive é conhecido como arquivos ORC ou arquivos Colunares de Linhas Otimizadas.

Por que precisamos do Hive?

No mundo de hoje, o Hadoop está associado às tecnologias mais difundidas usadas no processamento de big data. A coleção muito rica de ferramentas e tecnologias usadas para análise de dados e outro processamento de big data.

Quem é o público certo para aprender as tecnologias Hive?

Principalmente as pessoas com experiência em desenvolvedores, análises do Hadoop, administradores de sistemas, data warehousing, SQL professional e administração do Hadoop podem dominar o ramo.

Como essa tecnologia o ajudará no crescimento da carreira?

Atualmente, o Hive é uma das habilidades mais populares do mercado e é uma das melhores ferramentas para análise de dados no mundo do Hadoop de big data. As grandes empresas que fazem análises em grandes conjuntos de dados estão sempre procurando pessoas com os direitos das habilidades, para que possam gerenciar e consultar grandes volumes de dados. O Hive é uma das melhores ferramentas disponíveis no mercado em tecnologias de big data nos últimos dias que podem ajudar uma organização em todo o mundo a analisar seus dados.

Conclusão:

Além das funções mencionadas acima, o hive possui recursos muito mais avançados. O poder do hive de processar um grande número de conjuntos de dados com grande precisão torna o hive uma das melhores ferramentas usadas para análise na plataforma de big data. Além disso, ele também tem um grande potencial para emergir como uma das principais ferramentas de análise de big data nos próximos dias devido a melhorias periódicas e facilidade de uso para o usuário final.

Artigos recomendados

Este foi um guia para o que é o Hive. Aqui discutimos o trabalho, as habilidades, o crescimento da carreira, as vantagens da Hive e das principais empresas que implementam essa tecnologia. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Comandos do Hive
  2. Hive Interview Questions
  3. O que é o Azure?
  4. O que é a tecnologia de Big Data?
  5. Arquitetura Hive | Definição
  6. Usando a função ORDER BY no Hive

Categoria: