Vídeo: Howto install Hive on Ubuntu 2024
A colmeia é uma camada de armazenamento de dados baseada em lote, construída nos elementos principais do Hadoop (HDFS e MapReduce) e é muito útil em grandes dados. Ele fornece aos usuários que conhecem o SQL com uma implementação SQL-lite simples chamada HiveQL sem sacrificar o acesso via mapeadores e redutores. Com a Hive, você pode obter o melhor dos dois mundos: acesso semelhante a SQL para dados estruturados e análise de dados sofisticados com o MapReduce.
Ao contrário da maioria dos data warehouses, o Hive não foi projetado para respostas rápidas às consultas. De fato, as consultas podem levar vários minutos ou mesmo horas dependendo da complexidade. Como resultado, a Hive é melhor usada para mineração de dados e análises mais profundas que não exigem comportamentos em tempo real. Por se basear na base Hadoop, é muito extensível, escalável e resiliente, algo que o armazenamento de dados médio não é.
A raiz usa três mecanismos para a organização de dados:
-
Tabelas: As tabelas de colmeia são as mesmas que as tabelas RDBMS, consistindo em linhas e colunas. Como o Hive está em camadas no Hadoop HDFS, as tabelas são mapeadas para diretórios no sistema de arquivos. Além disso, o Hive suporta tabelas armazenadas em outros sistemas de arquivos nativos.
-
Partições: Uma tabela de colméia pode suportar uma ou mais partições. Essas partições são mapeadas para subdiretórios no sistema de arquivos subjacente e representam a distribuição de dados em toda a tabela. Por exemplo, se uma tabela for chamada de autos, com um valor-chave de 12345 e um valor de fabricante Ford, o caminho para a partição seria / hivewh / autos / kv = 12345 / Ford.
-
Baldes: Por sua vez, os dados podem ser divididos em baldes. Os baldes são armazenados como arquivos no diretório de partição no sistema de arquivos subjacente. Os baldes são baseados no hash de uma coluna na tabela. No exemplo anterior, você pode ter um balde chamado Focus, contendo todos os atributos de um automóvel Ford Focus.
Os metadados de colméia são armazenados externamente na "metastaçao". "O metastore é um banco de dados relacional contendo as descrições detalhadas do esquema de colméia, incluindo tipos de coluna, proprietários, dados de chave e valor, estatísticas de tabela e assim por diante. A metáfora é capaz de sincronizar dados do catálogo com outros serviços de metadados no ecossistema Hadoop.
A colméia suporta uma linguagem semelhante a SQL chamada HiveQL. O HiveQL suporta muitas das primitivas SQL, como selecionar, juntar, agregar, unir tudo, e assim por diante. Ele também suporta consultas e inserções multitagens compartilhando os dados de entrada dentro de uma única declaração HiveQL. O HiveQL pode ser estendido para suportar agregação definida pelo usuário, transformação de colunas e scripts MapReduce incorporados.