Você está na página 1de 56

HADOOP

TUDO O QUE VOCÊ PRECISA SABER


TÓPICOS DO MATERIAL
▪ Definição e Conceito de Hadoop
▪ Benefícios do Hadoop
▪ O que é Cluster
▪ Estrutura básica do Hadoop – HDFS e MapReduce
▪ Ecossistema Hadoop
▪ Soluções Comerciais do Hadoop
▪ Trilha de Aprendizado para o Hadoop
▪ Conclusão
O QUE É HADOOP?
É o principal framework para processamento e armazenamento de Big
Data (grande conjunto de dados); Um software Open-Source para
armazenamento e processamento em larga escala de grandes conjuntos
de dados (Big Data), que funciona em clusters de hardware de baixo
custo.
HADOOP
É um sistema de armazenamento compartilhado, para processamento de
grandes volumes de dados través de clusters de computadores.
BENEFÍCIOS DO HADOOP
BENEFÍCIOS DO HADOOP
Algumas das razões para se usar Hadoop é a sua “capacidade de
armazenar, gerenciar e analisar grandes quantidades de dados
estruturados e não estruturados de forma rápida, confiável, flexível e de
baixo custo.
BENEFÍCIOS DO HADOOP

BAIXO CUSTO ESCALÁVEL FLEXÍVEL

OPEN-SOURCE TOLERANTE A FALHAS


ESCALABILIDADE E DESEMPENHO
Distribuídos tratamento de dados local para cada nó em um cluster
Hadoop permite armazenar, gerenciar, processar e analisar dados em
escala petabyte.
CONFIABILIDADE
Clusters de computação de grande porte são propensos a falhas de nós
individuais no cluster. Hadoop é fundamentalmente resistente – quando
um nó falha de processamento é redirecionado para os nós restantes no
cluster e os dados são automaticamente re-replicado em preparação para
falhas de nó futuras.
FLEXIBILIDADE
Ao contrário de sistemas de gerenciamento de banco de dados relacionais
tradicionais, você não tem que esquemas estruturados criados antes de
armazenar dados. Você pode armazenar dados em qualquer formato,
incluindo formatos semiestruturados ou não estruturados, e em seguida,
analisar e aplicar esquema para os dados quando ler.
BAIXO CUSTO
Ao contrário de software proprietário, o Hadoop é open source e é
executado em hardware commodity de baixo custo.
CLUSTER
DEFINIÇÃO DE CLUSTER
É um conjunto de computadores que trabalham de forma sincronizada
para funcionar como um único computador. São diversas máquinas que
se comportam como uma única máquina.

O cluster é útil para aumentar a capacidade no processamento e


armazenamento de grande conjunto de dados (Big Data).
CLUSTERS, POR QUÊ?
Uma única máquina/servidor não consegue processar todo esse grande
volume de dados (Big Data). O volume de dados é imenso e exige mais de
uma única máquina para processar. Por isso, criou-se o cluster, uma forma
de gerenciar diversas máquinas que funcionam como uma única máquina.

Exemplo: Yahoo possui uma infraestrutura de Big Data com 4 mil


máquinas para armazenar e processar o grande conjunto de dados (big
Data)
ESTRUTURA
BÁSICA DO
HADOOP
COMPONENTES BASE DO HADOOP
O Hadoop possui dois componentes básicos: Hadoop HDFS e Hadoop
MapReduce.

HDFS MAP REDUCE


Armazenamento Distribuído (Cluster, Computação Distribuída (Cluster, conjunto
conjunto de computadores) de computadores)
HDFS
ECOSSITEMA HADOOP

Hadoop Distributed File System (HDFS), é


responsável por gerenciar o disco das
máquinas que compõem o Cluster. HDFS
também serve para leitura e gravação dos
dados.
HDFS – CARACTERÍSTICAS
▪ Tolerância a falhas e recuperação automática
▪ Portabilidade entre hardware e sistemas iguais
▪ Escalabilidade para armazenar grande volume de dados
▪ Confiabilidade, através de diversas cópias de dados
MAPREDUCE
ECOSSITEMA HADOOP

