Concevoir une solution d’ingestion de données

Effectué

Pour déplacer et transformer des données, vous pouvez utiliser un pipeline d’ingestion de données. Un pipeline d’ingestion de données est une séquence de tâches qui déplacent et transforment les données. En créant un pipeline, vous pouvez choisir de déclencher les tâches manuellement ou planifier le pipeline pour automatiser les tâches.

Créer un pipeline d’ingestion de données

Pour créer un pipeline d’ingestion de données, vous pouvez choisir un service Azure.

Azure Synapse Analytics

Une approche couramment utilisée pour créer et exécuter des pipelines pour l’ingestion de données consiste à utiliser la fonctionnalité d’intégration de données d’Azure Synapse Analytics, également appelée Pipelines Azure Synapse. Avec les pipelines Azure Synapse, vous pouvez créer et planifier des pipelines d’ingestion de données dans l’interface utilisateur facile à utiliser ou en définissant le pipeline au format JSON.

Quand vous créez un pipeline Azure Synapse, vous pouvez facilement copier les données d’une source vers un magasin de données en utilisant l’un des nombreux connecteurs standard.

Pour ajouter une tâche de transformation de données à votre pipeline, vous pouvez utiliser un outil d’interface utilisateur comme le flux de données de mappage ou un langage de type SQL, Python ou R.

Azure Synapse Analytics vous permet de choisir entre différents types de calcul capables de traiter des transformations de grandes données à grande échelle : pools SQL serverless, pools SQL dédiés ou pools Spark.

Azure Databricks

Si vous préférez utiliser un outil Code First et SQL, Python ou R pour créer vos pipelines, vous pouvez également utiliser Azure Databricks. Azure Databricks vous permet de définir vos pipelines dans un notebook, dont vous pouvez planifier l’exécution.

Azure Databricks utilise des clusters Spark, qui distribuent le calcul pour transformer de grandes quantités de données en moins de temps.

Azure Machine Learning

Azure Machine Learning fournit des clusters de calcul, qui sont automatiquement mis à l’échelle (scale-up ou scale-down) en cas de besoin. Vous pouvez créer un pipeline avec le concepteur ou à partir d’une collection de scripts. Bien que les pipelines Azure Machine Learning soient couramment utilisés pour entraîner les modèles Machine Learning, vous pouvez également les utiliser pour extraire, transformer et stocker les données avant l’entraînement du modèle Machine Learning.

Si vous voulez effectuer toutes les tâches avec le même outil, le mieux est de créer un pipeline Azure Machine Learning et de le planifier pour qu’il s’exécute avec le cluster de calcul à la demande.

Toutefois, Azure Synapse Analytics et Azure Databricks offrent un calcul plus scalable qui permet de distribuer les transformations entre les nœuds de calcul. Par conséquent, vos transformations de données peuvent être plus efficaces quand vous les exécutez avec Azure Synapse Analytics ou Azure Databricks au lieu d’Azure Machine Learning.

Concevoir une solution d’ingestion de données

L’un des avantages de l’utilisation de technologies cloud est que vous pouvez choisir de créer et d’utiliser les services qui répondent le mieux à vos besoins. Pour créer une solution, vous pouvez lier des services les uns aux autres et représenter la solution dans une architecture.

Par exemple, voici une approche courante pour une solution d’ingestion de données :

  1. Extraire des données brutes de la source (comme un système CRM ou un appareil IoT).
  2. Copier et transformer des données dans Azure Synapse Analytics.
  3. Stocker les données préparées dans un Stockage Blob Azure.
  4. Entraîner le modèle avec Azure Machine Learning.

Diagramme montrant les données extraites, transformées avec Azure Synapse Analytics, stockées dans un compte de stockage et servies à Azure Machine Learning.

Une bonne pratique est de réfléchir à l’architecture d’une solution d’ingestion de données avant d’entraîner votre modèle. Si vous réfléchissez au moyen d’extraire et de préparer automatiquement les données pour l’entraînement du modèle, vous êtes mieux préparé quand votre modèle est prêt pour la production.