Introdução às alternativas do Hive

Antes de discutirmos as alternativas do HIVE. Vamos primeiro entender o que é um HIVE? Portanto, o HIVE é basicamente uma ferramenta de armazenamento de dados desenvolvida sobre o HDFS (Hadoop Distributed File System). É usado para fornecer uma interface de consulta semelhante ao SQL para consultar dados armazenados em vários arquivos integrados ao Hadoop. Ele converte SQL como consultas em tarefas do Map Reduce, que ajudam na execução fácil de grandes volumes de dados.

Recursos

Abaixo estão alguns dos recursos do Hive:

  • Como o SQL, ele possui sua própria linguagem declarativa chamada HiveQL.
  • Possui uma estrutura de tabela semelhante às tabelas no banco de dados relacional e também fornece suporte a ETL (extração / suporte / carregamento).
  • Uma característica interessante é que permite a conversão de formato a partir do HIVE.

Limitação de alternativas da Hive

Vamos conhecer algumas limitações do Hive:

  • Ele não foi projetado para OLTP (Online Transaction Processing), mas suporta OLAP (Online Analytical Processing).
  • Uma limitação importante é que ele não suporta atualizações e exclusões.
  • No Hive, as subconsultas também não são suportadas.

5 Alternativas Importantes da Colmeia

A seguir, discutiremos cinco alternativas importantes de HIVE presentes no mercado:

1. Apache Impala

É um mecanismo de consulta SQL de processamento paralelo de código aberto para dados armazenados em um cluster de computador executando o Apache Hadoop. Foi anunciado no ano de outubro de 2012. Abaixo estão as principais características do Apache Impala como uma alternativa ao HIVE.

  • O Impala é uma boa opção para pessoas que executam consultas SQL no Hadoop e Apache HBase sem transformar os dados, pois não é necessário transformar ou mover os dados, ao contrário do HIVE.
  • Outra diferença entre esses dois é a geração de expressões de consulta. O Impala os gera em tempo de execução usando llvm enquanto o HIVE os gera em tempo de compilação.
  • As consultas do Hive têm um problema de inicialização a frio, o que não é o caso das consultas do Impala, pois os processos do daemon Impala são iniciados no próprio tempo de inicialização, sempre prontos para processar uma consulta, devido à qual evitam o problema de inicialização a frio.
  • O Impala reconhece os formatos de arquivo Hadoop, segurança Hadoop, driver ODBC.
  • A principal USP da impala é a força bruta do processamento paralelo. Portanto, o Impala é uma alternativa melhor se alguém estiver iniciando um novo projeto.

2. Presto DB

O Presto é outra alternativa para o HIVE desenvolvida pelo facebook. Sua USP é que pode até consultar dados de várias fontes em uma única consulta. Abaixo estão os principais recursos do PrestoDB como uma alternativa ao HIVE.

  • O Presto é um mecanismo de consulta SQL distribuído na memória que também é muito rápido, pois o mecanismo de consulta do Presto é rápido e adequado para análise interativa.
  • O USP para Presto em detrimento de outros é seu modelo plug and play com diferentes fontes de dados. Devido a esse modelo plug and play, unir consultas em diferentes fontes de dados é muito fácil com o presto.
  • No Presto, as tabelas de junção de pequena dimensão foram feitas mais rapidamente. O Presto é excelente com a maioria dos outros mecanismos de consulta distribuídos.
  • O Presto não é apropriado para grandes associações de fatos, pois não aproveita o disco e usa a memória para processamento.
  • Um ponto mais importante para presto é a alocação de recursos. Ele tem uma alocação de recursos baseada em fila prioritária.
  • Uma desvantagem do bom desempenho no Presto é que o suporte à UDF não está disponível em presto, devido ao qual é necessário escrever sua própria função, o que aumenta a sobrecarga, pois precisa ser construído exclusivamente para presto e dificulta a interoperabilidade.

3. Spark SQL

É um módulo para processamento de dados estruturado e também de código aberto. Ele também pode atuar como um mecanismo de consulta SQL distribuído e também uma parte exclusiva é fornecer abstração de programação conhecida como quadros de dados. Foi lançado em 2014, desenvolvido pela Apache Software Foundation. Abaixo estão alguns dos principais recursos do Spark SQL como uma alternativa ao HIVE.

  • O bom do Spark SQL é que ele pode ser implementado nas linguagens Java, Scala, Python e R, enquanto o HIVE pode ser implementado na linguagem Java.
  • Existe uma semelhança completa no modelo de banco de dados Primário entre o HIVE e o Spark, pois o modelo de banco de dados primário é o DBMS Relacional.
  • Também é semelhante ao HIVE, pois ambos suportam o armazenamento de valor-chave como um modelo de banco de dados adicional.
  • Possui tipos de dados predefinidos, como float e date.
  • Ele suporta SQL, pois possui instruções DML e DDL.
  • Ao contrário do HIVE, que suporta JDBC, ODBC e Thrift, o Spark SQL suporta apenas JDBC e ODBC.
  • O Spark SQL usa o spark core para armazenar dados em diferentes nós.
  • Outra grande diferença entre o spark e o HIVE são os métodos de replicação: Há um fator de replicação seletivo no HIVE para armazenar dados redundantes em vários nós, mas nenhum fator de replicação está disponível no Spark SQL.
  • No Spark SQL, não há direitos de acesso para usuários, enquanto no Apache Hive, temos direitos de acesso para usuários, grupos.
  • Ele não suporta uma tabela transacional e não suporta o tipo de caractere.

4. Tubarão

É um mecanismo de consulta SQL de código aberto escrito em Scala. O fato interessante do Shark é, em vez de usar o Map-Reduce para executar suas consultas, ele usa seus próprios conjuntos de nós de trabalho. Abaixo estão alguns dos recursos do Shark:

  • Ele usa um cliente de linha de comando.
  • Oferece interoperabilidade com o Hive para compartilhamento de esquema.
  • Ele fornece suporte para extensões de seção existentes, como UDFs.

Ainda não é muito famoso, mas oferece uma alternativa ao HIVE.

5. BigSQL da IBM

É fornecido pela Big Blue (IBM). A IBM possui sua própria distribuição Hadoop chamada Big Insights. Portanto, o Big SQL é oferecido como parte dele. Não é de código aberto, pois é fornecido pela IBM. Algumas das coisas que eles fornecem são as seguintes:

  • Eles suportam os drivers JDBC e OJDBC.
  • Eles fornecem suporte a SQL
  • Eles podem ser usados ​​para consultar dados do HDFS.

Artigos recomendados

Este é um guia para Hive Alternatives. Aqui discutimos recursos, limitações e 5 importantes alternativas do Hive. Você também pode consultar nossos outros artigos relacionados para saber mais.

  1. Alternativas do Hadoop
  2. Alternativas do Tableau
  3. Alternativas do Google Analytics
  4. Transmissão Hadoop
  5. Hive Order By
  6. Instalação do Hive
  7. Quadros de dados em R

Categoria: