SlideShare uma empresa Scribd logo
1 de 69
Baixar para ler offline
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
PIPELINE DA ENGENHARIA DE DADOS
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Moisés Pereira
Engenheiro de Dados - Semantix
https://www.linkedin.com/in/moisespereira
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
O Engenheiro de dados é responsável por garantir que os dados estejam
disponíveis para a análise de forma segura.
Coleta: dados estruturados, semi-estruturados e não estruturados
Transformação: ETL, ELT, Batch e Stream
Armazenamento: HDFS
Disponibilidade: Garantir a disponibilidade dos dados
O que faz um Engenheiro de Dados?
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
O que é um Pipeline?
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Tempo Gasto com Dados
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
6
INGESTÃO DE DADOS
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Sqoop - História
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
O Apache Sqoop é uma ferramenta para transferir dados de um RDBMS para o
Hadoop / Hive ou vice versa. SQL-to-Hadoop
Apache Sqoop
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
sqoop import 
--connect jdbc:mysql://localhost:3306/teste_db 
--username cloudera --password cloudera
--table vendas --hive-import 
--hive-database sandbox 
sqoop export 
--connect jdbc:mysql://localhost:3306/teste_db 
--username cloudera --password cloudera
--export-dir /user/hive/warehouse/
--table vendas
Apache Sqoop - Import / Export
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Em 2011 o Flume foi criado pela Cloudera, um sistema distribuído, confiável e
disponível para coletar, agregar e mover grandes quantidades de dados de muitas
fontes diferentes para um armazenamento centralizado.
O principal objetivo do Flume é enviar dados de aplicações para o Data Lake
"Hadoop HDFS", de forma simples e automatizada.
Porém seu uso não se restringe apenas ao HDFS, sendo possível enviar para
arquivos e base de dados.
O Flume tem a capacidade de transportar uma grande quantidade de dados gerados
por logs, redes sociais, e-mails, base de dados, arquivos e etc..
Flume foi desenvolvido em Java.
Apache Flume - História
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Um agente Flume roda na JVM (Java Virtual Machine) e possui os
seguintes componentes: Source, Channel e Sink.
Apache Flume - Agent
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
O primeiro componentes do Flume é o Source: responsável pela entrada de dados.
A origem é onde o Flume recebe os dados. A interação é através de eventos
"mensagem". Quando chega uma mensagem ele consome.
O componente que gerencia a origem é o "Source Runner" que controla os modelos
de execução.
- Event-driven (Consome as Mensagem)
- Polling (Pesquisa as mensagens a serem consumidas)
Apache Flume - Source
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Um Channel é um processo do agent para transferir os dados da Origem para um
Sink "coletor". Os eventos são persistidos no channel até serem entregues e
removidos por um Sink. Essa persistência no Channel ajuda em caso de falha.
Existem 2 tipos de Channels:
- In-memory: Permite menor tempo de latência.
- Durável: Armazenado no Disco ou em cluster Kafka.
Apache Flume - Channel
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Componente que gera uma saída para um destino externo (fora do Flume).
Tipos de Sinks:
- HDFS
- HBase
- Hive
- Kafka
Apache Flume - 5 - Sink
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Flume - Agent - Configuração
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Kafka - História
O Apache Kafka foi originalmente desenvolvido pelo LinkedIn, e teve,
posteriormente, seu código aberto no início de 2011. Em novembro de 2014, Jun
Rao, Jay Kreps, e Neha Narkhede, que trabalharam com o Kafka no LinkedIn,
criaram uma nova empresa chamada Confluent
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Kafka
▸ PUBLICAÇÃO
Leitura e escrita de stream de dados como
uma fila de mensagens
▸ PROCESSO
Possibilita criação de aplicações escaláveis
para processamento de eventos real-time
▸ ARMAZENAMENTO
Armazenamento de eventos em clusters de
forma segura e distribuída, com replicação e
tolerância a falha
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Kafka - Tópico
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Kafka - Producer
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Kafka - Consumer
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Kafka Connect
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Spark - História
É um framework de código fonte aberto para computação distribuída. Foi
desenvolvido no AMPLab da Universidade da Califórnia e posteriormente
repassado para a Apache Software Foundation.
Spark provê uma interface para programação de clusters com paralelismo e
tolerância a falhas.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Spark - Core
- RDD (Estrutura de Dados)
- programação com scala, python e java
- execução em ambiente Hadoop, Mesos, Kubernetes ou standalone
- acesso a dados no HDFS, Hive, HBase, Cassandra, ...
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Spark - Componentes
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Etapas Pipeline
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Ferramentas Pipelines
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache AirFlow
Os Pipelines são criados por codificação, mas é possível visualizar as etapas por uma interface
gráfica.
Dinâmico: Os Pipelines são criados em (Python), permitindo a geração de pipelines dinâmicos.
Extensível: Customização de acordo com o ambiente.
Visualização: Boa visualização dos pipelines e monitoramento.
Escalável: Arquitetura modular que permite a escalabilidade.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache AirFlow
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache AirFlow
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Nifi
O Apache NiFi foi criado para automatizar o fluxo de dados entre sistemas de
software.
Um sistema fácil de usar, poderoso, escalável e confiável para processar e distribuir
dados.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Apache Nifi - DataFlow
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
StreamSets
Criado por um ex-engenheiro da Cloudera.
Não tem codificação, Drag and Drop.
Ele é completo, tem diversos tipos de integrações como: Kafka, Flume, HBase, Bancos
Relacionais e etc.
Ele possui uma estrutura baseada em Origem, Processamento e Destino.
O SDC também permite a personalização das etapas de transformação de dados através
de programação em Jython.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
StreamSets - Data Flow
- Consegue monitorar os
Pipelines,
- verificar as estatísticas de dados
que estão sendo ingeridos em
tempo real.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Microsoft Azure - Data Factory
Serviço criado para todas as necessidades de integrações de dados.
Permite construir facilmente o ETL sem código dentro do ambiente visual intuitivo ou escreva
seu próprio código.
Integre fontes de dados visualmente usando mais de 80 conectores nativos
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Microsoft Azure - Data Factory
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Google Cloud Platform - DataFlow
Serviço gerenciado para executar uma grande variedade de dados com pipelines de
processamento em batch ou streaming.
O Apache Beam é um modelo de programação de código aberto que permite o
desenvolvimento de Pipelines.
Cria o fluxo no Apache Beam e depois executa no DataFlow.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Google Cloud Platform - DataFlow
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Amazon Web Services - Glue
- Serviço de (ETL) que facilita a preparação e a carga de dados para análises pelos
clientes.
- Consegue criar e executar com apenas alguns cliques.
- Basta indicar ao AWS Glue os dados armazenados na AWS que ele se encarrega de
fazer o mapeamento, Data Catalog.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Amazon Web Services - Glue
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Pipeline para Big Data
41
StreamSets Data Collector (SDC)
Com ele você consegue monitorar os Pipelines, verificar as
estatísticas de dados que estão sendo ingeridos em tempo
real.
TECNOLOGIAS BIG DATA
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
DAMA - Data Management
É uma organização sem fins lucrativos e independente de
fornecedores.
Constituída pela associação de técnicos e profissionais dedicados
a promover os conceitos e melhores práticas da Gestão,
Governança, Qualidade de Dados e da Informação.
- Integridade;
- Acurácia;
- Consistência;
- Completude
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Integridade é a condição que existe quando todas as referências de dados em uma coluna de
uma tabela possui associação adequada em outra coluna ou tabela.
Quantidade de registros, quantidade de colunas.
Define as ações e estratégia para atingir e manter o nível na qualidade de dados, de acordo
com as metas da empresa.
Qualidade de Dados - Integridade
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Refere-se a proximidade entre o objeto representado no sistema e o valor do
objeto real, veracidade quando comparado a uma fonte padrão.
Em muitos casos, mede a acuracidade por como os valores concordam com uma
identificada fonte correta de informação.
- Formato de datas,
- Valores,
- Totais,
- Textos,
Qualidade de Dados - Acurácia
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Critério relacionado à aderência (compliance) com os modelos (patterns) requeridos e
regras de uniformidade.
- Padronização de campos,
- Padronização de categorias,
- Revisão de cálculos.
Qualidade de Dados - Consistência
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Completude indica se certos atributos tem sempre os mesmos valores assinalados
no conjunto de dados. Outra informação é se a quantidade certa de linhas está
presente no conjunto de dados.
- Enriquecimento de dados.
Qualidade de Dados - Completude
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Dados Duplicados: Universidade São Paulo, Universidade São Paulo, Universidade São Paulo
Formatos Inconsistentes: PT-BR, DD/MM/YYYY, MM/DD/YYYY
Informação Incompleta: Produto estoque
Múltiplas unidades e idiomas: Motor / Engine
Dados Incorretos: Usuário, Cliente, Fornecedor
Qualidade de Dados - Problemas Comuns
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Ederson Corbari
Engenheiro de Dados - Semantix
https://www.linkedin.com/in/ecorbari
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Impactar bilhões de vidas
com Dados.
sejaumsemantico@semantix.com.br
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Agenda
❖ Machine Learning no Big Data.
❖ Arquitetura Lambda.
❖ Caso de uso real: 1.
❖ Caso de uso real: 2.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Machine Learning no Big Data
53
❖ Machine Learning no Big Data.
❖ O que faz um Machine Learning Engineer?
❖ Quais os conhecimentos necessários?
❖ Como usar Big Data e Machine Learning em
conjunto?
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Spark - Core
54
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Spark Machine Learning - Flow
55
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Spark Machine Learning - Development
56
❖ Desafios para escalar modelos.
❖ Transformação de dados.
❖ Velocidade nas agregações.
❖ SQLContext / Catalyst Engine.
❖ API Spark / API Scala / API Python.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Exemplos de Aplicabilidade
57
❖ Análise preditiva.
❖ Previsão de demanda.
❖ Sistemas de recomendação.
❖ Precificação dinâmica.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
58
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Arquitetura Lambda - Modelo
59
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Arquitetura Lambda – Cloudera Distribution
60
❖ Batch Layer
❖ Speed Layer
❖ Service Layer
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
61
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Caso de uso real 1: Algoritmos
62
❖ 1. Medir satisfação de um cliente.
❖ 2. Enriquecimento de categorias.
❖ 3. Melhor momento de compra.
❖ 1.1 TF-IDF
❖ 2.2 KNN
❖ 3.3 Linear Regression
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
63
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
64
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Caso de uso real 2: AIOps
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Caso de uso real 2: Algoritmos
❖ Linear regression.
❖ Regime change detection.
❖ Seasonality decomposition.
❖ Box and Jenkins method.
Forecasting: Dynamic Baselining:
Clustering: Cloud Migration:
❖ Levenshtein (logs).
❖ Latent Dirichlet Allocation (events).
❖ Poisson.
❖ Normal linear.
❖ Greedy decision trees.
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Caso de uso real 2: Dashboard
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Caso de uso real 2: Ferramentas utilizadas
68
2019 © Copyright – Todos os direitos
reservados.
Uso
Externo
Obrigado
ederson.corbari@semantix.com.br
In/ecorbari
Moisés PereiraEderson Corbari
moises.mendes@semantix.com.br
In/moisespereira