Ao contrário do HDFS, que gerencia o


armazenamento, o MapReduce, é responsável
por gerenciar o processamento dos dados em
um ambiente Cluster (conjunto de máquinas).
MAPREDUCE – CARACTERÍSTICAS
▪ Flexibilidade – processa todos os dados independente do tipo e formato
▪ Confiabilidade – permite que os Jobs sejam executados em paralelo
▪ Acessibilidade – suporte a diversas linguagens de programação
ECOSSISTEMA
HADOOP
ECOSSITEMA HADOOP
Observando a página anterior, é possível compreender que o Hadoop é
composto, incialmente, pelo HDFS e o MapReduce. No entanto, as duas
ferramentas não são suficientes para se trabalhar com Big Data. Por isso,
faz-se necessário outras ferramentas para suprir diferentes necessidades
de negócios, aplicações e arquitetura de dados, ampliando o Hadoop com
mais “aplicações”.
ECOSSITEMA HADOOP - ZOOKEEPER

ZooKeeper é um serviço de coordenação


distribuída para gerenciar grandes conjuntos
de Clusters.
ECOSSITEMA HADOOP - OOZIE

Apache Oozie é um sistema de agendamento


de WorkFlow, usado para gerenciar
principalmente os Jobs de MapReduce.
ECOSSITEMA HADOOP - PIG

Apache Pig, é uma linguagem de


procedimentos de alto nível para consultar
grandes conjuntos de dados semiestruturados
usando Hadoop e a Plataforma MapReduce.
ECOSSITEMA HADOOP - SQOOP

Apache Sqoop, é um projeto do ecossistema


Hadoop, cuja responsabilidade é importar e
exportar dados do banco de dados de dados
relacionais.
ECOSSITEMA HADOOP - SPARK

Apache Spark, é uma ferramenta Big Data para


o processamento de grandes conjuntos de
dados. Foi desenvolvido para substituir o
MapReduce, pois processa 100x mais rápido
que o MapReduce.
ECOSSITEMA HADOOP - HBASE

Apache Hbase, é um banco de Dados não


relacionais, projetado para trabalhar com
grande conjunto de dados (Big Data). É o banco
de dados oficial do hadoop.
ECOSSITEMA HADOOP - FLUME

Apache Flume, é um serviço que permite


enviar dados diretamente para o HDFS. É um
serviço que funciona em ambiente dstribuido
(em cluster) para coletar, agregar e mover
grandes quantidades de dados de forma
eficiente.
ECOSSITEMA HADOOP - MAHOUT

Apache Mahout, é dedicado a Machine


Learning – Data Science. Ele permite a
utilização dos principais algoritmos de
clustering, testes de regressão e modelagem
estatística.
ECOSSITEMA HADOOP - KAFKA
Apache Kafka, é foi desenvolvido pelo Linkedin
e liberado como projeto Open-source em 2011.
O Apache Kafka é um sistema para
gerenciamento de fluxo de dados em tempo
real, gerados a partir de websites, aplicações e
sensores.
SOLUÇÕES
COMERCIAIS
HADOOP
AMAZON ELASTIC MAPREDUCE - EMR

AWS Elastic MapReduce é uma distribuição


Hadoop da Amazon, uma plataforma de análise
de dados bem organizada e construída sobre a
arquitetura HDFS.
HORTONWORKS

