Descrever padrões de integração de dados
O Microsoft Azure fornece uma variedade de serviços de plataforma de dados que permitem executar diferentes tipos de análise. Seja uma solução de análise descritiva em um data warehouse, até a análise preditiva no HDInsight, o Azure Databricks ou os Serviços de Machine Learning. Existe a necessidade de um serviço lidar com o aspecto importante da integração de dados.
Primeiramente, a integração de dados envolve a coleta de dados de uma ou mais fontes. Opcionalmente, ela normalmente inclui um processo em que os dados podem ser limpos e transformados, ou talvez aumentados com dados adicionais e preparados. Por fim, os dados mesclados são armazenados em um serviço de plataforma de dados que manipula o tipo de análise que você deseja executar. Esse processo pode ser automatizado pelo Azure Data Factory em um padrão conhecido como ETL (Extração, Transformação e Carregamento).
Extração
Durante o processo de extração, os engenheiros de dados definem os dados e sua fonte:
Definir a fonte de dados: Identifique detalhes da fonte, como o grupo de recursos, a assinatura e informações de identidade, como uma chave ou um segredo.
Definir os dados: Identifique os dados a serem extraídos. Defina os dados usando uma consulta de banco de dados, um conjunto de arquivos ou um nome do Armazenamento de Blobs do Azure para o armazenamento de blobs.
Transformação
- Definir a transformação de dados: As operações de transformação de dados podem incluir divisão, combinação, derivação, adição, remoção ou dinamização de colunas. Mapeie campos entre a fonte de dados e o destino de dados. Talvez você também precise agregar ou mesclar os dados.
Carregamento
Definir o destino: Durante um carregamento, muitos destinos do Azure podem aceitar os dados formatados como um JSON (JavaScript Object Notation), um arquivo ou um blob. Talvez você precise escrever um código para interagir com as APIs do aplicativo.
O Azure Data Factory oferece suporte interno para o Azure Functions. Você também encontrará suporte para muitas linguagens de programação, incluindo Node.js, .NET, Python e Java. Embora a linguagem XML fosse comum no passado, a maioria dos sistemas migrou para JSON por causa da maior flexibilidade como um tipo de dados semiestruturado.
Iniciar o trabalho: Teste o trabalho de ETL em um ambiente de desenvolvimento ou teste. Em seguida, migre o trabalho para um ambiente de produção para carregar o sistema de produção.
Monitorar o trabalho: As operações de ETL podem envolver muitos processos complexos. Configure um sistema de monitoramento proativo e reativo para fornecer informações quando as coisas derem errado. Configure o log de acordo com a tecnologia que o usará.
Ferramentas de ETL
Como engenheiro de dados, existem várias ferramentas disponíveis para ETL. O Azure Data Factory fornece quase 100 conectores empresariais e recursos robustos para que os usuários com código e com base em código realizem suas necessidades de movimentação e transformação de dados.
Evolução do ETL
O Azure abriu caminho para tecnologias que podem lidar com os dados não estruturados em uma escala ilimitada. Essa alteração mudou o paradigma de carregamento e transformação de dados do ETL para o ELT (extração, carregamento e transformação).
O benefício do ELT é que os dados podem ser armazenados em seu formato original, seja JSON, XML, PDF ou imagens. No ELT, você define a estrutura dos dados durante a fase de transformação, de modo que possa usar os dados de origem em vários sistemas downstream.
Em um processo de ELT, os dados são extraídos e carregados em seu formato nativo. Essa alteração reduz o tempo necessário de carregamento dos dados em um sistema de destino. A alteração também limita a contenção de recursos nas fontes de dados.
As etapas do processo de ELT são as mesmas do processo de ETL. Elas apenas seguem uma ordem diferente.
Outro processo como o ELT é chamado de ELTL (extração, carregamento, transformação e carregamento). A diferença do ELTL é que ele tem um carregamento final em um sistema de destino.
Há dois tipos comuns de padrões de integração de dados que podem ser suportados pelo Azure Data Factory.
Cargas de trabalho de data warehouse moderno:
Um data warehouse moderno é um armazenamento de dados centralizado que fornece serviços de análise e de suporte a decisões para toda a empresa usando fontes de dados estruturadas, não estruturadas ou de streaming. Os dados fluem para o warehouse de vários sistemas transacionais e bancos de dados relacionais e de outras fontes de dados em intervalos periódicos. Os dados armazenados são usados para relatórios de histórico e de análise de tendência. O data warehouse atua como um repositório central para várias áreas de assuntos e contém a "única fonte de verdade".
O Azure Data Factory é normalmente usado para automatizar o processo de extração, transformação e carregamento dos dados por meio de um processo em lote em relação a fontes de dados estruturadas e não estruturadas.
Cargas de trabalho analíticas avançadas
Você pode executar análises avançadas na forma de análise preditiva ou preemptiva usando uma variedade de serviços de plataforma de dados do Azure. O Azure Data Factory fornece a integração de sistemas de origem em um armazenamento do Data Lake e pode iniciar recursos de computação, como o Azure Databricks ou o HDInsight, a fim de usar os dados para executar o trabalho analítico avançado.