Mais conteúdo relacionado

Mais procurados

Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAndré Constantino da Silva
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indroduçãoRafael Pinheiro
 
Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesMarlesson Santana
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Metodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasMetodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasSusana Oliveira
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosFabio Moura Pereira
 
Metaverso - O que foi, é e pode ser
Metaverso - O que foi, é e pode serMetaverso - O que foi, é e pode ser
Metaverso - O que foi, é e pode serLeonel Morgado
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Messias Batista
 
Aula 1. apresentação + frameworks
Aula 1. apresentação + frameworksAula 1. apresentação + frameworks
Aula 1. apresentação + frameworksandreluizlc
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 

Mais procurados (20)

Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de Usuário
 
Aula diagrama de classes
Aula diagrama de classesAula diagrama de classes
Aula diagrama de classes
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 
Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisões
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Metodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasMetodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemas
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 
Metaverso - O que foi, é e pode ser
Metaverso - O que foi, é e pode serMetaverso - O que foi, é e pode ser
Metaverso - O que foi, é e pode ser
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
 
Aula 1. apresentação + frameworks
Aula 1. apresentação + frameworksAula 1. apresentação + frameworks
Aula 1. apresentação + frameworks
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 

Semelhante a Pipeline da Engenharia de Dados

Apache Flink a Quarta Geração do Big Data
Apache Flink a Quarta Geração do Big DataApache Flink a Quarta Geração do Big Data
Apache Flink a Quarta Geração do Big DataAmbiente Livre
 
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data tdc-globalcode
 
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS SummitPerforming real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS SummitAmazon Web Services
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Affinitas GmbH
 
