O que é o Apache Hive?

O Apache Hive é um sistema de data warehouse distribuído e tolerante a falhas que permite análises em grande escala. Um data warehouse fornece um armazenamento central de informações que podem ser facilmente analisadas para tomar decisões informadas e orientadas por dados. O Hive permite que os usuários leiam, gravem e gerenciem petabytes de dados usando SQL.

O Hive é construído com base no Apache Hadoop, que é uma estrutura de código aberto usada para armazenar e processar conjuntos de dados grandes com eficiência. Como resultado, o Hive está estreitamente integrado ao Hadoop e foi projetado para funcionar rapidamente em petabytes de dados. O que torna o Hive único é a capacidade de consultar grandes conjuntos de dados, aproveitando o Apache Tez ou o MapReduce, com uma interface semelhante ao SQL.

Como funciona o Hive?

O Hive foi criado para permitir que não programadores familiarizados com SQL trabalhem com petabytes de dados, usando uma interface semelhante a SQL chamada de HiveQL. Os bancos de dados relacionais tradicionais foram projetados para consultas interativas em conjuntos de dados pequenos a médios e não processam bem grandes conjuntos de dados. Em vez disso, o Hive usa o processamento em lote para funcionar rapidamente em um banco de dados distribuído muito grande. O Hive transforma consultas HiveQL em trabalhos MapReduce ou Tez que são executados na estrutura de agendamento de tarefas distribuída do Apache Hadoop, o Yet Another Resource Negotiator (YARN). Ele consulta dados armazenados em uma solução de armazenamento distribuído, como o Hadoop Distributed File System (HDFS) ou o Amazon S3. O Hive armazena seus metadados de banco de dados e tabela em um metastore, que é um banco de dados ou armazenamento suportado por arquivos que permite fácil abstração e descoberta de dados.

O Hive inclui o HCatalog, uma camada de gerenciamento de tabelas e armazenamento que lê dados do metastore do Hive para facilitar a integração perfeita entre o Hive, o Apache Pig e o MapReduce. Ao usar o metastore, o HCatalog permite que o Pig e o MapReduce usem as mesmas estruturas de dados do Hive, de forma que os metadados não precisam ser redefinidos para cada mecanismo. Aplicações personalizadas ou integrações de terceiros podem usar o WebHCAT, que é uma API RESTful para o HCatalog acessar e reutilizar metadados do Hive.

Quais são os benefícios do Hive?

Rápido

O Hive foi projetado para lidar rapidamente com petabytes de dados usando processamento em lote.

Familiar

O Hive fornece uma interface familiar, semelhante a SQL e acessível a não programadores.

Escalonável

O Hive é fácil de distribuir e escalar com base nas suas necessidades.

Quais são as diferenças entre o Apache Hive e o Apache HBase?

O Apache HBase é um banco de dados NoSQL distribuído que possibilita o acesso aleatório, consistentemente estrito e em tempo real a petabytes de dados. O Apache Hive é um sistema de armazenamento de dados distribuído que fornece recursos de consulta semelhantes aos do SQL.

Características

Apache Hive

Apache HBase

Função

Mecanismo de consulta semelhante ao SQL, projetado para armazenamentos de dados de alto volume. Vários formatos de arquivo são compatíveis.

Armazenamento de chaves/valores de baixa latência com recursos de consulta personalizados. Os dados são armazenados em um formato orientado por colunas.

Tipo de processamento

Processamento em lote usando frameworks computacionais Apache Tez ou MapReduce.

Processamento em tempo real.

Latência

Média a alta, dependendo da capacidade de resposta do mecanismo de computação. O modelo de execução distribuída oferece performance superior em comparação com sistemas de consulta monolíticos, como o RDBMS, para os mesmos volumes de dados.

Baixa, mas pode ser inconsistente. As limitações estruturais da arquitetura HBase podem resultar em picos de latência sob cargas de gravação intensas.

Integração com o Hadoop

Executado no Hadoop, com Apache Tez ou MapReduce para processamento e HDFS ou Amazon S3 para armazenamento.

Executado no HDFS ou Amazon S3.

Suporte para SQL

Fornece recursos de consulta semelhantes aos do SQL com o HiveQL.

Não há suporte para SQL isoladamente. Você pode usar o Apache Phoenix para recursos SQL.

Esquema

Esquema definido para todas as tabelas.

Sem esquema.

Tipos de dados

Oferece suporte a dados estruturados e não estruturados. Fornece suporte nativo para tipos de dados SQL comuns, como INT, FLOAT e VARCHAR.

Oferece suporte somente a dados não estruturados. O usuário define mapeamentos de campos de dados para tipos de dados compatíveis com Java.

Quais são os casos de uso do Hive?

A Guardian oferece a 27 milhões de membros a segurança que eles merecem por meio de produtos e serviços de seguros e gestão patrimonial. A Guardian usa o Amazon EMR para executar o Apache Hive em um data lake do S3. O Apache Hive é usado para processamento em lotes. O data lake S3 alimenta o Guardian Direct, uma plataforma digital que permite aos consumidores pesquisar e comprar produtos Guardian e produtos de terceiros no setor de seguros.

A FINRA (Financial Industry Regulatory Authority) é o maior órgão regulador independente dos Estados Unidos, que monitora e regulamenta práticas do mercado financeiro. A FINRA usa o Amazon EMR para executar o Apache Hive em um data lake do S3. A execução do Hive nos clusters do EMR permite que a FINRA processe e analise dados comerciais de até 90 bilhões de eventos usando SQL. O data lake na nuvem resultou em uma economia de custos de até 20 milhões de dólares em comparação com a solução on-premises da FINRA e reduziu drasticamente o tempo necessário para recuperação e upgrades.

A Vanguard, uma consultora americana de investimentos registrada, é a maior provedora de fundos mútuos e a segunda maior provedora de fundos negociados em bolsa. A Vanguard usa o Amazon EMR para executar o Apache Hive em um data lake do S3. Os dados são armazenados no S3, e o EMR cria um metastore do Hive sobre esses dados. O metastore do Hive contém todos os metadados sobre os dados e as tabelas no cluster do EMR, o que permite uma análise fácil dos dados. O Hive também permite que os analistas realizem consultas SQL ad hoc em dados armazenados no data lake do S3. A migração para um data lake S3 com o Amazon EMR permitiu que mais de 150 analistas de dados obtivessem eficiência operacional e reduziram os custos de EC2 e EMR em 600 mil dólares.

Como a AWS pode oferecer suporte ao Hive?

O Amazon EMR fornece a framework Hadoop gerenciada mais fácil, rápida e econômica, permitindo que os clientes processem grandes quantidades de dados em instâncias do EC2 dinamicamente escaláveis. Os clientes também podem executar outras frameworks distribuídas populares, como Apache Hive, Spark, HBase, Presto e Flink, no EMR. 

Saiba mais sobre o Amazon EMR

Comece hoje mesmo a usar o Apache Hive na AWS criando uma conta gratuita da AWS.

Próximas etapas na AWS

Cadastre-se para obter uma conta gratuita

Obtenha acesso instantâneo ao nível gratuito da AWS.

Cadastre-se 
Comece a criar no console

Comece a criar no Console de Gerenciamento da AWS.

Faça login