Apache Hadoop
Plataforma open-source de construção de soluções confiáveis, escaláveis e distribuídas. Possui os seguintes sub-projetos"
Hadoop Common:
- utilitários comuns a todos os subprojetos
Chukwa
- sistema de gerenciamento de grandes bases de dados
- BD escalável e distribuído voltado para tabelas grandes
- Promete ser super eficiente em acessos aleatórios e em tempo real em grandes bases de dados
- Billions of rows X millions of columns
- Open-source, distributed, column-oriented
- Integração com MapReduce
HDFS
- FS distribuído de alto throughput
Hive
- infraestrutura de data warehouse
MapReduce
- Na verdade é um conceito lógico e não uma tecnologia
- framework para processamento distribuído em grandes conjuntos de dados
- usuário implementa as funções Map() e Reduce()
- Lib cuida de paralelização, tolerância a falhas, distribuição de dados e balanceamento de carga
- Map(): processa par de KeyValue para gerar KeyValues intermediários, exemplo:
- Map("controle.txt","brasil"): procura a palavra "brasil" no arquivo "controle.txt"
- processa o arquivo e devolve pares de [palavra, qtd], p.e. ["brasil", 2]
- Reduce(): Agrupa todos os valores associados a chave buscada
- soma todos os valores da mesma chave
- devolve par de [palavra, qtd total], p.e. ["brasil", (2 5 4)] => ["brasil", 11]
Pig
- linguagem de alto-nível para computação paralela
ZooKeeper
- sistema de gerenciamento de aplicações distribuídas
- Fontes:
- Welcome to Apache Hadoop!, 2010, hadoop.apache.org
- MapReduce Lecture, John R. Gilbert, www.cs.ucsb.edu