SlideShare uma empresa Scribd logo
1 de 58
A era dos dados!
• Estimativa do tamanho do “universe digital” (IDC)
• 4.4 zettabytes em 2013  44 zettabytes em 2020
• Dilúvio de dados
• Bolsa de Valores de New York gera aproximadamente 4−5 terabytes de dados por dia
• Facebook hospeda mais de 240 bilhões de fotos, crescendo aproximadamente em 7 petabytes
por mês
• O Internet Archive armazena aproximadamente 18.5 petabytes de dados
• O Large Hadron Collider perto de Geneva, Suíça, produz cerca de 30 petabytes de dados por
ano
• Máquinas (IoT) irão gerar mais dados que pessoas
• Logs de máquinas, leitores RFID, redes de sensores, rastreamento GPS de veículos, transações
de varejo
Objetivo: Mais importante que armazenar dados é como extrair valor dos mesmos!
Source: How Does Big Data Make the World Go Round? (IBM) http://www.ibmbigdatahub.com/blog/how-does-big-data-make-world-go-round
2012
https://www.visualcapitalist.com/what-happens-in-an-internet-minute-in-2019/
Big Data
“Dado que é massivo em volume, em relação à demanda de processamento,
com uma variedade de dados estruturados e não estruturados contendo
diferentes padrões de dados para serem analisados.”
Akhtar, Syed Muhammad Fahad. Big Data Architect’s Handbook: A guide to building
proficiency in tools and systems used by leading big data experts. Packt Publishing Ltd, 2018.
• Fatos
• Abordagens tradicionais de armazenamento e processamento NÃO FUNCIONAM devido ao
enorme volume de dados
• Usando a abordagem tradicional, a análise dos dados não seria concluída em um prazo
específico
• Dark Data  informações armazenadas mas não utilizadas pela organização
• Dados podem conter informações valiosas  precisam ser eficientemente armazenados e
acessíveis
• Informações valiosas podem ser usadas para análise preditiva
O que é Big?
• 5 Exabytes: Todas as palavras já faladas por seres
humanos (em texto) Roy Williams (Caltech, 1993)
• 42 Zettabytes: Todas as palavras já faladas for seres
humanos (se digitalizadas em 6kHz 16 bit audio)
Mark Lieberman (U. Penn, 2003)
• 11.5 Exabytes/mês: Tráfico de Internet global em
2017 (CISCO 2019)  Previsão 2022: 77 Exabytes
• 160 Exabytes: Informação digital criada, capturada, e
replicada mundialmente em 2007 (IDC, 2007)
1 Bit Dígito binário
8 Bits 1 Byte
1,024 Bytes 1 KB (Kilobyte)
1,024 KB 1 MB (Megabyte)
1,024 MB 1 GB (Gigabyte)
1,024 GB 1 TB (Terabyte)
1,024 TB 1 PB (Petabyte)
1,024 PB 1 EB (Exabyte)
1,024 EB 1 ZB (Zettabyte)
1,024 ZB 1 YB (Yottabyte)
1,024 YB 1 BB (Brontobyte)
1,024 BB 1 Geopbyte
Big Data – Fases
Enterprise Big Data Professional Guide (https://www.bigdataframework.org)
BIG DATA FASE 1 BIG DATA FASE 2 BIG DATA FASE 3
Período: 1970-2000 Período: 2000-2010 Período: 2010-presente
DBMS-based, dado estruturado
• RDBMS & data warehousing
• ETL - Extract Transfer Load
• OLAP - Online Analytical
Processing
• Dashboards & scorecards
• Data mining & análise estatística
Web-based, dado não estruturado
• Recuperação e extração de
informações
• Mineração de opinião
• Respostas à perguntas
• Web analytics e web intelligence
• Análise de mídia social
• Análise de redes sociais
• Análise espaço-temporal
Conteúdo de dispositivos móveis e
sensores
• Análise com reconhecimento de
local
• Análise centrada na pessoa
• Análise baseado em contexto
• Visualização móvel
• Interação Humano-Computador
Dimensões de Big Data
• 3Vs (interpretação do Gartner – publicado em
whitepaper por Douglas Laney em 2001)
• Volume: escala do dado (recebida e cumulativa)
• Velocidade: análise de dados de streaming
• Variedade: diferentes formatos de dados
• 4Vs (definição da IBM)
• Volume, Velocidade, Variedade
+ Veracidade: incerteza sobre os dados
• 6Vs (Microsoft)
• Volume, Velocidade, Variedade, Veracidade
+ Variabilidade: complexidade do conjunto de dados
(ausência de padrões fixos)
+ Visibilidade: requer imagem completa dos dados para
tomar decisões
• 5Vs (Yuri Demchenko, 2014)
• Volume, Velocidade, Variedade, Veracidade
+ Valor: importância dos resultados obtidos através do
armazenamento, processamento e análise
Buyya, Rajkumar, Rodrigo N. Calheiros, and Amir Vahid Dastjerdi, eds. Big data: principles and paradigms. Morgan Kaufmann, 2016.
Volume
• Passado: as empresas usavam apenas dados criados por seus funcionários
• Agora: dados gerados por dispositivos (IoT) e clientes
• As mídias sociais aumentam a quantidade de dados gerados (vídeos, fotos, tweets,
etc.)
• 6 bilhões (dos 7 bilhões - população mundial) têm telefones celulares
• Os telefones celulares possuem sensores que geram dados para cada evento, que são
armazenados e analisados (exemplo, relatórios de saúde)
• Exemplos
• Facebook
• 2 bilhões de usuários ativos
• 600 TB de dados são ingeridos no banco de dados do Facebook
• Avião a jato
• São gerados 10 TB de dados para cada hora de vôo (escala de petabytes gerados por dia para todos os
vôos)
Velocidade
• Taxa na qual os dados estão sendo gerados - com que rapidez os dados estão
chegando
• Exemplos
• A bolsa de valores de Nova York captura 1 TB de dados durante cada sessão de negociação
• 500 horas de vídeo estão sendo enviadas para o YouTube a cada minuto (2019)
• Os carros modernos têm quase 100 sensores para monitorar cada item, desde a pressão do
combustível e dos pneus até os obstáculos ao redor
• Quase 200 milhões de e-mails são enviados a cada minuto
• Outra dimensão da velocidade é o período de tempo durante o qual os dados
farão sentido e serão valiosos
• Será que envelhece e perde valor ao longo do tempo ou será permanentemente valioso?
Variedade
• Tipos de dados
Enterprise Big Data Professional Guide (https://www.bigdataframework.org)
Dados estruturados Dados não estruturados Dados semi-estruturados Metadados
Baseado em um modelo de
dados pré-definido (formato
tabular com relações entre
linhas e colunas)
Fácil de analisar com
ferramentas tradicionais
Exemplos: arquivos do Excel
ou bancos de dados SQL
Não possui um modelo de
dados pré-definido ou não
está organizado de maneira
pré-definida
Mais difícil de analisar
usando ferramentas
tradicionais usadas para
dados estruturados
Exemplos: arquivos de
áudio, vídeo ou bancos de
dados NOSQL
Tipo de dados estruturados
com menos restrições (em
comparação com bancos de
dados)
Contém tags ou outros
marcadores para separar
elementos e impor hierarquias
de registros e campos nos
dados
Exemplos: JSON e XML
Dados sobre dados
Fornece informações
adicionais sobre um
conjunto específico de
dados
Exemplo: data e local onde
as fotos são tiradas
Veracidade
• Incerteza dos dados
• Pode ser devido a baixa qualidade dos dados ou ruído nos dados
• A veracidade é fundamental para analisar dados e tomar decisões
• Em certas situações, não há tempo para limpar dados de streaming ou
dados de alta velocidade para eliminar a incerteza
• Os dados podem perder valor se levar muito tempo para serem analisados (por exemplo,
dados gerados por sensores)
• A incerteza deve ser levada em consideração
Valor
• Característica mais importante!
• Também se aplica a dados pequenos
• Define se vale a pena armazenar os dados e investir em infraestrutura
para fazer isso
• Um aspecto do valor é que é necessário armazenar uma enorme
quantidade de dados antes que eles possam ser usados para fornecer
informações valiosas
• Não há ganho se os dados armazenados não retornarem valor à organização
Abordagens tradicionais para análise de dados
• Os trabalhos em lote (batch jobs) são programados para migrar dados para Data
Warehouses em um período de dia, semana ou mês
• Os dados têm um esquema e são categorizados como dados estruturados
• Ciclo de análise de processamento para criar conjuntos de dados e extrair
informações significativas
• Ingestão no Data Warehouse por meio de operações ETL (Extrair, Transformar e
Carregar)
• Pega dados brutos e os processa para fins analíticos e geração de relatórios
• O Data Warehouse é otimizado apenas para fins de relatório e análise
• Sistemas principais de Business Intelligence (BI)
Arquitetura de um sistema tradicional de BI
Enterprise Big Data Professional Guide (https://www.bigdataframework.org)
Problemas usando a abordagem tradicional
• Taxa de latência - os relatórios não são em tempo real (levam dias ou
semanas para serem gerados)
• As organizações precisam responder rapidamente
• Fontes limitadas - depende de dados estruturados - atualmente a maioria
das informações não está estruturada (postagens em blogs, análises da web,
fontes de mídia social, postagens, tweets, fotos, vídeos, áudio, registros de
sensores etc.)
• Atualmente, menos de 20% dos dados tem um esquema definido - 80% são dados brutos
sem nenhum padrão específico que possa ser transformado para ser colocado em um
sistema tradicional de banco de dados relacional
• Escala limitada - não pode lidar com uma quantidade crescente de dados
gerados rapidamente
• Por exemplo, carros autônomos geram e consomem 4 TB de dados por dia durante uma
hora de condução
Cluster Computing
• Conjunto de computadores (nós) conectados entre si que atuam como uma única
máquina para o usuário final
• Características
• Alta disponibilidade - os dados devem estar disponíveis o tempo todo, mesmo quando
ocorrem falhas de hardware ou software
• Pool de recursos - vários computadores são conectados um ao outro para atuar como um
único computador
• Escalabilidade fácil - capacidade de armazenamento adicional ou poder computacional podem
ser facilmente adicionados com novas máquinas ao grupo (scale out em vez de scale up)
• Processamento paralelo - cada nó executa uma tarefa em paralelo
• Hardware de commodities - usa hardware usando componentes de prateleira com capacidade
razoável de armazenamento e computação
• Muito mais barato comparado a um servidor de processamento dedicado com hardware poderoso
Cluster Computing
https://www.ibmbigdatahub.com/blog/running-hadoop-cloud
https://www.grotto-networking.com/BBNetVirtualizationDataCenter.html
Infraestrutura
para
Big
Data
e
Cloud
Computing
–
Prof.
Tiago
Ferreto
Disponibilidade de Datasets Públicos
• AWS Public Dataset Program - https://aws.amazon.com/opendata/public-datasets/
• Google Cloud Public Datasets - https://cloud.google.com/public-datasets/
• Registry of Research Data Repositories - https://www.re3data.org/
• Wikipedia downloadable dataset – http://en.wikipedia.org/wiki/Wikipedia:Database_download
• Million Song Dataset - https://labrosa.ee.columbia.edu/millionsong/
• U.S. Government's open data - https://www.data.gov/
• Portal Brasileiro de Dados Abertos- http://dados.gov.br/dataset
• https://github.com/awesomedata/awesome-public-datasets
• Kaggle Datasets - https://www.kaggle.com/datasets
• DataHub - https://datahub.io/
• NYC Taxi & Limousine Commission Trip Record Data -
http://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml
• YFCC100M - https://multimediacommons.wordpress.com/yfcc100m-core-dataset/
Big Data e História do Hadoop
• Início dos anos 2000
• Surgimento de metodologias de armazenamento e processamento ("Big Data") de
provedores de mecanismos de busca (Google e Yahoo!)
• Provedores de mecanismos de busca
• Primeiro grupo a enfrentar problemas de escala na Internet
“Como processar e armazenar índices de todos os
documentos na Internet?”
Big Data e História do Hadoop
• Linha do tempo
• 2003 - O Google lança o white paper “The
Google File System” - sistema de arquivos
escalável e tolerante a falhas
• 2004 - O Google lança o “MapReduce:
Simplified Data Processing on Large
Clusters” - processamento em larga escala
• Ao mesmo tempo - Doug Cutting começa a
trabalhar no Nutch (projeto de web crawler)
• Inspirado nos documentos do Google, ele
decide incorporar os princípios de
armazenamento e processamento, que são
posteriormente transferidos para um novo
projeto chamado Hadoop.
• 2006 - O Hadoop nasce como um projeto de
código aberto da Apache Software
Foundation
Big Data e História do Hadoop
• Ao mesmo tempo em que o projeto Hadoop foi criado, outras inovações
tecnológicas estavam acontecendo (inundação de dados)
• Rápida expansão do comércio eletrônico
• Criação e rápido crescimento da Internet móvel
• Blogs e conteúdo da web orientado ao usuário
• Mídia social
• Além do Hadoop, também levou ao surgimento de outros projetos, como
Spark, Messaging Systems, NoSQL, etc.
O que é o Hadoop?
• Hadoop é uma plataforma de armazenamento e processamento de dados
• Big Data dificulta muito a movimentação de dados
• Conceito central do Hadoop  LOCALIDADE DOS DADOS
• Localidade dos dados refere-se ao processamento dos dados onde residem
• A computação é enviada para os dados, ao invés de solicitar os dados para sua localização
(por exemplo, DBMS)
• O Hadoop permite processar grandes conjuntos de dados localmente nos nós
de um cluster
• Usa uma abordagem shared nothing
• Cada nó processa independentemente um subconjunto de todo o conjunto de dados sem
precisar se comunicar
O que é o Hadoop?
• Sistema Schema-on-read  sem esquema em relação às suas operações de
gravação
• Pode armazenar e processar uma ampla variedade de dados, como:
• Documentos de texto não estruturados
• Documentos JSON ou XML semiestruturados
• Conjuntos bem estruturados de sistemas de banco de dados relacionais
• Em sistemas schema-on-write, como bancos de dados relacionais, os dados são
fortemente tipados e um esquema é predefinido e aplicado em todas as operações
• Os bancos de dados NoSQL são sistemas schema-on-read
• Prós: não precisa de índices, estatísticas ou construções de otimização
• Contras: conjuntos de dados com tamanho maior e dados replicados
• O Hadoop usa uma abordagem de dividir e conquistar para resolver problemas
que aplicam os conceitos de localidade dos dados e não compartilhamento (shared-
nothing)
Cenário commercial do Hadoop
• 2008 – Cloudera
• CDH (Cloudera Distribution of Hadoop)
• 2009 – MapR
• Inclui o MapRFS – solução de armazenamento customizada, baseada no HDFS
• 2011 – HortonWorks
• HDP (Hortonworks Data Platform)
• Cloudera, Hortonworks, e MapR são considerados como “fornecedores puros” de
Hadoop
• Os modelos de negócios são baseados no Hadoop
• Outros fornecedores com distribuições proprietárias (o negócio principal não é o Hadoop) - IBM,
Pivotal, Teradata
• 2014 – ODPi (Open Data Platform Initiative) fundado pelo Hortonworks – odpi.org
• Objetivo: fornecer um conjunto consistente e comercial pronto do núcleo do Hadoop e
componentes selecionados do ecossistema
• Inclui outros fornecedores: IBM, Teradata, EMC, SAS, Pivotal, Splunk e outros
• 2018 – Fusão entre HortonWorks e Cloudera (concluída em Jan 2019)
Releases do Hadoop
• Hadoop 1 (2012)
• Primeira release - HDFS e MapReduce
• Hadoop 2 (2013)
• Introduz o YARN – otimiza a alocação de recursos para várias aplicações
• Hadoop 3 (2017)
• Resolve o problema de SPOF (ponto única de falha) do HDFS - suporta vários namenodes
• O HDFS usa erasure coding - reduz a sobrecarga de armazenamento
• Utilização de contêineres (Docker)
• Suporta a utilização de GPUs para processamento (Deep Learning)
Componentes do Ecossistema Hadoop
• O Ecossistema Hadoop inclui outros
projetos que interagem ou integram
com o Hadoop
• Ingestão de dados
• Análise de dados
• Bancos de dados NoSQL
• Segurança
• Gestão
• Busca
• Aprendizado de Máquina
• Coordenação do fluxo de trabalho
• etc
https://www.edureka.co/blog/hadoop-ecosystem
Alguns exemplos de configuração
• Fonte: https://wiki.apache.org/hadoop/PoweredBy
• Alibaba
• A 15-node cluster dedicated to processing sorts of business data dumped out of database and joining
them together. These data will then be fed into iSearch, our vertical search engine.
• Each node has 8 cores, 16G RAM and 1.4T storage.
• EBay
• 532 nodes cluster (8 * 532 cores, 5.3PB).
• Heavy usage of Java MapReduce, Apache Pig, Apache Hive, Apache HBase
• Using it for Search optimization and Research.
• Facebook
• We use Apache Hadoop to store copies of internal log and dimension data sources and use it as a
source for reporting/analytics and machine learning.
• Currently we have 2 major clusters:
• A 1100-machine cluster with 8800 cores and about 12 PB raw storage.
• A 300-machine cluster with 2400 cores and about 3 PB raw storage.
• Each (commodity) node has 8 cores and 12 TB of storage.
Alguns exemplos de configuração (parte 2)
• Fonte: https://wiki.apache.org/hadoop/PoweredBy
• Last.fm
• 100 nodes
• Dual quad-core Xeon L5520 @ 2.27GHz & L5630 @ 2.13GHz , 24GB RAM, 8TB(4x2TB)/node storage.
• Used for charts calculation, royalty reporting, log analysis, A/B testing, dataset merging
• Also used for large scale audio feature analysis over millions of tracks
• LinkedIn
• ~800 Westmere-based HP SL 170x, with 2x4 cores, 24GB RAM, 6x2TB SATA
• ~1900 Westmere-based SuperMicro X8DTT-H, with 2x6 cores, 24GB RAM, 6x2TB SATA
• ~1400 Sandy Bridge-based SuperMicro with 2x6 cores, 32GB RAM, 6x2TB SATA
• We use these things for discovering People You May Know and other fun facts.
• Spotify
• We use Apache Hadoop for content generation, data aggregation, reporting, analysis and even for
generating music recommendations
• 1650 node cluster : 43,000 virtualized cores, ~70TB RAM, ~65 PB storage
• +20,000 daily Hadoop jobs
Alguns exemplos de configuração (parte 3)
• Fonte: https://wiki.apache.org/hadoop/PoweredBy
• Yahoo!
• More than 100,000 CPUs in >40,000 computers running Hadoop
• Our biggest cluster: 4500 nodes (2*4cpu boxes w 4*1TB disk & 16GB RAM)
• Used to support research for Ad Systems and Web Search
• Also used to do scaling tests to support development of Apache Hadoop on larger clusters
ARQUITETURADO HADOOP
Arquitetura do Hadoop
• Hadoop MapReduce – implementação do modelo de programação MapReduce
• Hadoop YARN (Yet Another Resource Negotiator) – plataforma para gerência dos
recursos computacionais e escalonamento de aplicações
• HDFS (Hadoop Distributed File System) – sistema de arquivos distribuído para
armazenamento dos dados
https://data-flair.training/blogs/hadoop-architecture/
HDFS – Conceitos Básicos
• Arquitetura de cluster mestre-escravo
• Modelo de comunicação em que um processo tem controle sobre um ou mais outros
processos
• NameNode (Mestre)
• Gerencia os metadados do sistema de arquivos
• DataNode (Escravo)
• Responsável por gerenciar o armazenamento em bloco e o acesso a dados de leitura /
gravação
• Também responsável pela replicação de blocos
Arquitetura do HDFS
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
HDFS – Conceitos Básicos
• HDFS é um sistema de arquivos virtual
• Ele aparece como um sistema único, mas seus dados estão
localizados em vários locais diferentes
• Ele é implantado sobre um sistema de arquivos nativo
• Os dados armazenados no HDFS são imutáveis -
não podem ser atualizados depois de confirmados
• Sistema de arquivos WORM (escreva uma vez, leia muitas)
• Os arquivos são divididos em blocos quando
ingeridos no HDFS
• Tamanho padrão = 128 MB (configurável)
• Os blocos são distribuídos e replicados entre um ou mais
nós do cluster
• Os metadados do sistema de arquivos contêm
informações sobre diretórios virtuais, arquivos e blocos
físicos que compõem os arquivos
Interface Web do NameNode
YARN – Conceitos Básicos
• Usa um modelo mestre-escravo como o HDFS
• ResourceManager (Mestre)
• Responsável por escalonar aplicações e conceder os recursos de computação do cluster
• Controla o status das aplicações
• Os recursos são representados como unidades chamadas ”containers" (combinações de
núcleos de CPU e memória)
• Controla a capacidade disponível no cluster - aloca e libera containers para aplicações
• Para cada aplicação submetida, o ResourceManager aloca o primeiro container em um
NodeManager disponível como um processo responsável pela aplicação chamado
"ApplicationMaster"
YARN – Conceitos Básicos
• NodeManager (Escravo)
• Gerencia containers YARN em execução nos nós do cluster
• Monitora o consumo e relata o progresso, o status e a saúde da aplicação ao
ResourceManager
• ApplicationMaster
• Determina os recursos necessários para executar a aplicação (com base na quantidade de
dados a serem processados)
• Orquestra a alocação de recursos para executar estágios da aplicação (por exemplo,
estágios Map e Reduce)
• O ApplicationMaster solicita recursos do ResourceManager em nome da aplicação
• O ResourceManager concede recursos no mesmo ou em outros NodeManagers ao
ApplicationMaster
• Monitora o progresso de tarefas, estágios (grupos de tarefas executados em paralelo) e
dependências
Arquitetura do YARN
1 2
3
4
Interface Web do ResourceManager
MapReduce - Modelo de Programação
• Inspirado nas primitivas
Map e Reduce do Lisp e
outras linguagens de
programação funcionais
• O MapReduce inclui:
• Duas fases de processamento
implementadas pelo
desenvolvedor: fase de Map
e fase de Reduce
• Fase implementada pelo
framework: fase de Shuffle-
and-Sort
Exemplo – Wordcount
https://cs.calvin.edu/courses/cs/374/exercises/12/lab/
Execução do MapReduce no Hadoop
http://hadooptutorial.info/yarn-web-ui/
Spark – Introdução
• Iniciou em 2009 - Berkeley RAD Lab (University of California)
• Criado como uma alternativa ao MapReduce no Hadoop
• O MapReduce não é adequado para consultas interativas ou aplicações de baixa latência em
tempo real
• MapReduce persiste os dados intermediários no disco entre as fases de processamento Map e Reduce
• Benefícios do Spark
• Melhor performance
• Extensibilidade provendo suporte para diferentes cenários
• Acesso SQL, processamento de dados de streaming, processamento de grafos e NoSQL, aprendizado de
máquina, etc.
• Projeto ASF - http://spark.apache.org/
• Vários colaboradores: Facebook, Yahoo!, Intel, Netflix, Databricks, etc
Spark – Características
• Escrito em Scala (construído sobre o runtime do Java)
• Multi-plataforma (suporta Windows e Linux)
• Permite que os desenvolvedores criem rotinas complexas de processamento de
dados em vários estágios
• Fornece uma API de alto nível e estrutura tolerante a falhas
• O Spark implementa uma estrutura distribuída, tolerante a falhas e em memória,
denominada RDD (Conjunto de dados distribuídos resilientes)
• Maximiza o uso de memória entre máquinas  melhora o desempenho em ordens de
magnitude
• Suporta diversas linguagens de programação: Scala, Python, Java, SQL, R e outros
(Clojure, Julia, etc)
Entrada e saída
• Suporta diversos sistemas para entrada e saída de dados
• HDFS
• Sistemas de arquivos local ou em rede
• Armazenamento baseado em objetos (ex. Amazon S3 or Ceph)
• RDBMS (Sistemas de Bancos de Dados Relacionais)
• Bancos de dados NoSQL (Apache Cassandra, HBase, etc)
• Sistemas de mensagens (Kafka)
Spark – Arquitetura
Spark Driver
• Escalonamento – coordena a execução dos estágios e tarefas
• Principais atividades
• Acompanha os recursos disponíveis para executar tarefas
• Agenda tarefas próximas aos dados
• Coordena a localização e movimentação de dados entre as etapas de processamento
https://www.sigmoid.com/apache-spark-internals/
Spark Driver – Interface Web
https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-webui.html
Spark – Extensões
• SparkSQL
• Fornece abstração do tipo SQL para a API principal do Spark
• Spark Streaming
• Introduz objetos e funções projetados para processar fluxos de dados
• Suporta operações de processamento de fluxo (operações de estado e janela deslizante)
• SparkR
• Fornece acesso ao Spark e operações com dataframes distribuídos usando a linguagem R
• MLlib
• Biblioteca integrada no Spark para aprendizado de máquina
• Inclui algoritmos e utilitários comuns de aprendizado de máquina para preparação de dados, extração de
features, treinamento de modelos e testes
• GraphX
• Processamento de grafos com Spark
• Fornece um conjunto completo de abstrações, transformações e algoritmos para processamento de grafos
BIG DATA& CLOUD COMPUTING
Infraestrutura
para
Big
Data
e
Cloud
Computing
–
Prof.
Tiago
Ferreto
Cloud versus infraestrutura on-premises
On-premises Cloud
Custo
Grande custo inicial. Precisa configurar servidores
de ponta, rede, armazenamento.
Evita os custos de inicialização. Aumento da
demanda e pagamento por uso.
Segurança
Sentimento de maior segurança. Controle sobre
quem está acessando seus dados, quando são
usados e com que finalidade.
Não há garantias sobre onde estão os dados, como
estão sendo gerenciados ou quem pode acessá-
los. Os fornecedores visam garantir que todas as
informações colocadas na nuvem sejam seguras e
protegidas (por exemplo, mecanismos de
criptografia, redundância e replicação geográfica).
Equipe
Requer pessoal local para instalar, gerenciar e
dar suporte à infraestrutura
Também requer equipe, mas com foco no
problema.
Escalabilidade
Requer avaliação adicional da capacidade
necessária para adquirir hardware. Dependendo
da análise da demanda de capacidade, pode
haver uma grande quantidade de recursos
ociosos.
Recursos podem ser adicionados sob demanda
Infraestrutura
para
Big
Data
e
Cloud
Computing
–
Prof.
Tiago
Ferreto
AWS – EMR (Elastic MapReduce)
• EMR (Elastic MapReduce) – Amazon’s Hadoop-as-a-Service platform
• Permite criar clusters com um número específico de nós, tipos de instância de
nó (EC2), distribuição do Hadoop e aplicativos adicionais do ecossistema
• Usa o S3 para ler / gravar dados
• Provisionado sob demanda
• https://aws.amazon.com/emr/
Infraestrutura
para
Big
Data
e
Cloud
Computing
–
Prof.
Tiago
Ferreto
MicrosoftAzure HDInsight
• https://azure.microsoft.com/en-us/services/hdinsight/
Infraestrutura
para
Big
Data
e
Cloud
Computing
–
Prof.
Tiago
Ferreto
Google Cloud Dataproc
• https://cloud.google.com/dataproc/
Infraestrutura
para
Big
Data
e
Cloud
Computing
–
Prof.
Tiago
Ferreto
Referências – Big Data
1. RAJ, Pethuru (Ed.). Handbook of research on cloud
infrastructures for big data analytics. IGI Global, 2014.
2. GUPTA, Sumit et al. Real-Time Big Data Analytics.
Packt Publishing Ltd, 2016.
3. RYZA, S.; LASERSON, U.; OWEN, S.; WILLS,J.
Advanced Analytics with Spark: Patterns for Learning
from Data at Scale. O Reilly Media, 2017.
Infraestrutura
para
Big
Data
e
Cloud
Computing
–
Prof.
Tiago
Ferreto
Referências – Cloud Computing
1. BENATALLAH, B. Cloud Computing – Methodology,
Systems, and Applications. CRC Press. 2011.
2. ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing:
Concepts, Technology & Architecture. Prentice Hall. 2013.
3. FOX, G; DONGARRA, J.; HWANG, K. Distributed and
Cloud Computing. Morgan Kaufmann. 2013.
4. JACKSON, K. OpenStack Cloud Computing Cookbook.
Packt Publishing Ltd. 2012.
5. SABHARWAL, N; SHANKAR R. S.. Apache CloudStack
Computing. Packt Publishing Ltd. 2013.
6. LUCIFREDI, F; RYAN, M. AWS System Administration.
O’Reilly Media, Inc. 2018

Mais conteúdo relacionado

Semelhante a A era dos dados: volume, velocidade e variedade crescem exponencialmente

Governança de Dados e Big Data_v02
Governança de Dados e Big Data_v02Governança de Dados e Big Data_v02
Governança de Dados e Big Data_v02Carlos Barbieri
 
Governança de Dados e Big Data
Governança de Dados e Big DataGovernança de Dados e Big Data
Governança de Dados e Big DataCarlos Barbieri
 
BIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à PraticaBIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à PraticaDaniel Checchia
 
Apresentacao ForumRNP 2015 - Daniela Brauner
Apresentacao ForumRNP 2015 - Daniela BraunerApresentacao ForumRNP 2015 - Daniela Brauner
Apresentacao ForumRNP 2015 - Daniela BraunerDaniela Brauner
 
Big data: Conceitos e Desafios
Big data: Conceitos e DesafiosBig data: Conceitos e Desafios
Big data: Conceitos e DesafiosFlávio Sousa
 
aula01_Fundamentos de Banco de Dados.pptx.pdf
aula01_Fundamentos de Banco de Dados.pptx.pdfaula01_Fundamentos de Banco de Dados.pptx.pdf
aula01_Fundamentos de Banco de Dados.pptx.pdfssuser7a84f91
 
Pentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesPentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesAmbiente Livre
 
Carreira do profissional de dados
Carreira do profissional de dadosCarreira do profissional de dados
Carreira do profissional de dadosEdvaldo Castro
 
Big Query - Escalabilidade Infinita para os seus Dados
Big Query  - Escalabilidade Infinita para os seus DadosBig Query  - Escalabilidade Infinita para os seus Dados
Big Query - Escalabilidade Infinita para os seus DadosAlvaro Viebrantz
 
Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?Denodo
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaGlaucio Scheibel
 
Palestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowarePalestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowareMarcos Vinicius Fidelis
 
Big Data e Data Science - Tecnologia e Mercado
Big Data e Data Science - Tecnologia e MercadoBig Data e Data Science - Tecnologia e Mercado
Big Data e Data Science - Tecnologia e MercadoHélio Silva
 
Data warehousing - Técnicas e procedimentos
Data warehousing - Técnicas e procedimentosData warehousing - Técnicas e procedimentos
Data warehousing - Técnicas e procedimentosMarcos Pessoa
 
OS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATAOS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATALeonardo Dias
 

Semelhante a A era dos dados: volume, velocidade e variedade crescem exponencialmente (20)

Big Data
Big DataBig Data
Big Data
 
Big data
Big dataBig data
Big data
 
Governança de Dados e Big Data_v02
Governança de Dados e Big Data_v02Governança de Dados e Big Data_v02
Governança de Dados e Big Data_v02
 
Governança de Dados e Big Data
Governança de Dados e Big DataGovernança de Dados e Big Data
Governança de Dados e Big Data
 
BIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à PraticaBIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à Pratica
 
Apresentacao ForumRNP 2015 - Daniela Brauner
Apresentacao ForumRNP 2015 - Daniela BraunerApresentacao ForumRNP 2015 - Daniela Brauner
Apresentacao ForumRNP 2015 - Daniela Brauner
 
Big data: Conceitos e Desafios
Big data: Conceitos e DesafiosBig data: Conceitos e Desafios
Big data: Conceitos e Desafios
 
aula01_Fundamentos de Banco de Dados.pptx.pdf
aula01_Fundamentos de Banco de Dados.pptx.pdfaula01_Fundamentos de Banco de Dados.pptx.pdf
aula01_Fundamentos de Banco de Dados.pptx.pdf
 
Pentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesPentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data Lakes
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Carreira do profissional de dados
Carreira do profissional de dadosCarreira do profissional de dados
Carreira do profissional de dados
 
Big Query - Escalabilidade Infinita para os seus Dados
Big Query  - Escalabilidade Infinita para os seus DadosBig Query  - Escalabilidade Infinita para os seus Dados
Big Query - Escalabilidade Infinita para os seus Dados
 
Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?
 
BigData
BigDataBigData
BigData
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
Palestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowarePalestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinoware
 
Big Data e Data Science - Tecnologia e Mercado
Big Data e Data Science - Tecnologia e MercadoBig Data e Data Science - Tecnologia e Mercado
Big Data e Data Science - Tecnologia e Mercado
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
Data warehousing - Técnicas e procedimentos
Data warehousing - Técnicas e procedimentosData warehousing - Técnicas e procedimentos
Data warehousing - Técnicas e procedimentos
 
OS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATAOS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATA
 

A era dos dados: volume, velocidade e variedade crescem exponencialmente

  • 1. A era dos dados! • Estimativa do tamanho do “universe digital” (IDC) • 4.4 zettabytes em 2013  44 zettabytes em 2020 • Dilúvio de dados • Bolsa de Valores de New York gera aproximadamente 4−5 terabytes de dados por dia • Facebook hospeda mais de 240 bilhões de fotos, crescendo aproximadamente em 7 petabytes por mês • O Internet Archive armazena aproximadamente 18.5 petabytes de dados • O Large Hadron Collider perto de Geneva, Suíça, produz cerca de 30 petabytes de dados por ano • Máquinas (IoT) irão gerar mais dados que pessoas • Logs de máquinas, leitores RFID, redes de sensores, rastreamento GPS de veículos, transações de varejo Objetivo: Mais importante que armazenar dados é como extrair valor dos mesmos!
  • 2. Source: How Does Big Data Make the World Go Round? (IBM) http://www.ibmbigdatahub.com/blog/how-does-big-data-make-world-go-round 2012
  • 4. Big Data “Dado que é massivo em volume, em relação à demanda de processamento, com uma variedade de dados estruturados e não estruturados contendo diferentes padrões de dados para serem analisados.” Akhtar, Syed Muhammad Fahad. Big Data Architect’s Handbook: A guide to building proficiency in tools and systems used by leading big data experts. Packt Publishing Ltd, 2018. • Fatos • Abordagens tradicionais de armazenamento e processamento NÃO FUNCIONAM devido ao enorme volume de dados • Usando a abordagem tradicional, a análise dos dados não seria concluída em um prazo específico • Dark Data  informações armazenadas mas não utilizadas pela organização • Dados podem conter informações valiosas  precisam ser eficientemente armazenados e acessíveis • Informações valiosas podem ser usadas para análise preditiva
  • 5. O que é Big? • 5 Exabytes: Todas as palavras já faladas por seres humanos (em texto) Roy Williams (Caltech, 1993) • 42 Zettabytes: Todas as palavras já faladas for seres humanos (se digitalizadas em 6kHz 16 bit audio) Mark Lieberman (U. Penn, 2003) • 11.5 Exabytes/mês: Tráfico de Internet global em 2017 (CISCO 2019)  Previsão 2022: 77 Exabytes • 160 Exabytes: Informação digital criada, capturada, e replicada mundialmente em 2007 (IDC, 2007) 1 Bit Dígito binário 8 Bits 1 Byte 1,024 Bytes 1 KB (Kilobyte) 1,024 KB 1 MB (Megabyte) 1,024 MB 1 GB (Gigabyte) 1,024 GB 1 TB (Terabyte) 1,024 TB 1 PB (Petabyte) 1,024 PB 1 EB (Exabyte) 1,024 EB 1 ZB (Zettabyte) 1,024 ZB 1 YB (Yottabyte) 1,024 YB 1 BB (Brontobyte) 1,024 BB 1 Geopbyte
  • 6. Big Data – Fases Enterprise Big Data Professional Guide (https://www.bigdataframework.org) BIG DATA FASE 1 BIG DATA FASE 2 BIG DATA FASE 3 Período: 1970-2000 Período: 2000-2010 Período: 2010-presente DBMS-based, dado estruturado • RDBMS & data warehousing • ETL - Extract Transfer Load • OLAP - Online Analytical Processing • Dashboards & scorecards • Data mining & análise estatística Web-based, dado não estruturado • Recuperação e extração de informações • Mineração de opinião • Respostas à perguntas • Web analytics e web intelligence • Análise de mídia social • Análise de redes sociais • Análise espaço-temporal Conteúdo de dispositivos móveis e sensores • Análise com reconhecimento de local • Análise centrada na pessoa • Análise baseado em contexto • Visualização móvel • Interação Humano-Computador
  • 7. Dimensões de Big Data • 3Vs (interpretação do Gartner – publicado em whitepaper por Douglas Laney em 2001) • Volume: escala do dado (recebida e cumulativa) • Velocidade: análise de dados de streaming • Variedade: diferentes formatos de dados • 4Vs (definição da IBM) • Volume, Velocidade, Variedade + Veracidade: incerteza sobre os dados • 6Vs (Microsoft) • Volume, Velocidade, Variedade, Veracidade + Variabilidade: complexidade do conjunto de dados (ausência de padrões fixos) + Visibilidade: requer imagem completa dos dados para tomar decisões • 5Vs (Yuri Demchenko, 2014) • Volume, Velocidade, Variedade, Veracidade + Valor: importância dos resultados obtidos através do armazenamento, processamento e análise Buyya, Rajkumar, Rodrigo N. Calheiros, and Amir Vahid Dastjerdi, eds. Big data: principles and paradigms. Morgan Kaufmann, 2016.
  • 8. Volume • Passado: as empresas usavam apenas dados criados por seus funcionários • Agora: dados gerados por dispositivos (IoT) e clientes • As mídias sociais aumentam a quantidade de dados gerados (vídeos, fotos, tweets, etc.) • 6 bilhões (dos 7 bilhões - população mundial) têm telefones celulares • Os telefones celulares possuem sensores que geram dados para cada evento, que são armazenados e analisados (exemplo, relatórios de saúde) • Exemplos • Facebook • 2 bilhões de usuários ativos • 600 TB de dados são ingeridos no banco de dados do Facebook • Avião a jato • São gerados 10 TB de dados para cada hora de vôo (escala de petabytes gerados por dia para todos os vôos)
  • 9. Velocidade • Taxa na qual os dados estão sendo gerados - com que rapidez os dados estão chegando • Exemplos • A bolsa de valores de Nova York captura 1 TB de dados durante cada sessão de negociação • 500 horas de vídeo estão sendo enviadas para o YouTube a cada minuto (2019) • Os carros modernos têm quase 100 sensores para monitorar cada item, desde a pressão do combustível e dos pneus até os obstáculos ao redor • Quase 200 milhões de e-mails são enviados a cada minuto • Outra dimensão da velocidade é o período de tempo durante o qual os dados farão sentido e serão valiosos • Será que envelhece e perde valor ao longo do tempo ou será permanentemente valioso?
  • 10. Variedade • Tipos de dados Enterprise Big Data Professional Guide (https://www.bigdataframework.org) Dados estruturados Dados não estruturados Dados semi-estruturados Metadados Baseado em um modelo de dados pré-definido (formato tabular com relações entre linhas e colunas) Fácil de analisar com ferramentas tradicionais Exemplos: arquivos do Excel ou bancos de dados SQL Não possui um modelo de dados pré-definido ou não está organizado de maneira pré-definida Mais difícil de analisar usando ferramentas tradicionais usadas para dados estruturados Exemplos: arquivos de áudio, vídeo ou bancos de dados NOSQL Tipo de dados estruturados com menos restrições (em comparação com bancos de dados) Contém tags ou outros marcadores para separar elementos e impor hierarquias de registros e campos nos dados Exemplos: JSON e XML Dados sobre dados Fornece informações adicionais sobre um conjunto específico de dados Exemplo: data e local onde as fotos são tiradas
  • 11. Veracidade • Incerteza dos dados • Pode ser devido a baixa qualidade dos dados ou ruído nos dados • A veracidade é fundamental para analisar dados e tomar decisões • Em certas situações, não há tempo para limpar dados de streaming ou dados de alta velocidade para eliminar a incerteza • Os dados podem perder valor se levar muito tempo para serem analisados (por exemplo, dados gerados por sensores) • A incerteza deve ser levada em consideração
  • 12. Valor • Característica mais importante! • Também se aplica a dados pequenos • Define se vale a pena armazenar os dados e investir em infraestrutura para fazer isso • Um aspecto do valor é que é necessário armazenar uma enorme quantidade de dados antes que eles possam ser usados para fornecer informações valiosas • Não há ganho se os dados armazenados não retornarem valor à organização
  • 13. Abordagens tradicionais para análise de dados • Os trabalhos em lote (batch jobs) são programados para migrar dados para Data Warehouses em um período de dia, semana ou mês • Os dados têm um esquema e são categorizados como dados estruturados • Ciclo de análise de processamento para criar conjuntos de dados e extrair informações significativas • Ingestão no Data Warehouse por meio de operações ETL (Extrair, Transformar e Carregar) • Pega dados brutos e os processa para fins analíticos e geração de relatórios • O Data Warehouse é otimizado apenas para fins de relatório e análise • Sistemas principais de Business Intelligence (BI)
  • 14. Arquitetura de um sistema tradicional de BI Enterprise Big Data Professional Guide (https://www.bigdataframework.org)
  • 15. Problemas usando a abordagem tradicional • Taxa de latência - os relatórios não são em tempo real (levam dias ou semanas para serem gerados) • As organizações precisam responder rapidamente • Fontes limitadas - depende de dados estruturados - atualmente a maioria das informações não está estruturada (postagens em blogs, análises da web, fontes de mídia social, postagens, tweets, fotos, vídeos, áudio, registros de sensores etc.) • Atualmente, menos de 20% dos dados tem um esquema definido - 80% são dados brutos sem nenhum padrão específico que possa ser transformado para ser colocado em um sistema tradicional de banco de dados relacional • Escala limitada - não pode lidar com uma quantidade crescente de dados gerados rapidamente • Por exemplo, carros autônomos geram e consomem 4 TB de dados por dia durante uma hora de condução
  • 16. Cluster Computing • Conjunto de computadores (nós) conectados entre si que atuam como uma única máquina para o usuário final • Características • Alta disponibilidade - os dados devem estar disponíveis o tempo todo, mesmo quando ocorrem falhas de hardware ou software • Pool de recursos - vários computadores são conectados um ao outro para atuar como um único computador • Escalabilidade fácil - capacidade de armazenamento adicional ou poder computacional podem ser facilmente adicionados com novas máquinas ao grupo (scale out em vez de scale up) • Processamento paralelo - cada nó executa uma tarefa em paralelo • Hardware de commodities - usa hardware usando componentes de prateleira com capacidade razoável de armazenamento e computação • Muito mais barato comparado a um servidor de processamento dedicado com hardware poderoso
  • 18. Infraestrutura para Big Data e Cloud Computing – Prof. Tiago Ferreto Disponibilidade de Datasets Públicos • AWS Public Dataset Program - https://aws.amazon.com/opendata/public-datasets/ • Google Cloud Public Datasets - https://cloud.google.com/public-datasets/ • Registry of Research Data Repositories - https://www.re3data.org/ • Wikipedia downloadable dataset – http://en.wikipedia.org/wiki/Wikipedia:Database_download • Million Song Dataset - https://labrosa.ee.columbia.edu/millionsong/ • U.S. Government's open data - https://www.data.gov/ • Portal Brasileiro de Dados Abertos- http://dados.gov.br/dataset • https://github.com/awesomedata/awesome-public-datasets • Kaggle Datasets - https://www.kaggle.com/datasets • DataHub - https://datahub.io/ • NYC Taxi & Limousine Commission Trip Record Data - http://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml • YFCC100M - https://multimediacommons.wordpress.com/yfcc100m-core-dataset/
  • 19.
  • 20. Big Data e História do Hadoop • Início dos anos 2000 • Surgimento de metodologias de armazenamento e processamento ("Big Data") de provedores de mecanismos de busca (Google e Yahoo!) • Provedores de mecanismos de busca • Primeiro grupo a enfrentar problemas de escala na Internet “Como processar e armazenar índices de todos os documentos na Internet?”
  • 21. Big Data e História do Hadoop • Linha do tempo • 2003 - O Google lança o white paper “The Google File System” - sistema de arquivos escalável e tolerante a falhas • 2004 - O Google lança o “MapReduce: Simplified Data Processing on Large Clusters” - processamento em larga escala • Ao mesmo tempo - Doug Cutting começa a trabalhar no Nutch (projeto de web crawler) • Inspirado nos documentos do Google, ele decide incorporar os princípios de armazenamento e processamento, que são posteriormente transferidos para um novo projeto chamado Hadoop. • 2006 - O Hadoop nasce como um projeto de código aberto da Apache Software Foundation
  • 22. Big Data e História do Hadoop • Ao mesmo tempo em que o projeto Hadoop foi criado, outras inovações tecnológicas estavam acontecendo (inundação de dados) • Rápida expansão do comércio eletrônico • Criação e rápido crescimento da Internet móvel • Blogs e conteúdo da web orientado ao usuário • Mídia social • Além do Hadoop, também levou ao surgimento de outros projetos, como Spark, Messaging Systems, NoSQL, etc.
  • 23. O que é o Hadoop? • Hadoop é uma plataforma de armazenamento e processamento de dados • Big Data dificulta muito a movimentação de dados • Conceito central do Hadoop  LOCALIDADE DOS DADOS • Localidade dos dados refere-se ao processamento dos dados onde residem • A computação é enviada para os dados, ao invés de solicitar os dados para sua localização (por exemplo, DBMS) • O Hadoop permite processar grandes conjuntos de dados localmente nos nós de um cluster • Usa uma abordagem shared nothing • Cada nó processa independentemente um subconjunto de todo o conjunto de dados sem precisar se comunicar
  • 24. O que é o Hadoop? • Sistema Schema-on-read  sem esquema em relação às suas operações de gravação • Pode armazenar e processar uma ampla variedade de dados, como: • Documentos de texto não estruturados • Documentos JSON ou XML semiestruturados • Conjuntos bem estruturados de sistemas de banco de dados relacionais • Em sistemas schema-on-write, como bancos de dados relacionais, os dados são fortemente tipados e um esquema é predefinido e aplicado em todas as operações • Os bancos de dados NoSQL são sistemas schema-on-read • Prós: não precisa de índices, estatísticas ou construções de otimização • Contras: conjuntos de dados com tamanho maior e dados replicados • O Hadoop usa uma abordagem de dividir e conquistar para resolver problemas que aplicam os conceitos de localidade dos dados e não compartilhamento (shared- nothing)
  • 25. Cenário commercial do Hadoop • 2008 – Cloudera • CDH (Cloudera Distribution of Hadoop) • 2009 – MapR • Inclui o MapRFS – solução de armazenamento customizada, baseada no HDFS • 2011 – HortonWorks • HDP (Hortonworks Data Platform) • Cloudera, Hortonworks, e MapR são considerados como “fornecedores puros” de Hadoop • Os modelos de negócios são baseados no Hadoop • Outros fornecedores com distribuições proprietárias (o negócio principal não é o Hadoop) - IBM, Pivotal, Teradata • 2014 – ODPi (Open Data Platform Initiative) fundado pelo Hortonworks – odpi.org • Objetivo: fornecer um conjunto consistente e comercial pronto do núcleo do Hadoop e componentes selecionados do ecossistema • Inclui outros fornecedores: IBM, Teradata, EMC, SAS, Pivotal, Splunk e outros • 2018 – Fusão entre HortonWorks e Cloudera (concluída em Jan 2019)
  • 26. Releases do Hadoop • Hadoop 1 (2012) • Primeira release - HDFS e MapReduce • Hadoop 2 (2013) • Introduz o YARN – otimiza a alocação de recursos para várias aplicações • Hadoop 3 (2017) • Resolve o problema de SPOF (ponto única de falha) do HDFS - suporta vários namenodes • O HDFS usa erasure coding - reduz a sobrecarga de armazenamento • Utilização de contêineres (Docker) • Suporta a utilização de GPUs para processamento (Deep Learning)
  • 27. Componentes do Ecossistema Hadoop • O Ecossistema Hadoop inclui outros projetos que interagem ou integram com o Hadoop • Ingestão de dados • Análise de dados • Bancos de dados NoSQL • Segurança • Gestão • Busca • Aprendizado de Máquina • Coordenação do fluxo de trabalho • etc https://www.edureka.co/blog/hadoop-ecosystem
  • 28. Alguns exemplos de configuração • Fonte: https://wiki.apache.org/hadoop/PoweredBy • Alibaba • A 15-node cluster dedicated to processing sorts of business data dumped out of database and joining them together. These data will then be fed into iSearch, our vertical search engine. • Each node has 8 cores, 16G RAM and 1.4T storage. • EBay • 532 nodes cluster (8 * 532 cores, 5.3PB). • Heavy usage of Java MapReduce, Apache Pig, Apache Hive, Apache HBase • Using it for Search optimization and Research. • Facebook • We use Apache Hadoop to store copies of internal log and dimension data sources and use it as a source for reporting/analytics and machine learning. • Currently we have 2 major clusters: • A 1100-machine cluster with 8800 cores and about 12 PB raw storage. • A 300-machine cluster with 2400 cores and about 3 PB raw storage. • Each (commodity) node has 8 cores and 12 TB of storage.
  • 29. Alguns exemplos de configuração (parte 2) • Fonte: https://wiki.apache.org/hadoop/PoweredBy • Last.fm • 100 nodes • Dual quad-core Xeon L5520 @ 2.27GHz & L5630 @ 2.13GHz , 24GB RAM, 8TB(4x2TB)/node storage. • Used for charts calculation, royalty reporting, log analysis, A/B testing, dataset merging • Also used for large scale audio feature analysis over millions of tracks • LinkedIn • ~800 Westmere-based HP SL 170x, with 2x4 cores, 24GB RAM, 6x2TB SATA • ~1900 Westmere-based SuperMicro X8DTT-H, with 2x6 cores, 24GB RAM, 6x2TB SATA • ~1400 Sandy Bridge-based SuperMicro with 2x6 cores, 32GB RAM, 6x2TB SATA • We use these things for discovering People You May Know and other fun facts. • Spotify • We use Apache Hadoop for content generation, data aggregation, reporting, analysis and even for generating music recommendations • 1650 node cluster : 43,000 virtualized cores, ~70TB RAM, ~65 PB storage • +20,000 daily Hadoop jobs
  • 30. Alguns exemplos de configuração (parte 3) • Fonte: https://wiki.apache.org/hadoop/PoweredBy • Yahoo! • More than 100,000 CPUs in >40,000 computers running Hadoop • Our biggest cluster: 4500 nodes (2*4cpu boxes w 4*1TB disk & 16GB RAM) • Used to support research for Ad Systems and Web Search • Also used to do scaling tests to support development of Apache Hadoop on larger clusters
  • 32. Arquitetura do Hadoop • Hadoop MapReduce – implementação do modelo de programação MapReduce • Hadoop YARN (Yet Another Resource Negotiator) – plataforma para gerência dos recursos computacionais e escalonamento de aplicações • HDFS (Hadoop Distributed File System) – sistema de arquivos distribuído para armazenamento dos dados https://data-flair.training/blogs/hadoop-architecture/
  • 33. HDFS – Conceitos Básicos • Arquitetura de cluster mestre-escravo • Modelo de comunicação em que um processo tem controle sobre um ou mais outros processos • NameNode (Mestre) • Gerencia os metadados do sistema de arquivos • DataNode (Escravo) • Responsável por gerenciar o armazenamento em bloco e o acesso a dados de leitura / gravação • Também responsável pela replicação de blocos
  • 35. HDFS – Conceitos Básicos • HDFS é um sistema de arquivos virtual • Ele aparece como um sistema único, mas seus dados estão localizados em vários locais diferentes • Ele é implantado sobre um sistema de arquivos nativo • Os dados armazenados no HDFS são imutáveis - não podem ser atualizados depois de confirmados • Sistema de arquivos WORM (escreva uma vez, leia muitas) • Os arquivos são divididos em blocos quando ingeridos no HDFS • Tamanho padrão = 128 MB (configurável) • Os blocos são distribuídos e replicados entre um ou mais nós do cluster • Os metadados do sistema de arquivos contêm informações sobre diretórios virtuais, arquivos e blocos físicos que compõem os arquivos
  • 36. Interface Web do NameNode
  • 37. YARN – Conceitos Básicos • Usa um modelo mestre-escravo como o HDFS • ResourceManager (Mestre) • Responsável por escalonar aplicações e conceder os recursos de computação do cluster • Controla o status das aplicações • Os recursos são representados como unidades chamadas ”containers" (combinações de núcleos de CPU e memória) • Controla a capacidade disponível no cluster - aloca e libera containers para aplicações • Para cada aplicação submetida, o ResourceManager aloca o primeiro container em um NodeManager disponível como um processo responsável pela aplicação chamado "ApplicationMaster"
  • 38. YARN – Conceitos Básicos • NodeManager (Escravo) • Gerencia containers YARN em execução nos nós do cluster • Monitora o consumo e relata o progresso, o status e a saúde da aplicação ao ResourceManager • ApplicationMaster • Determina os recursos necessários para executar a aplicação (com base na quantidade de dados a serem processados) • Orquestra a alocação de recursos para executar estágios da aplicação (por exemplo, estágios Map e Reduce) • O ApplicationMaster solicita recursos do ResourceManager em nome da aplicação • O ResourceManager concede recursos no mesmo ou em outros NodeManagers ao ApplicationMaster • Monitora o progresso de tarefas, estágios (grupos de tarefas executados em paralelo) e dependências
  • 40. Interface Web do ResourceManager
  • 41. MapReduce - Modelo de Programação • Inspirado nas primitivas Map e Reduce do Lisp e outras linguagens de programação funcionais • O MapReduce inclui: • Duas fases de processamento implementadas pelo desenvolvedor: fase de Map e fase de Reduce • Fase implementada pelo framework: fase de Shuffle- and-Sort
  • 43. Execução do MapReduce no Hadoop http://hadooptutorial.info/yarn-web-ui/
  • 44.
  • 45. Spark – Introdução • Iniciou em 2009 - Berkeley RAD Lab (University of California) • Criado como uma alternativa ao MapReduce no Hadoop • O MapReduce não é adequado para consultas interativas ou aplicações de baixa latência em tempo real • MapReduce persiste os dados intermediários no disco entre as fases de processamento Map e Reduce • Benefícios do Spark • Melhor performance • Extensibilidade provendo suporte para diferentes cenários • Acesso SQL, processamento de dados de streaming, processamento de grafos e NoSQL, aprendizado de máquina, etc. • Projeto ASF - http://spark.apache.org/ • Vários colaboradores: Facebook, Yahoo!, Intel, Netflix, Databricks, etc
  • 46. Spark – Características • Escrito em Scala (construído sobre o runtime do Java) • Multi-plataforma (suporta Windows e Linux) • Permite que os desenvolvedores criem rotinas complexas de processamento de dados em vários estágios • Fornece uma API de alto nível e estrutura tolerante a falhas • O Spark implementa uma estrutura distribuída, tolerante a falhas e em memória, denominada RDD (Conjunto de dados distribuídos resilientes) • Maximiza o uso de memória entre máquinas  melhora o desempenho em ordens de magnitude • Suporta diversas linguagens de programação: Scala, Python, Java, SQL, R e outros (Clojure, Julia, etc)
  • 47. Entrada e saída • Suporta diversos sistemas para entrada e saída de dados • HDFS • Sistemas de arquivos local ou em rede • Armazenamento baseado em objetos (ex. Amazon S3 or Ceph) • RDBMS (Sistemas de Bancos de Dados Relacionais) • Bancos de dados NoSQL (Apache Cassandra, HBase, etc) • Sistemas de mensagens (Kafka)
  • 49. Spark Driver • Escalonamento – coordena a execução dos estágios e tarefas • Principais atividades • Acompanha os recursos disponíveis para executar tarefas • Agenda tarefas próximas aos dados • Coordena a localização e movimentação de dados entre as etapas de processamento https://www.sigmoid.com/apache-spark-internals/
  • 50. Spark Driver – Interface Web https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-webui.html
  • 51. Spark – Extensões • SparkSQL • Fornece abstração do tipo SQL para a API principal do Spark • Spark Streaming • Introduz objetos e funções projetados para processar fluxos de dados • Suporta operações de processamento de fluxo (operações de estado e janela deslizante) • SparkR • Fornece acesso ao Spark e operações com dataframes distribuídos usando a linguagem R • MLlib • Biblioteca integrada no Spark para aprendizado de máquina • Inclui algoritmos e utilitários comuns de aprendizado de máquina para preparação de dados, extração de features, treinamento de modelos e testes • GraphX • Processamento de grafos com Spark • Fornece um conjunto completo de abstrações, transformações e algoritmos para processamento de grafos
  • 52. BIG DATA& CLOUD COMPUTING
  • 53. Infraestrutura para Big Data e Cloud Computing – Prof. Tiago Ferreto Cloud versus infraestrutura on-premises On-premises Cloud Custo Grande custo inicial. Precisa configurar servidores de ponta, rede, armazenamento. Evita os custos de inicialização. Aumento da demanda e pagamento por uso. Segurança Sentimento de maior segurança. Controle sobre quem está acessando seus dados, quando são usados e com que finalidade. Não há garantias sobre onde estão os dados, como estão sendo gerenciados ou quem pode acessá- los. Os fornecedores visam garantir que todas as informações colocadas na nuvem sejam seguras e protegidas (por exemplo, mecanismos de criptografia, redundância e replicação geográfica). Equipe Requer pessoal local para instalar, gerenciar e dar suporte à infraestrutura Também requer equipe, mas com foco no problema. Escalabilidade Requer avaliação adicional da capacidade necessária para adquirir hardware. Dependendo da análise da demanda de capacidade, pode haver uma grande quantidade de recursos ociosos. Recursos podem ser adicionados sob demanda
  • 54. Infraestrutura para Big Data e Cloud Computing – Prof. Tiago Ferreto AWS – EMR (Elastic MapReduce) • EMR (Elastic MapReduce) – Amazon’s Hadoop-as-a-Service platform • Permite criar clusters com um número específico de nós, tipos de instância de nó (EC2), distribuição do Hadoop e aplicativos adicionais do ecossistema • Usa o S3 para ler / gravar dados • Provisionado sob demanda • https://aws.amazon.com/emr/
  • 57. Infraestrutura para Big Data e Cloud Computing – Prof. Tiago Ferreto Referências – Big Data 1. RAJ, Pethuru (Ed.). Handbook of research on cloud infrastructures for big data analytics. IGI Global, 2014. 2. GUPTA, Sumit et al. Real-Time Big Data Analytics. Packt Publishing Ltd, 2016. 3. RYZA, S.; LASERSON, U.; OWEN, S.; WILLS,J. Advanced Analytics with Spark: Patterns for Learning from Data at Scale. O Reilly Media, 2017.
  • 58. Infraestrutura para Big Data e Cloud Computing – Prof. Tiago Ferreto Referências – Cloud Computing 1. BENATALLAH, B. Cloud Computing – Methodology, Systems, and Applications. CRC Press. 2011. 2. ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: Concepts, Technology & Architecture. Prentice Hall. 2013. 3. FOX, G; DONGARRA, J.; HWANG, K. Distributed and Cloud Computing. Morgan Kaufmann. 2013. 4. JACKSON, K. OpenStack Cloud Computing Cookbook. Packt Publishing Ltd. 2012. 5. SABHARWAL, N; SHANKAR R. S.. Apache CloudStack Computing. Packt Publishing Ltd. 2013. 6. LUCIFREDI, F; RYAN, M. AWS System Administration. O’Reilly Media, Inc. 2018