sábado, 5 de novembro de 2016

Hadoop - Conceitos Básicos

1 -  Introdução


É um framework de softwares open source para o armazenamento e processamento de grandes massas de dados de forma distribuída.

Não substitui os sistemas tradicionais pois a sua função é analítica, sendo mais indicado para operações onde se escreve uma única vez e se lê várias vezes.

Ele usa o conceito de DIVIDIR PARA OTIMIZAR.

O nome Hadoop tem como origem o nome do elefante de pelúcia do filho de Doug Cutting (criador do Hadoop).




2 – História

2002   – Primeira biblioteca Map Reduce na Google
2003   - Artigo sobre GFS
2004   - Artigo sobre Map Reduce
2005   - MR e DFS no Nutch é implementado por Doug Cutting
2006   - Hadoop se torna um projeto oficial da Apache
2007   - Yahoo roda Hadoop em um cluster de 1000 nós
2008   - Hadoop se transforma no projeto principal da Apache
2011   - Apache disponibiliza a versão Hadoop 1.0.0


3 - Características

Escalável    

            - Pode armazenar e processar petabytes;

Econômico   

            - Distribui os dados e o processamento através dos clusters;

Confiável    

- Mantém múltiplas cópias dos dados e remaneja as tarefas em caso de falhas;

Eficiente    

- Processa os dados paralelamente por meio de nós, onde os dados estão alocados.


4 – Núcleo

O núcleo do hadoop é composto por:
           
Hadoop Common

Gerencia os processos internos do hadoop de forma transparente para os usuários. Exemplos de processos:
                                  
- Paralelização automática;
           - Balanceamento de carga;
           - Otimização nas transferências de disco e rede;
           - Tratamento de falhas;
           - Escalabilidade;

HDFS – Hadoop Distributed Filesystem

Sistema de arquivos distribuídos responsável pelo armazenamento de grande volumes de dados.

Projetado para hardware de baixo custo e com tolerância a falhas e recuperação proporcionada pela replicação;

Os arquivos são quebrados em blocos que variam de 64 mb a 256 mb e distribuídos pelos clusters do hadoop.

MapReduce

Modelo de programação que permite o processamento de grandes quantidade de dados de forma paralela e distribuída.


5 – Ecossistema

O Hadoop é composto por um conjunto de aplicações que trabalham em conjunto para armazenar e processar, em tempo hábil, grandes volumes de dados de diversos formatos e estruturas.

Essas ferramentas utilizam inteligência artificial, machine learning, técnicas estatísticas e muitos outros recursos de computação avançada para gerar insights importantes para as empresas.

Exemplos de ferramentas: HBase, Sqoop, Kafka, Flume, Spark, Avro, Pig, Zookeeper, Hive, entre outros.



6 – Distribuições

Algumas empresas empacotam os componentes do Hadoop com combinações variadas e fornecem uma estrutura integrada do produto.

Além de fornecerem as distribuições integradas, estas empresas costumam oferecer software proprietário, apoio, serviços de consultoria e treinamento.



Exemplos de distribuições Hadoop:

            Hortonworks
            Cloudera
            MapR
            Elstic MapReduce (EMR)
            Amazon Web Services (AWS)
            Pivotal Software
            IBM
            Microsoft
            Teradata



Bibliografia

Nenhum comentário:

Postar um comentário