Buscar

Hadoop-Tudo-o-que-voce-precisa-saber

Prévia do material em texto

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
Armazenamento Distribuído (Cluster, 
conjunto de computadores) 
MAP REDUCE
Computação Distribuída (Cluster, conjunto 
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çãoao 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.

Mais conteúdos dessa disciplina