BT

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

por Matt Kapilevich , traduzido por José Renato Pequeno em 17 Jun 2014 |

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.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT