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
Obtenha acesso instantâneo ao nível gratuito da AWS.