Diferença entre Hive e Impala
Hive é um projeto de software de data warehouse construído sobre o APACHE HADOOP, desenvolvido pela equipe de Jeff no Facebook, com uma versão estável atual do 2.3.0 lançada. É usado para resumir Big Data e facilita a consulta e a análise. O Apache Hive é um padrão eficaz para SQL-in Hadoop. O Impala é um mecanismo de consulta SQL de processamento paralelo que é executado no Apache Hadoop e usado para processar os dados que são armazenados no HBase (Hadoop Database) e no Hadoop Distributed File System. O Impala é um produto de código aberto para mecanismo de consulta SQL de processamento paralelo (MPP) para dados armazenados em um cluster de sistema local em execução no Apache Hadoop. O Apache Hive e o Impala são partes essenciais do sistema Hadoop.
Então, vamos estudar o Hive e o Impala em detalhes:
HIVE
- O Apache Hive ajuda a analisar o enorme conjunto de dados armazenado no sistema de arquivos Hadoop (HDFS) e outros sistemas de arquivos compatíveis.
- Hive QL - Para consultar dados armazenados no Hadoop Cluster .
- Explora a escalabilidade do Hadoop por tradução .
- O Hive NÃO é um banco de dados completo .
- Não fornece atualizações em nível de registro .
- O Hadoop é um sistema orientado a lotes .
- As consultas do Hive têm alta latência devido ao MapReduce .
- O Hive não fornece recursos do É próximo ao OLAP .
- Mais adequado para aplicativos de data warehouse .
- Consulta de execução via MapReduce .
- a linguagem de consulta pode ser usada com funções escalares personalizadas (UDFs), agregações (UDAFs) e funções de tabela (UDTFs) .
- O Hive também fornece Indexação para acelerar, tipo de índice incluindo compactação e índice de bitmap a partir de 0, 10, mais tipos de índice estão planejados.
- Os tipos de armazenamento suportados pelo Hive são RCfile, HBase, ORC e texto sem formatação .
- Consultas do tipo SQL (Hive QL), que são implicitamente convertidas em tarefas MapReduce ou Tez ou Spark .
- Por padrão, o Hive armazena metadados em um banco de dados incorporado do Apache Derby .
IMPALA
- O Impala é um mecanismo de consulta executado no Hadoop . A distribuição pública do teste beta foi anunciada em outubro de 2012 e ficou disponível em maio de 2013.
- Ele suporta armazenamento HDFS Apache HBase e Amazon S3 .
- Lê os formatos de arquivo Hadoop, incluindo texto, Parquet, Avro, RCFile, LZO e arquivo de sequência .
- Oferece suporte à segurança do Hadoop (autenticação Kerberos) .
- Usa metadados, driver ODBC e sintaxe SQL do Apache Hive .
- Ele suporta vários codecs de compactação:
(a) Snappy (recomendado pelo seu equilíbrio efetivo entre a taxa de compressão e a velocidade de descompressão),
(b) Gzip (recomendado para atingir o nível mais alto de compactação),
(c) Deflate (não suportado para arquivos de texto), Bzip2, LZO (somente para arquivos de texto);
- Ele permite consultar estruturas aninhadas, incluindo mapas, estruturas e matrizes.
- Ele permite consultas simultâneas para vários usuários e também permite o controle de admissão com base na priorização e na fila de consultas.
Comparações cara a cara entre Hive vs Impala (Infográficos)
Abaixo está a comparação dos 20 principais entre Hive e Impala
Diferença de chave entre Hive e Impala
As diferenças entre Hive e Impala são explicadas nos pontos apresentados abaixo:
- O Hive é desenvolvido pela equipe de Jeff no Facebook, mas o Impala é desenvolvido pela Apache Software Foundation .
- O Hive suporta o formato de arquivo do formato ORC (coluna otimizada de linhas) com compactação Zlib, mas o Impala suporta o formato Parquet com compactação instantânea .
- O Hive é escrito em Java, mas o Impala é escrito em C ++.
- A velocidade de processamento de consultas no Hive é lenta, mas o Impala é 6-69 vezes mais rápido que o Hive .
- No Hive, a latência é alta, mas no Impala, a latência é baixa .
- O Hive suporta o armazenamento de arquivos RC e ORC, mas o armazenamento do Impala é o Hadoop e o Apache HBase .
- O Hive gera expressão de consulta em tempo de compilação, mas na geração do código Impala para '' grandes loops '' acontece durante o tempo de execução .
- O Hive não suporta processamento paralelo, mas o Impala suporta processamento paralelo.
- O Hive suporta o MapReduce, mas o Impala não suporta o MapReduce .
- No Hive, não há recurso de segurança, mas o Impala oferece suporte à autenticação Kerberos .
- Em uma atualização de qualquer projeto em que compatibilidade e velocidade sejam importantes, o Hive é a escolha ideal, mas para um novo projeto, o Impala é a escolha ideal .
- A ramificação é tolerante a falhas, mas o Impala não suporta tolerância a falhas .
- O Hive oferece suporte a tipos complexos, mas o Impala não oferece suporte a tipos complexos .
- O Hive é o Hadoop MapReduce baseado em lote, mas o Impala é o banco de dados MPP .
- O Hive não suporta computação interativa, mas o Impala suporta computação interativa .
- A consulta do Hive tem um problema de "partida a frio", mas no processo daemon Impala é iniciado no próprio momento da inicialização .
- O gerenciador de recursos do Hive é YARN (Yet Another Resource Negotiator), mas no Impala o gerenciador de recursos é nativo * YARN .
- As Distribuições Hive são todas distribuição Hadoop, Hortonworks (Tez, LLAP), mas na distribuição Impala são Cloudera MapR (* Amazon EMR) .
- O público do Hive é o Data Engineers, mas o público do Impala são analistas de dados / cientistas de dados.
- A taxa de transferência da seção é alta, mas a taxa de transferência do Impala é baixa .
Tabela de comparação Hive vs Impala
Número de série. | Base para comparação | Colmeia | Impala |
1 | Desenvolvido por | Apache Software Fundação |
|
2) | Formato de arquivo |
|
|
3) | Língua | Escrito em JAVA | Escrito em C ++ |
4) | Velocidade de processamento | Hive is Slow | Impala é rápido |
5) | Latência | Alto | Baixo |
6 | Suporte de armazenamento | Arquivo RC, ORC | Hadoop, Apache HBase |
7) | Conversão de código | Gera expressão de consulta em tempo de compilação | A geração de código acontece em tempo de execução. |
8) | Suporta processamento paralelo | Não | sim |
9 | Suporte do MapReduce | sim | Não |
10) | Segurança do Hadoop | Não | Suporta autenticação Kerberos. |
11) | Uso | Ideal para atualização de projeto | Ideal para iniciar o novo projeto. |
12) | Tolerante a falhas | A ramificação é tolerante a falhas. | Não suporta tolerância a falhas. |
13) | Tipos complexos | O Hive suporta tipos complexos. | O Impala não suporta tipos complexos. |
14) | Tipo de banco de dados | O Hive é um Hadoop MapReduce baseado em lote. | É um banco de dados MPP |
15 | Computação interativa | Não suporta computação interativa. | Suporta computação interativa. |
16 | Execução | A consulta do Hive tem um problema com o "Cold Start" | O processo Impala sempre inicia no momento da inicialização dos Daemons. |
17 | Gestão de recursos | FIO | Native * YARN |
18 | Distribuições | HIVE - todas as distribuições do Hadoop, Hortonworks (Tez, LLAP) | Cloudera MapR, (* Amazon EMR) |
19 | Público | Engenheiros de dados | Analista de Dados / Cientistas de Dados |
20 | Taxa de transferência | Alto rendimento | Baixo rendimento |
Conclusão - Hive vs Impala
Neste artigo, tentamos mostrar que o que são duas tecnologias, a saber, Hive e Impala, e também a diferença básica entre essas tecnologias. Em termos práticos, podemos dizer que Hive e Impala não são os concorrentes, pois ambos pertencem à mesma base que é conhecida como MapReduce para executar as consultas, o uso de ambos pode criar a diferença. De acordo com nossa necessidade, podemos usá-lo juntos ou o melhor, de acordo com a compatibilidade, necessidade e desempenho. A linguagem de consulta do Hive é o Hive QL, que é um idioma muito versátil e universal, enquanto o Impala consome muita memória e não funciona bem para o processamento de operações de dados pesados, como consultas de junção. Se o trabalho do seu projeto estiver relacionado ao processamento em lote de uma grande quantidade de dados, o Hive será melhor nesse caso e se o seu trabalho estiver relacionado ao processo em tempo real de uma consulta ad-hoc sobre dados, o Impala será melhor em Aquele caso.
Artigo recomendado
Este foi um guia para o Hive Vs Impala, seu significado, comparação cara a cara, diferenças principais, tabela de comparação e conclusão. Você também pode consultar os seguintes artigos para saber mais -
- Apache Hive vs Apache Spark SQL - 13 diferenças surpreendentes
- Hive VS HUE - As 6 melhores comparações úteis para aprender
- Apache Pig vs Apache Hive - As 12 principais diferenças úteis
- Hadoop vs Hive - Descubra as melhores diferenças
- Usando a função ORDER BY no Hive