Por que eu devo ler este artigo:Este artigo apresenta o Apache Hive, um software de data warehouse que funciona sobre o Hadoop, mostrando seus principais conceitos e demonstrando sua forma de utilização.

Esse tema é útil em situações onde se tem uma grande quantidade de dados que precisam ser armazenados de forma distribuída, sendo necessário extrair, manipular ou carregar parte dessas informações de forma rápida e confiável, podendo fazê-lo de forma simples através de um mecanismo de pesquisa baseado em SQL.

Vemos uma quantidade cada vez maior de informação sendo gerada, seja através do avanço das mídias sociais e serviços de internet, de uma crescente demanda por conteúdos cada vez mais diversificados ou ainda por pesquisas e explorações feitas no ramo da ciência.

O fato é que, dependendo do tipo da necessidade envolvida, se faz necessário o armazenamento de uma quantidade de informação tão grande e complexa, da ordem de muitos terabytes, que se torna inviável tentar manipulá-la com ferramentas tradicionais.

Esse grande conjunto de dados, conhecido como "big data", e a dificuldade em lidar com essas informações acontece, em vários casos, não só pelo volume de dados armazenados, mas também por outros critérios como a velocidade com que esses dados chegam para serem armazenados, o tempo no qual eles devem ser processados, além dos tipos de dados que devem ser tratados e armazenados, sejam eles logs de aplicação, imagens, áudios, vídeos etc.

Um grande problema quando se fala em big data se refere a como esses dados serão manipulados de forma eficaz. Como serão feitos a captura, o armazenamento, o processamento, a análise e apresentação dos dados?

Uma forma de se resolver parte desse problema é através de processamento paralelo, onde os dados são divididos em porções menores e distribuídos para serem processados. Para algo do tipo, é necessária uma plataforma robusta e escalável, com várias máquinas, para se conseguir realizar a tarefa.

Isso sem contar a necessidade da replicação dos dados para se evitar rupturas e perdas de informação.

Ainda é necessário que as informações sejam processadas de forma independente (em cada máquina em separado) ou, caso contrário, pode haver um gargalo na rede e consequentemente um comprometimento de toda a plataforma.

Depois das informações processadas e armazenadas, precisaremos analisar e apresentar esses dados de forma eficiente.

Nesse cenário complexo, temos algumas ferramentas que podem nos auxiliar. É o caso do conjunto de ferramentas da Apache relacionado ao big data que formam o ecossistema do Hadoop.

O Hadoop, por sua vez, é um software open source desenvolvido para armazenamento e processamento de uma grande quantidade de dados de forma distribuída.

Arquitetura do Hadoop

O Hadoop utiliza um sistema de arquivos distribuído, conhecido como HDFS (Hadoop Distributed File System), que foi inspirado no sistema de arquivos do Google (Google file system).

O HDFS tem muitas semelhanças com outros sistemas distribuídos, no entanto apresenta características próprias como, por exemplo, ser tolerante a falhas e projetado para hardwares de baixo custo, além de possuir alta disponibilidade de acesso e ser perfeito para aplicações com um grande conjunto de dados.

O Hadoop divide os arquivos em grandes blocos de memória (64MB ou 128MB) e distribui os blocos entre os nós do cluster. Para processar os dados recebidos, o Hadoop os processa remotamente através de cada nó.

O HDFS possui dois tipos de nós: master, conhecido também como namenode, e os workers, ou datanodes. O master armazena as informações da distribuição de arquivos e metadados. Já os workers armazenam os dados propriamente ditos.

Essa técnica permite que os dados sejam processados de forma mais rápida e eficiente, por ser distribuída, do que outras formas como, por exemplo, um processamento local das informações.

O framework do Hadoop é composto pelos seguintes módulos (Figura 1):

· Hadoop Common - libs e utilitários necessários aos outros módulos do Hadoop;

· Hadoop Distributed File System (HDFS) - sistema de arquivos distribuídos;

· Hadoop MapReduce - processador de dados em larga escala

· Hadoop YARN - ger ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora