BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Hive 0.13 com execução de consultas vetorizada e Hive sobre Tez

Hive 0.13 com execução de consultas vetorizada e Hive sobre Tez

A Hortonworks, uma empresa focada em desenvolvimento e suporte ao Hadoop, anunciou o lançamento do Hive 0.13.

Hive é um projeto de uma Engine de SQL código fonte aberto, desenvolvido sobre o topo do Hadoop permitindo que os usuários executem consultas em grandes data warehouses através da escrita de consultas SQL em vez de trabalhos com MapReduce. O último lançamento introduziu significantes melhorias de desempenho e também novas características SQL.

A nova versão também marca a conclusão da iniciativa Stinger que passou pelas versões 0.11, 0.12 e 0.13. O objetivo da iniciativa era aumentar o desempenho das consultas em 100 vezes, em comparação com Hive 0.10, permitindo que o Hive escale até petabytes de dados.

Melhorias de desempenho

Hive sobre Tez permite aos usuários tirar vantagem através de consultas mais eficientes feitas pelo seu planejador, resultando em consultas mais rápidas. Tez é um estrutura de aplicação construída sobre o Hadoop Yarn que pode executar diretos e complexos gráficos acíclicos para tarefas gerais de processamento de dados. Algumas optimizações implementadas pelo Tez incluem:

  • Execução de embaralhamento MapReduce em memória ao invés de fazer no disco para pequenos conjuntos de dados;
  • Múltiplas fases de pipeline juntas sem a necessidade de produzir arquivos HDFS intermediários;
  • Aprimoramento dos joins distribuídos;
  • Rápida inicialização de processos através da reutilização de containers.

Execução de consultas vetorizadas melhora ainda mais o desempenho do Hive. Esta optimização de banco de dados é uma técnica que foi popularizada pelo projeto MonetDb/X100, e é explicado em detalhe pelo seguinte documento técnico. A execução de uma consulta vetorizada trabalha com o processamento de dados em lotes de mil linhas, em vez de uma linha a cada vez. Isso resulta em uma eficiente utilização da CPU reduzindo assim gastos de processamento de desserialização.

O Hive 0.13 adicionou suporte nativo ao Parquet. Parquet é um formato de armazenamento colunar para o Hadoop, e já é suportado por várias tecnologias de Big Data, incluindo o Apache Drill, Cloudera Impaca e o Apache Spark. A representação compactada de dados colunar do Parquet, reduz a quantidade de dados que o Hive tem que percorrer, reduzindo-se assim o tempo de execução tornando as consultas mais rápidas.

O Hive 0.13 também corrigiu muitos erros relatados para suportar o formato de arquivo Optimized Row Columnar (ORC). O formato de arquivo ORC fornece uma eficiente via para armazenar e consultar dados no Hive pela compressão dos dados no formato colunar. Isto foi introduzido no Hive 0.11 e proporciona benefícios relacionados com desempenho que são similares ao formato de arquivos do Parquet.

SQL

O Hive 0.13 introduziu no SQL autorização baseada em padrões. Com a autorização baseada em padrões do SQL, os usuários agora podem definir suas políticas de autorização de forma compatível com o SQL. A comunidade do Apache Hive estendeu a linguagem SQL para suportar grant e revoke sobre as entidades. O Hive agora suporta regras, privilégios de usuários e privilégios ativos.

Outras melhorias do Hive 0.13 incluem:

Mais informações relacionadas ao lançamento do Hive 0.13 podem ser encontradas aqui.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT