SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Big Data antes da análise:
preparação, aquisição e
limpeza de dados
!
Mauricio De Diana
mauricio@ahalogy.com
Data science
http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram
Exploração
Formatos
Texto!
CSV
JSON
HTML
Logs
Largura fixa
Outros!
!
DB relacional
NoSQL
Avro
Excel (!)
DB de produção: 100s GBs
Bases de dados públicas: 100s MBs
Logs: 100s MBs / dia
1 servidor, Shell, Python, R, SQL
Tamanho
Shell
cat
!
wc
!
grep
!
sort
!
head
!
paste
!
bc
!
…
Shell
Shell
awk
!
sed
!
split
!
join
!
file
!
time
!
ls
!
…
separador
linha em branco aspas
cabeçalho
https://github.com/onyxfish/csvkit
csvkit
Estatística descritiva
Média, mediana, moda
Distribuição, histograma
Outliers
Transform
acentuação separador formato grafia
linha em branco aspas
cabeçalho
Normalização
Maiúsculas / minúsculas
Acentuação
Abreviações
Grafia
Raiz
Representações: data / hora, números
Encoding: UTF-8, ISO-8859-1
Valores especiais: nulo, vazio
Caracteres inválidos
Stop words
Agregações (GROUP BY): média, somatório
Largura fixa, JSON, HTML para CSV
Mais transformações
Estrutura
Sanity check
Comece pequeno: 1, 10, 100, 1k, …
Comece com subconjunto dos dados
Tamanho do arquivo
Cabeçalho, primeiras e últimas linhas
Número de linhas
Valores categóricos (cut | sort -u)
Valores especiais
Datasets maiores,
ganhos rápidos
Complexidade: estruturas de controle e de dados
Libs nativas
Hacks / configurações
20 CPUs, 20 partes de CSV, 20 processos
for i in {0..19}; do python mesmo-script.py parte-$i.csv; done
Eventos
Agregações periódicas
!
Recomendadores: SQL + MapReduce (Pig)
DBs
Extract / Load
Redshift
Distribuído
Familiaridade: SQL
Baseado em PostgreSQL: mesmos drivers
JOIN
pg fs s3
redshift
s3 emr
pg fs s3
redshift
s3 emr
Lições
Explícito: evite SELECT *
Schema o mais similar possível
DISTKEY / SORTKEY
MAXERROR
Rails: created_at / updated_at
Mais análises
Mais recomendadores
Mais dados
Produção
data_commons
Conexões
PostgreSQL
Redshift
S3
Filesystem
Jobs
ETL periódico
https://github.com/airbnb/chronos
pg fs s3
redshift
s3 emr
s3 fs redis
Depois da análise
Adiante
Hadoop
Kafka
…
BIG DATA
Obrigado!
mauricio@ahalogy.com

Mais conteúdo relacionado

Semelhante a Big Data antes da análise: preparação, aquisição e limpeza de dados

Tecnologias para sistemas distribuidos escalaveis
Tecnologias para sistemas distribuidos escalaveisTecnologias para sistemas distribuidos escalaveis
Tecnologias para sistemas distribuidos escalaveis
Luiz Bettega
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORM
Fábio Rehm
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
Marco Pinheiro
 
Básico em (X)HTML e CSS
Básico em (X)HTML e CSSBásico em (X)HTML e CSS
Básico em (X)HTML e CSS
Kako Botasso
 

Semelhante a Big Data antes da análise: preparação, aquisição e limpeza de dados (20)

Banco de Dados NoSql - JornalJava
Banco de Dados NoSql - JornalJavaBanco de Dados NoSql - JornalJava
Banco de Dados NoSql - JornalJava
 
Tecnologias para sistemas distribuidos escalaveis
Tecnologias para sistemas distribuidos escalaveisTecnologias para sistemas distribuidos escalaveis
Tecnologias para sistemas distribuidos escalaveis
 
Apresentação TDC 2018 - Go e Banco de Dados
Apresentação TDC 2018 - Go e Banco de DadosApresentação TDC 2018 - Go e Banco de Dados
Apresentação TDC 2018 - Go e Banco de Dados
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORM
 
Apache poi
Apache poiApache poi
Apache poi
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
SQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataSQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigData
 
NoSQL & SQL
NoSQL & SQLNoSQL & SQL
NoSQL & SQL
 
Benefícios dos WebStandards
Benefícios dos WebStandardsBenefícios dos WebStandards
Benefícios dos WebStandards
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
Dream 06
Dream 06Dream 06
Dream 06
 
Hands On JavaScript
Hands On JavaScriptHands On JavaScript
Hands On JavaScript
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day Workshop
 
Internet em pauta: Desmistificando o desenvolvimento de websites
Internet em pauta: Desmistificando o desenvolvimento de websitesInternet em pauta: Desmistificando o desenvolvimento de websites
Internet em pauta: Desmistificando o desenvolvimento de websites
 
Atividade prática - Introdução ao QGis, parte 1
Atividade prática - Introdução ao QGis, parte 1Atividade prática - Introdução ao QGis, parte 1
Atividade prática - Introdução ao QGis, parte 1
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
Dream 06
Dream 06Dream 06
Dream 06
 
Básico em (X)HTML e CSS
Básico em (X)HTML e CSSBásico em (X)HTML e CSS
Básico em (X)HTML e CSS
 

Big Data antes da análise: preparação, aquisição e limpeza de dados