Juliana Jenny Kolb
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.