HortonWorks Data Plataform (HDP_ é uma


suíte de funcionalidades essenciais para
implementação do Hadoop, que pode ser
usado para qualquer plataforma de Dados.
CLOUDERA

Cloudera, fundada por um grupo de


engenheiros do Yahoo, Google e Facebook,
está focada em fornecer soluções empresariais
do Hadoop.
MAPR

A MapR permite utilização de aplicações


baseadas em Hadoop e Spark, para at ender às
necessidades críticas de negócio, que operam
24/7.
PIVOTAL

Pivotal HD, é uma distribuição comercial do


Hadoop. Ele consiste em um conjunto de
ferramentas que vsam acelerar projetos de análise
de dados e expandir as funcionalidades do Hadoop.
MICROSOFT AZURE

Azure HD Insight é uma distribuição Apache


Hadoop distribuída em Cloud. O Azure lida com
quantidade de dados, de terabytes até
petabytes, e permite a inclusão de nodes sob
demanda.
TRILHA DE
APRENDIZAGEM
HADOOP
TRILHA DE APRENDIZAGEM
Como vimos, o Hadoop é uma ferramenta que abriga diversas aplições
que a deixa mais robusta para armazenar e processar um grande conjunto
de dados – Big Data. E, para ingressar no mercado de Big Data,
recomenda-se seguir um trilha de aprendizagem.

Com a trilha, você saberá qual caminho seguir e qual papel irá
desempenhar ao trabalhar com Big data.
HADOOP PARA INICIANTES
1. HADOOP PARA INICIANTES
Para quem quer ingressar em Big Data, é recomendável e indispensável
que o profissional conheça, na prática, o ambiente Hadoop. E, como todo
bom profissional, possuir uma certificação é imprescindível.

Para quem quer iniciar, recomenda-se o curso:


Hadoop Essentials – Curso de introdução ao ambiente Hadoop
HCA – Certificação Oficial HortonWorks para o Hadoop
HADOOP PARA
DESENVOLVEDORES
2. HADOOP PARA DESENVOLVEDORES
Após realizar o curso Hadoop Essentials, você terá uma noção de como
tudo funciona e como é o ambiente Hadoop.

Se você tem um perfil de desenvolvedor/programador, o próximo passo é


especializar-se nas aplicações Hadoop que integram a parte de
desenvolvimento da plataforma de Big Data (hadoop).
2. HADOOP PARA DESENVOLVEDORES
Alguns cursos para quem deseja trabalhar com Desenvolvimento:

▪ Hadoop Pig & Hive – Linguagem (pig) e Data Warehouse (Hive)


▪ Hadoop Yarn - Gerenciamento e monitoramento de carga de trabalho
▪ Hadoop Storm - Para processar dados de transmissão em tempo real
▪ Hadoop Spark - Para o processamento grande volume de dados
▪ Hadoop Java – Desenvolver aplicações hadoop com Java
▪ Hadoop Hbase – Banco de Dados Nosql para Big Data
HADOOP PARA
ADMINISTRADORES
3. HADOOP PARA ADMINISTRADORES
Caso não tenha se identificado como um desenvolvedor do ambiente
hadoop, você pode optar por ser um administrador da plataforma Hadoop
e gerenciar os clusters e o ambiente de trabalho para os desenvolvedores
e analistas de Big Data.
3. HADOOP PARA ADMINISTRADORES
Para quem deseja trabalhar com administração do ambiente hadoop, é
necessário realizar alguns cursos. São eles:

Hadoop Administration I
Hadoop Administration II
Hadoop Hbase Advanced
HADOOP PARA
ANALISTAS
4. HADOOP PARA ANALISTAS
Bom, se até aqui você não se identificou como Desenvolvedor ou
Administrador do ambiente Hadoop, talvez você seja um Analista.

Se você tem afinidade com matemática, estatística, quer aprender


Machine Learning (aprendizagem de máquina, algoritmo, inteligência
artificial) e analisar dados para obter insights e criar análises preditivas,
você deve fazer o Hadoop Data Science.
CONCLUSÃO
CONCLUSÃO
O Hadoop é um framework (um software que possibilita a implementação
de diversas aplicações para deixa-lo mais robusto) utilizado em Big Data.
Suas aplicações nativas são o HDFS e o MapReduce.

Além disso, o Ecossistema Hadoop é composto por diversas aplicações:


Yarn, Spark, Flume, Kafka, ZooKeepper, Hbase, Hive, Pig etc.
CONCLUSÃO
O Hadoop possui distribuições das empresas: HortonWorks, Cloudera,
Microsoft – Azure, Amazon, Pivotal, MapR etc.

Para ingressar no Big Data, o interessado precisa saber como trabalhar


com o Hadoop. Dentro do Hadoop, é possível trabalhar no
Desenvolvimento, na Administração do ambiente ou com Análise/Ciência
de Dados.