Pro Yearly is on sale from $80 to $50! »

Trilha DataEng - pt. I

B2519015997dff04abe2568ebb2cf729?s=47 opensanca
November 11, 2019

Trilha DataEng - pt. I

Apresentação na Trilha de Data Science/Engineering sobre Data Engineering por Leonardo Miguel.

B2519015997dff04abe2568ebb2cf729?s=128

opensanca

November 11, 2019
Tweet

Transcript

  1. Data Engineering

  2. 2▸ ▹ ▸ Introdução ▸Engenharia de Dados ▸Coleta e Aquisição

    ▸Crawlers/Scrapers ▸Filas ▸ETL em Python ▸Docker ▸Kubernetes ▸Cloud Function ▸ETL no BigQuery Roadmap
  3. Introdução 3

  4. 4▸ ▹ Eu

  5. 5▸ ▹ ▸ Documentos Fiscais ▹Sefaz ▹XMLs ▸ Inteligência Fiscal

    ▸ +80.000 empresas ▸ +800 milhões de DFes Arquivei
  6. 6▸ ▹ ▸ Responsável por DWs ▹DFes ▹BI ▹Integrações ▹Mensageria

    ▹Governança ▸ Time independente ▹Gestão de Infra ▹Gestão de Custo ▹Priorizamos tecnologias gerenciadas Time de DataEng
  7. Engenharia de Dados Libertando dados 7

  8. 8▸ ▹ ▸ No mercado: ▹Junto com BI e DataSci

    ▹Modelagem de BD ▹Foco em Dados não em Sistemas ▸ Principal atividade: ▹Extração ▹Transformação ▹Carregamento ▸ Cargo ou Função? Engenharia de Dados
  9. 9▸ ▹ ▸Responsável por: ▹Coleta e aquisição de dados ▹ETL

    ▹Padronizações ▸ Skills ▹Processamento massivo ▹Sistemas distribuídos Engenharia de Dados neste curso
  10. Coleta e Aquisição Entendendo fontes 10

  11. 11 ▸ ▹ ▸ Pode ser ativo ou passivo ▸

    Ativo ▹APIs ▹Scrapers/Crawlers ▸Passivo ▹Filas ▹API Aquisição e extração
  12. 12 ▸ ▹ ▸Entender as Fontes ▹Conhecer a doc de

    uma API ▹Saber fazer um crawler/scraper ▹Saber interagir com um banco ▹Limitações de escalabilidade da fonte ▸ Padronização por conta do Eng de Dados ▸ Entender lógicas de negócio ▸ Possivelmente não data-driven Ativo
  13. 13 ▸ ▹ ▸Baseado em contratos ▹Maior controle de quem

    recebe ▹Quem envia se preocupa com o dado ▸Pode ser reaproveitado para várias finalidades Passivo
  14. Crawlers/Scrapers 14

  15. YOU CAN ALSO SPLIT YOUR CONTENT 15 ▸ Scrapy ▹

    Passar por vários sites ▸ Selenium ▹ Lib de QA ▹ Permite interação com a página Crawler/Scraper 101
  16. Filas 16

  17. 17 ▸ ▹ ▸Stream ▹Fluxo de dados / Pedaço de

    informação ▸Streaming ▹Processamento contínuo ▹Banco de dados “infinito” ▸Queue ▹Sequência ordenada ▸Mensageria ▹Comunicação entre serviços ▸Replicação de Dados ▹Processo complicado de cópia Conceitos
  18. 18 ▸ ▹ ▸Padrão de mensageria ▸Publisher ▸Subscriber ▸Organizado em

    tópicos ▸Gerenciado: Google Pub/Sub Pub/Sub
  19. 19 ▸ ▹ ▸Ecossistema de ferramentas ▹Kafka ▹Kafka Streams ▹Kafka

    Connect Kafka
  20. 20 ▸ ▹ ▸Tópicos ▸Partições ▸Grupos ▸Streaming: ▹processamento + armazenamento

    Kafka
  21. 21 Demo

  22. ETL 101 22

  23. YOU CAN ALSO SPLIT YOUR CONTENT 23 ▸ Pandas ▸

    PETL Python
  24. YOU CAN ALSO SPLIT YOUR CONTENT 24 ▸ Versão simplificada

    da Pandas ▸ Mais focado em ETL ▹ Leitura de arquivos ▹ Manipulação de dados PETL
  25. 25 Demo

  26. Docker 26

  27. YOU CAN ALSO SPLIT YOUR CONTENT 27 ▸ Jeito de

    empacotar código ▸ Abstração do SO ▸ VM vs Container: Containers
  28. YOU CAN ALSO SPLIT YOUR CONTENT 28 ▸ Docker Engine

    ▹ client-server Conceitos
  29. YOU CAN ALSO SPLIT YOUR CONTENT 29 ▸ Docker Daemon

    ▸ Docker Client ▸ Docker Registry ▹ Imagens: intruções para criar um objeto ▸ Docker Objects ▹ Container ▹ Network ▹ Volume Conceitos
  30. YOU CAN ALSO SPLIT YOUR CONTENT 30 Conceitos

  31. YOU CAN ALSO SPLIT YOUR CONTENT 31 ▸ Multi container

    ▸ Yaml ▹ Define vários serviços Docker Compose
  32. 32 Demo

  33. Kubernetes 33

  34. YOU CAN ALSO SPLIT YOUR CONTENT 34 ▸ Gerenciador de

    containers distribuído ▸ Possui serviços gerenciados Orquestração de Containers
  35. 35 ▸ ▹ ▸Pod ▸Service ▸Volume ▸Namespace Objetos

  36. 36 ▸ ▹ ▸Deployment ▸Job ▸DaemonSet ▸StatefulSet Abstrações

  37. 37 Demo

  38. BigQuery UDF 38

  39. 39 ▸ ▹ ▸User Defined Functions ▸Função JavaScript que transforma

    os dados ▸ETL no BigQuery UDF
  40. 40 That’s all folks