Apache PHP MySQL
Apache  PHP  MySQLApache  PHP  MySQL
Apache PHP MySQLkisb1337
 
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessFSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessAmazon Web Services LATAM
 
Template_Faculdade_Apache Kafka.pdf
Template_Faculdade_Apache Kafka.pdfTemplate_Faculdade_Apache Kafka.pdf
Template_Faculdade_Apache Kafka.pdfValdir Adorni
 
Webinar: Ask the Experts - Big Data (Português)
Webinar: Ask the Experts - Big Data (Português)Webinar: Ask the Experts - Big Data (Português)
Webinar: Ask the Experts - Big Data (Português)Amazon Web Services LATAM
 
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...Amazon Web Services LATAM
 
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdfELIVELSON MAIA
 
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload AnalíticoTDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analíticotdc-globalcode
 
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Ricardo Ferreira
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioFernando Palma
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2Maurício Linhares
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...Amazon Web Services
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...Amazon Web Services
 
Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsHoracio Ibrahim
 

Semelhante a Pipeline da Engenharia de Dados (20)

Apache Flink a Quarta Geração do Big Data
Apache Flink a Quarta Geração do Big DataApache Flink a Quarta Geração do Big Data
Apache Flink a Quarta Geração do Big Data
 
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data
 
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS SummitPerforming real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
 
