Please enable JavaScript.
Coggle requires JavaScript to display documents.
Exame DP-203 Janeiro/2024 - Coggle Diagram
Exame DP-203 Janeiro/2024
1. Introdução à Engenharia de Dados
O que é a engenharia de dados?
Tipos de dados
Semiestruturados
: por exemplo,JSON, que não necessariamente cabem em uma estrutura de tabela.
Não estruturados
: arquivos como imagens, vídeos, documentos PDF, etc.
Estruturados
: bancos de dados relacionais, por exemplo, baseados em tabelas. Linhas e colunas bem definidas.
Operações de dados
Integração de dados
: estebelecimento de links entre serviços operacionais e analíticos, para habilitar o acesso seguro e confiável aos dados em vários sistemas.
Transformação de dados
: ETL, ELT, entre outros, como forma de preparar dados para dar suporte às necessidades analíticas.
Consolidação de dados
: junção dos dados tratados em estrutura consistente, depois carregados em estruturas como data lake ou data warehouse.
Linguagens comuns: SQL, Python, R, Java, Scala, .NET etc.
Conceitos importantes sobre engenharia de dados
Dados operacionais e analíticos
: enquanto o primeiro são os dados transacionais das aplicações, geralmente relacionais ou não relacionais, o segundo diz respeito a dados otimizados para análise e relatórios, geralmente em um DW.
Dados de streaming
: fontes "perpétuas" que geram dados através de eventos, geralmente, como IoT ou mídia social, capturados para sistemas analíticos que combinam esses dados com outros dados em lote, por exemplo.
Pipelines de dados
: orquestrar atividades que transferem ou transformam dados.
Data lakes
: repositório de armazenamento que contém dados em formato bruto em enormes quantidades. Basicamente o inverso do DW, que precisa de uma estrutura para armazenar as coisas.
Data warehouses
: repositório central, organizacional e relacional de dados integrados de uma ou mais fontes diferentes, estruturado e otimizado para análises.
Apache Spark
: estrutura de processamento paralelo que utlliza o processamento na memória e um armazenamento de arquivos distribuído.
Engenharia de dados no Microsoft Azure
Com base em dados gerados por grandes apps em Banco de Dados SQL do Azure, armazenamento de dados (file storage), Cosmos DB, Dataverse ou ainda Hubs de Eventos do Azure, por exemplo, os engenheiros utilizam ferramentas de engenharia do Azure no processo de ponta a ponta.
Azure Synapse Analytics, Azure Data Lake Storage Gen2, Azure Stream Analytics, Azure Data Factory, Azure Databricks.
2. Introdução ao Azure Data Lake Storage Gen2
Um data lake é um repositório de dados que armazena tudo em "formato natural", geralmente como blobs ou arquivos.
O Azure Data Lake Storage combina um sistema de arquivos com uma plataforma de armanenamento. O Gen2 utiliza o Armazenamento de Blobs para otimização de trabalhos de análise.
Benefícios
Acesso compatível com o Hadoop: dados são armazenados como no HDFS.
Segurança: suporte à ACL e permissões POSIX, compativeis com Spark ou Hive.
Desempenho: dados organizados em formato de diretório e subdiretório.
Redundância: fornece opções de replicação de Blob da Azure, LRS (armazenamento com redundância local) e GRS (armazenamento com redundância geográfica).
Habilitar um Azure Data Lake Storage Gen2 no Armazanemento do Azure
É um recurso configurável de um Armazenamento do Azure StorageV2 (Uso Geral V2).
Você pode habilitar nas configurações do Armazenamento selecionando uma flag.
Armazenamento de Blobs vs Lake Storage Gen2
Blobs armazenam grandes quantidades de dados não estruturados em um namespace simples de contêiner de blobs. Eles podem ter / para organizar como pastas virtuais, mas no final das contas é uma hierarquia de nível único.
O Lake Gen2 utiliza o Armazenamento de Blobs, mas otimiza análises através de um namespace hierárquico organizado em pastas e subpastas. Isso diminui o custo de análises.
Noções básicas sobre os estágios de armazenamento de dados
Ingerir: identifica a tecnologia e processos envolvidos para adquirir os dados.
Armazenar: identifica o local onde os arquivos devem ser colocados.
Preparar e treinar: identifica as etapas para executar a preparação de dados e treinamento de modelos, bem como pontuação de soluções para aprendizado de máquina.
Modelar e fornecer: envolve as tecnologias que apresentarão os dados.