Title Text

Agenda
- Apresentação
- Introdução
- A era do Data Driven, Big Data
- O que vem antes do Engenheiro de Dados? Engenheiro de Software
- O Marco - Aplicaçãoes Analiticas
- Engenheiro de Dados
- Engenharia de Dados, o Pipeline e Tools
- Engenharia, Preparação e Análise
- Encerramento
- O toolbox do Engenheiro de Dados
- #7 Princípios para o Engenheiro de Dados
Esposo da Lorena e pai da Alice
Formado em Informática UEM 2013
Mestrando UEM com tema: "Sistema de recomendação baseado em Ontologia preditiva"
Carreira
Desenvolvendo software à 9 anos - tentando evitar bugs...
Trabalho com BI à 1 ano e 5 meses - Pentaho

O Eng. de Dados
e a era do Data-driven

O que vem antes do Engenheiro de Dados?
O Engenheiro de Software, o legado!
Engenheiro de Software, o seu juramento!
-
Engenharia de Projeto de Software
- big bang/ Gênesis 1 -> requisitos -> análise -> desenvolvimento / teste -> produção
- O Manifesto Ágil
Engenheiro de Software, o seu juramento!
-
O ciclo de vida do Software (ALM - Application lifecycle management )
- Processos / Atividades (tickets) / Documentação / etc...
- SCV (versionamento)
- CD/CI / GMUD
Engenheiro de Software, o seu juramento!
-
Arquitetura de Software
- Segurança / criptografia dos dados
- Monolito / micro-service
- Single tenant / multi tenancy
- Aplicações distribuídas
Engenheiro de Software, o seu juramento!
-
Perfil
- Dev fullstack + DevOps + arquiteto
O Marco
Aplicaçãoes Analiticas "Nasce" a Engenharia de Dados
No inicio dos anos 2000 surge tecnologias para análise de dados como Decision Support System (DSS), Planilhas Eletrônicas, Data Marts, Data Mining, Ferramentas On-Line Analytical Processing (OLAP)
Engenheiro de Dados, o seu juramento!
- Engenheiro de Dados é o profissional dedicado ao desenvolvimento, construção, teste e manutenção de arquiteturas para toda cadeia de processamento de dados.
Engenheiro de Dados, o seu juramento!
- Seu mind set deve ser: criar e implementar métodos e técnicas para melhorar a eficiência, a qualidade, a confiabilidade dos dados e garantir o fluxo de dados de maneira ininterrupta.
Engenheiro de Dados, o seu juramento!
- Um engenheiro de dados é aquele que compreende as várias tecnologias, alto conhecimento em frameworks e como combiná-las para criar soluções que permitem que os processos de negócios fluam com a pipelines de dados.
Engenheiro de Dados, o seu juramento!
- Um engenheiro de dados é aquele que compreende as várias tecnologias, alto conhecimento em frameworks e como combiná-las para criar soluções que permitem que os processos de negócios fluam com a pipelines de dados.
Engenheiro de Dados, o seu juramento!
- Basic skills:
- Programação (de preferência poliglota)
- SQL e NoSQL
- Ecossistema Hadoop
- Linux cloud computing (mínimo aws)
- Perfil
- Dev fullstack + DevOps + arquiteto + analista de dados
Engenharia de Dados, o Pipeline e Tools!

Pipeline

Pipeline

Pipeline
#Engenharia de Dados
1° - Origem dos dados
- Estruturados: SQL - Banco de dados relacional, CSV , planilhas, etc...
- Semi-estruturados
- XML, JSON, YML, etc...
- NoSQL - Banco de dados orientado a documentos, orientado a grafos, tabular, etc...
- Não-estruturados
- arquivos texto (logs), steaming, redes sociais, IOT.
Pipeline
#Engenharia de Dados
2° - Digestão dos dados / Integração

Pipeline
#Engenharia de Dados
2° - Digestão dos dados / Integração de dados
ETL - Extract Transform Load
-
Batch (tools open source e enterprise)
- Pentaho-PDI, Talent, Tableau-Prep, Qlik Sense, Alooma, SAS, SSIS, Oracle Data Integrator, etc...
-
Cloud native (ELT - is designed with cloud computing in mind.)
- Alooma, Fivetran, Matillion, Snaplogic, Stitch Data
-
Real-time
- Alooma, Confluent, StreamSets, Striim
Pipeline
#Engenharia de Dados
2° - Digestão dos dados / Integração
ETL ELT (Cloud native)



X
Pipeline
#Engenharia de Dados

Pipeline
#Engenharia de Dados
3° - Orquestração dos dados
Tem como objetivo mapear e gerenciar origens e destinos dos dados.
Destaque para o Apache Kafka
Pipeline - #Engenharia de Dados
3° - Orquestração dos dados