Apache PHP MySQL
Apache  PHP  MySQLApache  PHP  MySQL
Apache PHP MySQL
 
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessFSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
 
Template_Faculdade_Apache Kafka.pdf
Template_Faculdade_Apache Kafka.pdfTemplate_Faculdade_Apache Kafka.pdf
Template_Faculdade_Apache Kafka.pdf
 
Webinar: Ask the Experts - Big Data (Português)
Webinar: Ask the Experts - Big Data (Português)Webinar: Ask the Experts - Big Data (Português)
Webinar: Ask the Experts - Big Data (Português)
 
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
 
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf
 
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload AnalíticoTDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
 
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
 
Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
 
Webinar Data Lakes & Analytics na AWS
Webinar Data Lakes & Analytics na AWSWebinar Data Lakes & Analytics na AWS
Webinar Data Lakes & Analytics na AWS
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
 
Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_ics
 
LAMP Server
LAMP ServerLAMP Server
LAMP Server
 

Pipeline da Engenharia de Dados

  • 1. 2019 © Copyright – Todos os direitos reservados. Uso Externo PIPELINE DA ENGENHARIA DE DADOS
  • 2. 2019 © Copyright – Todos os direitos reservados. Uso Externo Moisés Pereira Engenheiro de Dados - Semantix https://www.linkedin.com/in/moisespereira
  • 3. 2019 © Copyright – Todos os direitos reservados. Uso Externo O Engenheiro de dados é responsável por garantir que os dados estejam disponíveis para a análise de forma segura. Coleta: dados estruturados, semi-estruturados e não estruturados Transformação: ETL, ELT, Batch e Stream Armazenamento: HDFS Disponibilidade: Garantir a disponibilidade dos dados O que faz um Engenheiro de Dados?
  • 4. 2019 © Copyright – Todos os direitos reservados. Uso Externo O que é um Pipeline?
  • 5. 2019 © Copyright – Todos os direitos reservados. Uso Externo Tempo Gasto com Dados
  • 6. 2019 © Copyright – Todos os direitos reservados. Uso Externo 6 INGESTÃO DE DADOS
  • 7. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Sqoop - História
  • 8. 2019 © Copyright – Todos os direitos reservados. Uso Externo O Apache Sqoop é uma ferramenta para transferir dados de um RDBMS para o Hadoop / Hive ou vice versa. SQL-to-Hadoop Apache Sqoop
  • 9. 2019 © Copyright – Todos os direitos reservados. Uso Externo sqoop import --connect jdbc:mysql://localhost:3306/teste_db --username cloudera --password cloudera --table vendas --hive-import --hive-database sandbox sqoop export --connect jdbc:mysql://localhost:3306/teste_db --username cloudera --password cloudera --export-dir /user/hive/warehouse/ --table vendas Apache Sqoop - Import / Export
  • 10. 2019 © Copyright – Todos os direitos reservados. Uso Externo Em 2011 o Flume foi criado pela Cloudera, um sistema distribuído, confiável e disponível para coletar, agregar e mover grandes quantidades de dados de muitas fontes diferentes para um armazenamento centralizado. O principal objetivo do Flume é enviar dados de aplicações para o Data Lake "Hadoop HDFS", de forma simples e automatizada. Porém seu uso não se restringe apenas ao HDFS, sendo possível enviar para arquivos e base de dados. O Flume tem a capacidade de transportar uma grande quantidade de dados gerados por logs, redes sociais, e-mails, base de dados, arquivos e etc.. Flume foi desenvolvido em Java. Apache Flume - História
  • 11. 2019 © Copyright – Todos os direitos reservados. Uso Externo Um agente Flume roda na JVM (Java Virtual Machine) e possui os seguintes componentes: Source, Channel e Sink. Apache Flume - Agent
  • 12. 2019 © Copyright – Todos os direitos reservados. Uso Externo O primeiro componentes do Flume é o Source: responsável pela entrada de dados. A origem é onde o Flume recebe os dados. A interação é através de eventos "mensagem". Quando chega uma mensagem ele consome. O componente que gerencia a origem é o "Source Runner" que controla os modelos de execução. - Event-driven (Consome as Mensagem) - Polling (Pesquisa as mensagens a serem consumidas) Apache Flume - Source
  • 13. 2019 © Copyright – Todos os direitos reservados. Uso Externo Um Channel é um processo do agent para transferir os dados da Origem para um Sink "coletor". Os eventos são persistidos no channel até serem entregues e removidos por um Sink. Essa persistência no Channel ajuda em caso de falha. Existem 2 tipos de Channels: - In-memory: Permite menor tempo de latência. - Durável: Armazenado no Disco ou em cluster Kafka. Apache Flume - Channel
  • 14. 2019 © Copyright – Todos os direitos reservados. Uso Externo Componente que gera uma saída para um destino externo (fora do Flume). Tipos de Sinks: - HDFS - HBase - Hive - Kafka Apache Flume - 5 - Sink
  • 15. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Flume - Agent - Configuração
  • 16. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Kafka - História O Apache Kafka foi originalmente desenvolvido pelo LinkedIn, e teve, posteriormente, seu código aberto no início de 2011. Em novembro de 2014, Jun Rao, Jay Kreps, e Neha Narkhede, que trabalharam com o Kafka no LinkedIn, criaram uma nova empresa chamada Confluent
  • 17. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Kafka ▸ PUBLICAÇÃO Leitura e escrita de stream de dados como uma fila de mensagens ▸ PROCESSO Possibilita criação de aplicações escaláveis para processamento de eventos real-time ▸ ARMAZENAMENTO Armazenamento de eventos em clusters de forma segura e distribuída, com replicação e tolerância a falha
  • 18. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Kafka - Tópico
  • 19. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Kafka - Producer
  • 20. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Kafka - Consumer
  • 21. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Kafka Connect
  • 22. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Spark - História É um framework de código fonte aberto para computação distribuída. Foi desenvolvido no AMPLab da Universidade da Califórnia e posteriormente repassado para a Apache Software Foundation. Spark provê uma interface para programação de clusters com paralelismo e tolerância a falhas.
  • 23. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Spark - Core - RDD (Estrutura de Dados) - programação com scala, python e java - execução em ambiente Hadoop, Mesos, Kubernetes ou standalone - acesso a dados no HDFS, Hive, HBase, Cassandra, ...
  • 24. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Spark - Componentes
  • 25. 2019 © Copyright – Todos os direitos reservados. Uso Externo Etapas Pipeline
  • 26. 2019 © Copyright – Todos os direitos reservados. Uso Externo Ferramentas Pipelines
  • 27. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache AirFlow Os Pipelines são criados por codificação, mas é possível visualizar as etapas por uma interface gráfica. Dinâmico: Os Pipelines são criados em (Python), permitindo a geração de pipelines dinâmicos. Extensível: Customização de acordo com o ambiente. Visualização: Boa visualização dos pipelines e monitoramento. Escalável: Arquitetura modular que permite a escalabilidade.
  • 28. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache AirFlow
  • 29. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache AirFlow
  • 30. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Nifi O Apache NiFi foi criado para automatizar o fluxo de dados entre sistemas de software. Um sistema fácil de usar, poderoso, escalável e confiável para processar e distribuir dados.
  • 31. 2019 © Copyright – Todos os direitos reservados. Uso Externo Apache Nifi - DataFlow
  • 32. 2019 © Copyright – Todos os direitos reservados. Uso Externo StreamSets Criado por um ex-engenheiro da Cloudera. Não tem codificação, Drag and Drop. Ele é completo, tem diversos tipos de integrações como: Kafka, Flume, HBase, Bancos Relacionais e etc. Ele possui uma estrutura baseada em Origem, Processamento e Destino. O SDC também permite a personalização das etapas de transformação de dados através de programação em Jython.
  • 33. 2019 © Copyright – Todos os direitos reservados. Uso Externo StreamSets - Data Flow - Consegue monitorar os Pipelines, - verificar as estatísticas de dados que estão sendo ingeridos em tempo real.
  • 34. 2019 © Copyright – Todos os direitos reservados. Uso Externo
  • 35. 2019 © Copyright – Todos os direitos reservados. Uso Externo Microsoft Azure - Data Factory Serviço criado para todas as necessidades de integrações de dados. Permite construir facilmente o ETL sem código dentro do ambiente visual intuitivo ou escreva seu próprio código. Integre fontes de dados visualmente usando mais de 80 conectores nativos
  • 36. 2019 © Copyright – Todos os direitos reservados. Uso Externo Microsoft Azure - Data Factory
  • 37. 2019 © Copyright – Todos os direitos reservados. Uso Externo Google Cloud Platform - DataFlow Serviço gerenciado para executar uma grande variedade de dados com pipelines de processamento em batch ou streaming. O Apache Beam é um modelo de programação de código aberto que permite o desenvolvimento de Pipelines. Cria o fluxo no Apache Beam e depois executa no DataFlow.
  • 38. 2019 © Copyright – Todos os direitos reservados. Uso Externo Google Cloud Platform - DataFlow
  • 39. 2019 © Copyright – Todos os direitos reservados. Uso Externo Amazon Web Services - Glue - Serviço de (ETL) que facilita a preparação e a carga de dados para análises pelos clientes. - Consegue criar e executar com apenas alguns cliques. - Basta indicar ao AWS Glue os dados armazenados na AWS que ele se encarrega de fazer o mapeamento, Data Catalog.
  • 40. 2019 © Copyright – Todos os direitos reservados. Uso Externo Amazon Web Services - Glue
  • 41. 2019 © Copyright – Todos os direitos reservados. Uso Externo Pipeline para Big Data 41 StreamSets Data Collector (SDC) Com ele você consegue monitorar os Pipelines, verificar as estatísticas de dados que estão sendo ingeridos em tempo real. TECNOLOGIAS BIG DATA
  • 42. 2019 © Copyright – Todos os direitos reservados. Uso Externo
  • 43. 2019 © Copyright – Todos os direitos reservados. Uso Externo DAMA - Data Management É uma organização sem fins lucrativos e independente de fornecedores. Constituída pela associação de técnicos e profissionais dedicados a promover os conceitos e melhores práticas da Gestão, Governança, Qualidade de Dados e da Informação. - Integridade; - Acurácia; - Consistência; - Completude
  • 44. 2019 © Copyright – Todos os direitos reservados. Uso Externo Integridade é a condição que existe quando todas as referências de dados em uma coluna de uma tabela possui associação adequada em outra coluna ou tabela. Quantidade de registros, quantidade de colunas. Define as ações e estratégia para atingir e manter o nível na qualidade de dados, de acordo com as metas da empresa. Qualidade de Dados - Integridade
  • 45. 2019 © Copyright – Todos os direitos reservados. Uso Externo Refere-se a proximidade entre o objeto representado no sistema e o valor do objeto real, veracidade quando comparado a uma fonte padrão. Em muitos casos, mede a acuracidade por como os valores concordam com uma identificada fonte correta de informação. - Formato de datas, - Valores, - Totais, - Textos, Qualidade de Dados - Acurácia
  • 46. 2019 © Copyright – Todos os direitos reservados. Uso Externo Critério relacionado à aderência (compliance) com os modelos (patterns) requeridos e regras de uniformidade. - Padronização de campos, - Padronização de categorias, - Revisão de cálculos. Qualidade de Dados - Consistência
  • 47. 2019 © Copyright – Todos os direitos reservados. Uso Externo Completude indica se certos atributos tem sempre os mesmos valores assinalados no conjunto de dados. Outra informação é se a quantidade certa de linhas está presente no conjunto de dados. - Enriquecimento de dados. Qualidade de Dados - Completude
  • 48. 2019 © Copyright – Todos os direitos reservados. Uso Externo Dados Duplicados: Universidade São Paulo, Universidade São Paulo, Universidade São Paulo Formatos Inconsistentes: PT-BR, DD/MM/YYYY, MM/DD/YYYY Informação Incompleta: Produto estoque Múltiplas unidades e idiomas: Motor / Engine Dados Incorretos: Usuário, Cliente, Fornecedor Qualidade de Dados - Problemas Comuns
  • 49. 2019 © Copyright – Todos os direitos reservados. Uso Externo Ederson Corbari Engenheiro de Dados - Semantix https://www.linkedin.com/in/ecorbari
  • 50. 2019 © Copyright – Todos os direitos reservados. Uso Externo Impactar bilhões de vidas com Dados. sejaumsemantico@semantix.com.br
  • 51. 2019 © Copyright – Todos os direitos reservados. Uso Externo Agenda ❖ Machine Learning no Big Data. ❖ Arquitetura Lambda. ❖ Caso de uso real: 1. ❖ Caso de uso real: 2.
  • 52. 2019 © Copyright – Todos os direitos reservados. Uso Externo
  • 53. 2019 © Copyright – Todos os direitos reservados. Uso Externo Machine Learning no Big Data 53 ❖ Machine Learning no Big Data. ❖ O que faz um Machine Learning Engineer? ❖ Quais os conhecimentos necessários? ❖ Como usar Big Data e Machine Learning em conjunto?
  • 54. 2019 © Copyright – Todos os direitos reservados. Uso Externo Spark - Core 54
  • 55. 2019 © Copyright – Todos os direitos reservados. Uso Externo Spark Machine Learning - Flow 55
  • 56. 2019 © Copyright – Todos os direitos reservados. Uso Externo Spark Machine Learning - Development 56 ❖ Desafios para escalar modelos. ❖ Transformação de dados. ❖ Velocidade nas agregações. ❖ SQLContext / Catalyst Engine. ❖ API Spark / API Scala / API Python.
  • 57. 2019 © Copyright – Todos os direitos reservados. Uso Externo Exemplos de Aplicabilidade 57 ❖ Análise preditiva. ❖ Previsão de demanda. ❖ Sistemas de recomendação. ❖ Precificação dinâmica.
  • 58. 2019 © Copyright – Todos os direitos reservados. Uso Externo 58
  • 59. 2019 © Copyright – Todos os direitos reservados. Uso Externo Arquitetura Lambda - Modelo 59
  • 60. 2019 © Copyright – Todos os direitos reservados. Uso Externo Arquitetura Lambda – Cloudera Distribution 60 ❖ Batch Layer ❖ Speed Layer ❖ Service Layer
  • 61. 2019 © Copyright – Todos os direitos reservados. Uso Externo 61
  • 62. 2019 © Copyright – Todos os direitos reservados. Uso Externo Caso de uso real 1: Algoritmos 62 ❖ 1. Medir satisfação de um cliente. ❖ 2. Enriquecimento de categorias. ❖ 3. Melhor momento de compra. ❖ 1.1 TF-IDF ❖ 2.2 KNN ❖ 3.3 Linear Regression
  • 63. 2019 © Copyright – Todos os direitos reservados. Uso Externo 63
  • 64. 2019 © Copyright – Todos os direitos reservados. Uso Externo 64
  • 65. 2019 © Copyright – Todos os direitos reservados. Uso Externo Caso de uso real 2: AIOps
  • 66. 2019 © Copyright – Todos os direitos reservados. Uso Externo Caso de uso real 2: Algoritmos ❖ Linear regression. ❖ Regime change detection. ❖ Seasonality decomposition. ❖ Box and Jenkins method. Forecasting: Dynamic Baselining: Clustering: Cloud Migration: ❖ Levenshtein (logs). ❖ Latent Dirichlet Allocation (events). ❖ Poisson. ❖ Normal linear. ❖ Greedy decision trees.
  • 67. 2019 © Copyright – Todos os direitos reservados. Uso Externo Caso de uso real 2: Dashboard
  • 68. 2019 © Copyright – Todos os direitos reservados. Uso Externo Caso de uso real 2: Ferramentas utilizadas 68
  • 69. 2019 © Copyright – Todos os direitos reservados. Uso Externo Obrigado ederson.corbari@semantix.com.br In/ecorbari Moisés PereiraEderson Corbari moises.mendes@semantix.com.br In/moisespereira