Importer des ressources de données (préversion)

APPLIES TO :Extension Azure ML CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (préversion)

Avertissement

Les données d’importation à partir de sources externes (préversion) et de connexions de données (préversion) dans Azure Machine Learning sont déconseillées et ne seront pas disponibles après le 30 septembre 2026. Jusqu’à présent, vous pouvez continuer à utiliser ces fonctionnalités sans interruption. Après cette date, toutes les charges de travail qui dépendent d’elles seront interrompues.

Action recommandée : Migrez les importations de données externes vers Microsoft Fabric et utilisez des magasins de données Azure Machine Learning pour rendre les données disponibles dans Azure Machine Learning.

Dans cet article, vous découvrez comment importer des données dans la plateforme Azure Machine Learning à partir de sources externes. Une importation de données réussie crée et inscrit automatiquement une ressource de données Azure Machine Learning avec le nom que vous fournissez pendant cette importation. Une ressource de données Azure Machine Learning ressemble à un signet de navigateur web (favoris). Vous n’avez pas besoin de mémoriser les longs chemins de stockage (URI) qui pointent vers vos données les plus fréquemment utilisées. Au lieu de cela, vous pouvez créer une ressource de données, puis accéder à cette ressource à l’aide d’un nom convivial.

Une importation de données crée un cache des données sources, ainsi que des métadonnées, pour un accès plus rapide et plus fiable aux données dans les travaux d’apprentissage Azure Machine Learning. Le cache de données évite les contraintes réseau et de connexion. Les données en cache sont versionnées pour prendre en charge la reproductibilité. Cette fonctionnalité fournit des fonctionnalités de contrôle de version pour les données importées à partir de sources SQL Server. En outre, les données en cache fournissent une traçabilité des données pour les tâches d’audit. Une importation de données utilise des pipelines Azure Data Factory (ADF) en arrière-plan, ce qui signifie que vous pouvez éviter des interactions complexes avec ADF. Azure Machine Learning gère également la gestion de la taille du pool de ressources de calcul ADF, de l’approvisionnement des ressources de calcul et de la destruction. Cette gestion optimise le transfert de données en déterminant la parallélisation appropriée.

Les données transférées sont partitionnés et stockées en toute sécurité sous forme de fichiers parquet dans le stockage Azure. Ce stockage permet un traitement plus rapide pendant l’entraînement. Les coûts de calcul ADF impliquent uniquement le temps utilisé pour les transferts de données. Les coûts de stockage impliquent uniquement le temps nécessaire pour mettre en cache les données, car les données mises en cache sont une copie des données importées à partir d’une source externe. Le stockage Azure héberge cette source externe.

La fonctionnalité de mise en cache implique des coûts de calcul et de stockage initiaux. Toutefois, elle est payante et permet d’économiser de l’argent, car elle réduit les coûts de calcul d’entraînement récurrents par rapport aux connexions directes à des données sources externes pendant l’entraînement. Elle met en cache les données sous forme de fichiers parquet, ce qui rend l’apprentissage des travaux plus rapide et plus fiable par rapport aux délais d’expiration de connexion pour les jeux de données plus volumineux. La mise en cache entraîne moins de répétitions et réduit les échecs de formation.

Vous pouvez importer des données depuis Amazon S3, Azure SQL et Snowflake.

Important

Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge.

Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Prérequis

Pour créer et utiliser des ressources de données, vous avez besoin des éléments suivants :

Remarque

Pour une importation de données réussie, vérifiez que vous avez installé le dernier package azure-ai-ml (version 1.31.0 ou ultérieure) pour le SDK et l’extension ml (version 2.37.0 ou ultérieure). Python 3.9 ou version ultérieure est requis.

Si vous disposez d’un package sdk ou d’une extension CLI plus ancien, supprimez l’ancien et installez le nouveau en utilisant le code affiché dans la section onglet. Suivez les instructions pour le SDK et l’interface CLI présentées ici :

Versions de code

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.37.0 or later)

Importer à partir d’une base de données externe en tant qu'actif de données mltable

Remarque

Les bases de données externes incluent Snowflake et Azure SQL.

Les exemples de code suivants peuvent importer des données à partir de bases de données externes. Le connection qui gère l’action d’importation détermine les métadonnées de la source de données de base de données externe. Dans cet exemple, le code importe des données à partir d’une ressource Snowflake. La connexion pointe vers une source Snowflake. Avec une petite modification, la connexion peut pointer vers une source de base de données Azure SQL ou une autre source de base de données prise en charge. La ressource type importée à partir d’une source de base de données externe est mltable.

Créez un fichier YAML<file-name>.yml :

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# Datastore: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: mltable
name: <name>
source:
  type: database
  query: <query>
  connection: <connection>
path: <path>

Exécutez ensuite la commande suivante dans l’interface CLI :

> az ml data import -f <file-name>.yml

Importer des données à partir d’un système de fichiers externe en tant que ressource de données de dossier

Remarque

Une ressource de données Amazon S3 peut servir de ressource de système de fichiers externe.

Le connection qui gère l’action d’importation de données détermine les aspects de la source de données externe. La connexion définit un compartiment Amazon S3 comme cible. La connexion attend une valeur path valide. Une valeur de ressource importée à partir d’une source de système de fichiers externe présente un type de uri_folder.

L’exemple de code suivant importe des données à partir d’une ressource Amazon S3.

Créez un fichier YAML<file-name>.yml :

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# path: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: uri_folder
name: <name>
source:
  type: file_system
  path: <path_on_source>
  connection: <connection>
path: <path>

Exécutez manuellement cette commande dans l’interface CLI :

> az ml data import -f <file-name>.yml

Vérifier l’état d’importation de sources de données externes

L’action d’importation de données est une action asynchrone. Cela peut prendre beaucoup de temps. Après avoir envoyé une action d’importation de données via l’interface CLI ou le SDK, le service Azure Machine Learning peut avoir besoin de plusieurs minutes pour se connecter à la source de données externe. Ensuite, le service démarre l’importation de données et gère la mise en cache et l’inscription des données. Le temps nécessaire pour une importation de données dépend également de la taille du jeu de données sources.

L’exemple suivant retourne l’état de l’activité d’importation de données envoyées. La commande ou la méthode utilise le nom de la ressource de données comme entrée pour déterminer l’état de la matérialisation des données.

> az ml data list-materialization-status --name <name>

Étapes suivantes