6. 4.7
bilhões de
página
A Web é gigante hoje
Era do
Zetabyte*
* 1000 Exabytes
36.000
anos
de video
em hd
Últimos
20anos
http://www.livescience.com/54094-how-big-is-the-internet.html
6
11. Ecossistema Poliglota
• Escolher a melhor ferramenta para o trabalho.
• Nenhuma ferramenta deve resolver todos os problemas.
X
SQL NoSQL
12. Persistencia Poliglota
• Resolve problemas específicos
• Torna possível novas formas de obtenção de dados e de
valor no que o usuário produz.
Redis
User
Session
MongoDB
Catalogo
Produtos
RDBMS
Financeiro
Neo4J
Recomen
dações
Dynamo
Carrinho
RDBMS
Relatórios
RDBMS
Financeiro
Cassandra
Log
Atividades
14. APENAS GRANDE QUANTIDADE DE DADOS ?
http://www.sas.com/pt_br/insights/big-data/what-is-big-data.html
14
http://datastorm.com.br/5v-big-data-estrutura/
17. B I G D ATA A N A LY T I C S
• Coleta de dados
• Processamento
• Análise
• Insights
• Tomadas de decisão orientada a dados, ou seja,
baseadas em informações.
17
http://www.bigdatabusiness.com.br/o-dicionario-do-big-data-3/
18. ALEMANHAC O PA D O M U N D O 2 0 1 4
18
http://exame.abril.com.br/tecnologia/noticias/solucao-de-big-data-e-um-
dos-segredos-da-alemanha-na-copa-2
Match
Insights
=
19. 4 T I P O S D E B I G D ATA A N A LY T I C S
• Análise Descritiva
• Análise Diagnóstica
• Análise Preditiva
• Análise Prescritiva
19
http://www.bigdatabusiness.com.br/conheca-os-4-tipos-de-analises-de-big-data-analytics/
20. DESCRITIVAS I T U A Ç Ã O AT U A L
20
www.li.poli.ufrj.br/?project=nubank-a-queridinha-brasileira
A N Á L I S E
D E
C R É D I T O
A N Á L I S E
D E R I S C O S
21. DIAGNÓSTICA
C A U S A L I D A D E
21
http://www.bigdatabusiness.com.br/big-data-e-eleicoes-conheca-os-casos-
da-india-e-reino-unido/
A Ç Õ E S D E
M A R K E T I N G
A N Á L I S E
D E
I M PA C T O
E L E I Ç Õ E S
N O
R E I N O U N I D O
E I N D I A
C A S E
22. PREDITIVAF U T U R O
22
http://www.bigdatabusiness.com.br/o-que-e-analise-preditiva/
E N C O N T R A R
PA D R Õ E S
E S TAT Í S T I C A
C O M P O RTA
M E N T OC O PA D O
M U N D O
X
M A N I F E S TA Ç Õ E S
C A S E
23. PRESCRITIVAVÁ R I A S P O S S I B I L I D A D E S , O Q U E FA Z E R ?
23
http://www.kazap.com.br/analise-prescritiva-ciencia-de-dados-trabalhando-
para-o-futuro-da-sua-empresa/
S I M U L A R
E S E E U
F I Z E R
I S S O ?
T O M A R
M E L H O R
D E C I S Ã O
25. C R I T I C A S A T É C N I C A S D E B I G D ATA
• Segurança e Privacidade
• Estou sendo observado ?
• Buzz word !!!
• Todo mundo fala
• Mas ninguém faz
• Encontrar profissionais
25
27. • Ciência da Computação
• Estatística e Matemática
• Jornalista
• Publicitário
Q U E M É O
D ATA S C I E N T I S T
27
https://www.dezyre.com/article/10-different-types-of-data-scientists/179
29. A PA C H E H A D O O P
• Baseado no paper BigTable do Google
• Open Source
• Pensado para processamento distribuído
de grande quantidade de dados.
• Padrão universal quando se fala em BigData
29
http://hadoop.apache.org
30. A PA C H E H A D O O P
• Armazenamento
• HDFS
• Processamento
• Map Reduce Framework
30
http://hadoop.apache.org
31. H D F S
Hadoop distributed file system
31
http://hadoop.apache.org
33. 33
M A P R E D U C E
Framework de processamento distribuido
• Programar em ambiente distribuído é dificil e nada
trivial!
• Modelo funcional
• Funções de Map e Reduce (duuh)
• Funções sem efeitos colaterais
• Podem ser encadeados
• Localidade de referência
34. 34
M A P R E D U C E
Framework de processamento distribuido
• Map
• Transformar os dados em uma lista de chaves e valores
• Map(k,v) => List(k,v)
• Reduce
• Agrupa e realiza algum processamento em uma lista de valores
associados a uma chave
• Reduce(k, list(k)) => list(v)
35. 35
M A P R E D U C E
Framework de processamento distribuido
36. 36
• Escrever MapReduce no braço não é produtivo
• Abstrações de dados
• Tabelas
• Consultas SQL
• Data Analytics
• Machine Learning
• Buscas Textuais
E C O S I S T E M A H A D O O P
Muitas ferramentas foram construídas com essa base
37. C L O U D E R A
37
https://www.cloudera.com/products/open-source/apache-hadoop.html
38. S PA R K
Motor de processamento em larga escala
38
https://spark.apache.org
• Escrever aplicações de forma mais rápida em Scala, Python e R
• Velocidade de Processamento
• In-Memory
• Motor de execução otimizado
• Bibliotecas de abstração
• SQL, Streaming, Machine Learning e Grafos
• Usa infra do Hadoop (YARN)
39. W O R D C O U N T
Versão MapReduce no Hadoop
39
40. W O R D C O U N T
Versão Spark com Python
40
text_file = spark.textFile("hdfs://...")
text_file.flatMap(lambda line: line.split())
.map(lambda word: (word, 1))
.reduceByKey(lambda a, b: a+b)
41. H I V E
Datawarehouse e SQL em arquivos no HDFS
41
https://hive.apache.org
• Grande quantidade de dados tabular e semi-estruturado
• APPEND Only
• Catalogo de tabelas (HCatalog)
• SQL é a linguagem muito poderosa e flexível ❤
• Poder de análise de dados
• ETL em larga escala
• Vários formatos de dados e compactação
• Textfile, SerDe, Parquet, Avro
42. H I V E
Converte SQL em jobs MapReduce (!!!)
42
https://hive.apache.org
43. I M PA L A
Super fast SQL Analytics
43
https://impala.apache.org
• Baixa latência de consulta SQL no Hadoop
• Faz uso extensivo de memoria do cluster
• Aproveita muitas configurações do Hive (HCatalog)
• Inspirado no Paper F1/Spanner do Google
• Outros formatos de leitura
• Consulta SQL no HBase
• Preferência por arquivo de alta performance como Parquet e
Avro
44. S Q O O P
Pipeline de importação de bases estruturadas em massa
44
https://sqoop.apache.org
• Suporte a importação de banco de dados SQL
• Os grandes bancos tem suporte
• Suporte a importação a varios destinos
• HBase
• HDFS
• Hive
• Dicas de otimização
• Criação de partições
• Views com os dados convertidos
45. H B A S E
Banco de dados colunas de alta performance
45
https://hbase.apache.org
• Orientado a colunas
• Não relacional !
• Otimizado para agregações
• Altíssima performance de escrita e leitura aleatória
• Altamente escalável e tolerante a falhas
• Tabelas gigantes (bilhões de linhas x milhões de colunas)
• Baseado no BigTable do Google
46. H B A S E
Banco de dados colunas de alta performance
46
https://hbase.apache.org
• Case - Facebook Messenger
• Migrado do MySQL
• 11TB de mensagens por mês em 2011
• Zero data loss
• Alta escalabilidade e disponibilidade
47. K A F K A
Plataforma de streaming distribuido
47
https://kafka.apache.org
• Padrão PubSub/Mensageria
• Stream de dados em forma de mensagens
• Pode ser utilizado quando deseja-se capturar eventos de forma
mais rápida que consegue ser efetivamente processado
• Logs
• Métricas e Analytics
• Processamento em Tempo Real
• Filas do Kafka podem ser usadas como passo intermediário
• Mensageria comum
48. 48
K A F K A
Plataforma de streaming distribuido
“Benchmarking Apache Kafka: 2 Million Writes Per Second (On Three
Cheap Machines)”
https://engineering.linkedin.com/kafka/benchmarking-apache-kafka-2-million-writes-second-
three-cheap-machines
50. S O L R
Buscais textuais e indexação de arquivos
50
http://lucene.apache.org/solr/
• Buscas FullText
• Suporte a várias línguas
• Sugestões de digitação
• Agregação de dados (Facets)
• Indexação de arquivos
• Texto, PDF, Word
• Buscar geo referenciadas
• Tem suporte a armazenamento em HDFS
51. O O Z I E
Agendamento de tarefas e fluxos em cluster
51
https://kafka.apache.org
• Gerenciamento de tarefas
• Normalmente baseadas em tempo
• Integrado com ecossistema Hadoop
• MapReduce
• Sqoop
• Hive
• Shell script
• .jars comuns
52. P E R G U N TA S ?
52
@ A LVA R O V I E B R A N T Z / / AV I E B R A N T Z . C O M . B R
FERRAMENTAS E APLICAÇÕES EM
BIG DATA