Pipeline - #Engenharia de Dados
3° - Orquestração dos dados

Pipeline
#Preparação de Dados
1° - Processamento
Os principais objetivos do engenheiro de dados nessa etapa são:
- Garantir a disponibilidade dos dados
- Garantir os processos de data munging e data wrangling
- Garantir o processamento dos algoritmos de ML desenvolvidos pelo cientista de dados
Pipeline
#Preparação de Dados
1° - Processamento
ATENÇÃO:
Qual é o tamanho do seus dados?
Processamento
Simples x Distribuído (paralelo)

Pipeline
#Preparação de Dados
1° - Processamento
Apache Hadoop (clusterização) - baseado no Google File System (GFS)
- Não é um banco de dados, é um frameworks para armazenamento e processamento de dados
- HDFS - armazenamento distribuído os dados (gerencia os sistemas de arquivo no cluster)
-
MapReduce - processamento distribuído dos dados (em batch)
- mapea e reduz os dados a estrutura key:value

Pipeline
#Preparação de Dados
1° - Processamento

Pipeline
#Preparação de Dados
1° - Processamento
Apache Spark
- Processamento distribuído dos dados em streaming
- É muito mais rápido que MapReduce
- Melhor para menos dados
"É o Hadoop para dados streaming!"

Pipeline
#Preparação de Dados
2° - Enriquecimento
Acrescentar e calcular dados externos aos dados brutos
Ex. Clima / Tempo, IBGE, APIs publicas, etc ...
Caso: "ocorrências no período"
Pipeline
#Análise de Dados
Disponibilidade dos dados por meio de informação enriquecida com agregação de contexto.
Outputs...
Outputs...
- Big Data
- Data Lake (pool de dados)
- DW / Data Marts
- NoSQL
- Documentos / Grafos / Tabular / etc..
- APIs
- Data Lake (pool de dados)
Pipeline
#Análise de Dados
+ Outputs
- Cubos OLAP
- Dashboards
- Relatórios
- Storytelling
- Push Notification em apps analíticos*
- Previsões
- Sistema de Recomendação
- Metadados
- Ontologias / Taxiomas
Pipeline
#Análise de Dados
Engenheiro de Dados Toolbox
- Linguagens hype:
- Python, Java, Scala e Shell script
- Tool's full stack :
- AWS, Google Cloud, Azure
- Stack híbridas
- Ex. AWS + Pentaho PDI + Apache Hadoop + Power BI
- Diferencial: Docker







Engenheiro de Dados #7 Princípios
Cap 2 - Perspectives on Data Science for Software Engineering
[tradução adaptada]
#1 - Humanos antes de algoritmos
#2 - Tenha um plano para escalar seu pipelines
#3 - Busque obter feedback mais cedo
#4 - Mantenha a mente aberta
Engenheiro de Dados #7 Princípios
Cap 2 - Perspectives on Data Science for Software Engineering
[tradução adaptada]
#5 - Seja inteligente com os algoritmos de ML
#6 - Viva com os dados que você tem em mãos
#7 - Acompanhe o desenvolvimento da suas habilidades e use as "big tools" (ferramentas conceituadas)
Referências
Referências:
http://www.cienciaedados.com/cientista-de-dados-x-engenheiro-de-dados/
http://www.cienciaedados.com/carreiras-em-data-science/
http://datascienceacademy.com.br/blog/a-diferenca-entre-cientistas-de-dados-engenheiros-de-dados-estatisticos-e-engenheiros-de-software/
http://datascienceacademy.com.br/blog/fast-data-a-evolucao-do-big-data/
https://www.oreilly.com/ideas/data-engineering-a-quick-and-simple-definition
https://datafloq.com/read/difference-between-data-scientists-data-engineeers/4246#.Wkxyuundymg.twitter
https://www.economist.com/leaders/2017/05/06/the-worlds-most-valuable-resource-is-no-longer-oil-but-data
https://www.edvancer.in/engineering-fresher-get-into-analyticspart-2/
https://www.learnbigdatatools.com/
https://www.alooma.com/blog/what-is-a-data-pipeline
https://www.alooma.com/blog/etl-process-traditional-vs-modern
https://www.softwaretestinghelp.com/best-etl-tools/
https://kafka.apache.org/intro.html
http://storm.apache.org/
https://www.confluent.io/blog/building-real-time-streaming-etl-pipeline-20-minutes/
https://consultoremti.wordpress.com/2014/11/07/o-que-e-bi-e-qual-a-sua-historia/

after-data-habitat-eng-dados
By Henrique Vignando
after-data-habitat-eng-dados
- 58