HADOOP

Juliana Jenny Kolb

teste seu conhecimento

Home > Data Science > Big Data

HADOOP

Hadoop é um framework, construído em linguagem java, para processamento e armazenamento de grandes quantidades de dados (não é um banco de dados).

Principal vantagem é a diminuição do custo de armazenamento de dados.

Características do Hadoop:

  • capacidade de armazenar e processas grandes quantidades de qualquer tipo de dado, e rapidamente;
  • poder computacional, processamento em paralelo;
  • tolerância a falhas – replicação tripla de dados;
  • flexibilidade – não precisa de pré-processamento dos dados;
  • baixo custo – open source;
  • escabilidade.

Arquitetura do Hadoop

Fonte da imagem: https://www.devmedia.com.br/hadoop-fundamentos-e-instalacao/29466

Componentes

  • Camada de armazenamento de dados:  há o sistema de arquivos distribuído Hadoop Distributed File System (HDFS). O HDFS é focado em oferecer armazenamento em disco, ou seja, uma estrutura que permite salvar arquivos para operações posteriores;
  • Camada de processamento de dados: MapReduce que, dividindo um problema para problemas menores até que os problemas individuais possam ser resolvidos de forma independente e, em seguida, combiná-los para responder à pergunta original (algoritmo dividir e conquistar);
  • Camada de acesso aos dados:  são disponibilizadas ferramentas como Pig, Hive (data warehouse),  Avro, Mahout, entre outras.

Componentes Adicionais

  • Ambari: ferramenta baseada na Web para o suporte, gerenciamento e monitoramento de outros módulos Hadoop, como HDFS, MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig e Sqoop;
  • Avro: sistema de serialização de dados;
  • Cassandra: banco de dados escalável, com tolerância a falhas;
  • Flume e Chukwa: sistemas que tratam da coleta de ocorrências (logs) para o monitoramento do Hadoop;
  • HBase: banco de dados escalável e distribuído que suporta o armazenamento de dados estruturados para grandes tabelas;
  • Hive: infraestrutura de data warehouse que fornece sumarização de dados e consultas adhoc;
  • Mahout: sistema para desenvolvimento de aplicações de aprendizagem de máquina e biblioteca com funções de mineração de dados;
  • Pig:fornece uma linguagem de consulta de alto nível (PigLatin) orientada a fluxo de dados, e uma estrutura de execução para computação paralela;
  • ZooKeeper: serviço de coordenação de alto desempenho para aplicações distribuídas.

Cluster Hadoop

Tipos:

  • NameNode
    • responsável por gerenciar onde cada arquivo está; armazenado e controlar o acesso;
    • recomenda-se o backup dos dados do NameNode, pois em caso de perda, todos os dados do cluster são perdidos (réplica: Secondary DataNode)
  • DataNode
    • responsável pela leitura e gravação dos arquivos, além de executar operações de criação, exclusão e replicação de acordo com as instruções recebidas pelo NameNode;
    • não necessita de backup, uma vez que os dados são replicados.