Projetar uma solução de ingestão de dados

Concluído

Para mover e transformar dados, você pode usar um pipeline de ingestão de dados. Um pipeline de ingestão de dados é uma sequência de tarefas que movem e transformam os dados. Ao criar um pipeline, você pode optar por acionar as tarefas manualmente ou agendar o pipeline quando quiser que as tarefas sejam automatizadas.

Criar um pipeline de ingestão de dados

Para criar um pipeline de ingestão de dados, você pode escolher qual serviço do Azure usar.

Azure Synapse Analytics

Uma abordagem comumente usada para criar e executar pipelines para ingestão de dados é usar o recurso de integração de dados do Azure Synapse Analytics, também conhecido como Azure Synapse Pipelines. Com o Azure Synapse Pipelines, você pode criar e agendar pipelines de ingestão de dados por meio da interface do usuário fácil de usar ou definindo o pipeline no formato JSON.

Ao criar um pipeline do Azure Synapse, você pode copiar facilmente dados de uma fonte para um armazenamento de dados usando um dos muitos conectores padrão.

Gorjeta

Saiba mais sobre a atividade de cópia no Azure Synapse Analytics e todos os armazenamentos de dados e formatos suportados.

Para adicionar uma tarefa de transformação de dados ao seu pipeline, você pode usar uma ferramenta de interface do usuário, como mapear o fluxo de dados, ou usar uma linguagem como SQL, Python ou R.

O Azure Synapse Analytics permite que você escolha entre diferentes tipos de computação que podem lidar com grandes transformações de dados em escala: pools SQL sem servidor, pools SQL dedicados ou pools Spark.

Gorjeta

Saiba mais sobre como executar a integração de dados em escala com o Azure Synapse Analytics.

Azure Databricks

Sempre que preferir uma ferramenta code-first e usar SQL, Python ou R para criar seus pipelines, você também poderá usar o Azure Databricks. O Azure Databricks permite que você defina seus pipelines em um bloco de anotações, que você pode agendar para executar.

O Azure Databricks usa clusters do Spark, que distribuem a computação para transformar grandes quantidades de dados em menos tempo do que quando você não usa computação distribuída.

Azure Machine Learning

O Azure Machine Learning fornece clusters de computação, que aumentam e diminuem automaticamente quando necessário. Você pode criar um pipeline com o Designer ou criando uma coleção de scripts. Embora os pipelines do Azure Machine Learning sejam comumente usados para treinar modelos de aprendizado de máquina, você também pode usá-los para extrair, transformar e armazenar os dados em preparação para treinar um modelo de aprendizado de máquina.

Sempre que você quiser executar todas as tarefas dentro da mesma ferramenta, criar e agendar um pipeline do Azure Machine Learning para ser executado com o cluster de computação sob demanda pode atender melhor às suas necessidades.

No entanto, o Azure Synapse Analytics e o Azure Databricks oferecem computação mais escalável que permite que as transformações sejam distribuídas entre nós de computação. Portanto, suas transformações de dados podem ter um desempenho melhor quando você as executa com o Azure Synapse Analytics ou o Azure Databricks em vez de usar o Azure Machine Learning.

Projetar uma solução de ingestão de dados

Um benefício do uso de tecnologias de nuvem é a flexibilidade para criar e usar os serviços que melhor atendem às suas necessidades. Para criar uma solução, você pode vincular serviços uns aos outros e representar a solução em uma arquitetura.

Por exemplo, uma abordagem comum para uma solução de ingestão de dados é:

  1. Extraia dados brutos de sua origem (como um sistema CRM ou dispositivo IoT).
  2. Copie e transforme os dados com o Azure Synapse Analytics.
  3. Armazene os dados preparados em um Armazenamento de Blob do Azure.
  4. Treine o modelo com o Azure Machine Learning.

Diagrama que mostra dados extraídos, transformados com o Azure Synapse Analytics, armazenados em uma Conta de Armazenamento e servidos para o Azure Machine Learning.

É uma prática recomendada pensar na arquitetura de uma solução de ingestão de dados antes de treinar seu modelo. Pensar em como os dados são extraídos automaticamente e preparados para o treinamento do modelo ajudará você a se preparar para quando seu modelo estiver pronto para entrar em produção.