Big Data mina com Hive

Hive é, uma camada de dados de entreposto orientada para o lote construída sobre os principais elementos do Hadoop (HDFS e MapReduce) e é muito útil em big data. Ele oferece aos usuários que sabem SQL com uma implementação simples SQL-lite chamada HiveQL sem sacrificar o acesso via mapeadores e redutores. Com Hive, você pode obter o melhor dos dois mundos: o acesso SQL-like para dados estruturados e análise de dados grande sofisticada com MapReduce.

Diferentemente da maioria dos armazéns de dados, Hive não é projetado para respostas rápidas às consultas. Na verdade, as consultas pode levar vários minutos ou mesmo horas, dependendo da complexidade. Como resultado, a Hive é melhor usado para mineração de dados e mais profundas análises que não exigem comportamentos em tempo real. Pois se baseia no fundamento Hadoop, é muito extensível, escalável e resiliente, algo que o depósito médio de dados não é.

Hive utiliza três mecanismos para organização de dados:

  • tabelas: Colmeia tabelas são as mesmas que as tabelas de RDBMS que consistem em linhas e colunas. Porque Hive é uma camada do Hadoop HDFS, mesas são mapeados para diretórios no sistema de arquivos. Além disso, Hive suporta tabelas armazenadas em outros sistemas de arquivos nativos.

  • partições: Uma tabela Hive pode suportar uma ou mais partições. Estas partições são mapeadas para subdiretórios no sistema de arquivos subjacente e representar a distribuição dos dados em toda a mesa. Por exemplo, se uma tabela é chamada automóveis, com um valor de chave 12345 e um valor de fabricante Ford, o caminho para a partição seria / Hivewh / automóveis / kv = 12345 / Ford.

  • baldes: Por sua vez, os dados podem ser divididos em baldes. Baldes são armazenados como arquivos no diretório partição no sistema de arquivos subjacente. Os baldes estão baseados em hash de uma coluna na tabela. No exemplo anterior, você pode ter um balde chamado Foco, contendo todos os atributos de um automóvel Ford Focus.

metadados Hive é armazenado externamente na # 147 metastore. # 148- A metastore é um banco de dados relacional que contém as descrições detalhadas do esquema Hive, incluindo tipos de coluna, proprietários, dados de chave e valor, as estatísticas da tabela, e assim por diante. O metastore é capaz de sincronizar dados de catálogo com outros serviços de metadados no ecossistema Hadoop.

Hive suporta uma linguagem SQL, chamado HiveQL. HiveQL suporta muitas das primitivas de SQL, como select, juntar, agregar, a união de tudo, e assim por diante. Ele também suporta consultas multitable e inserções através da partilha de dados de entrada dentro de uma única instrução HiveQL. HiveQL pode ser estendido para suportar a agregação definida pelo usuário, a transformação da coluna e scripts de MapReduce embutidos.

menu