Freigeben über


Importieren von Datenressourcen (Vorschau)

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python-SDK azure-ai-ml v2 (aktuell)

In diesem Artikel erfahren Sie, wie Sie Daten aus externen Quellen in die Azure Machine Learning-Plattform importieren. Ein erfolgreicher Datenimport erstellt und registriert automatisch eine Azure Machine Learning-Datenressource mit dem Namen, den Sie während dieses Imports angeben. Azure Machine Learning-Datenobjekte ähneln Lesezeichen (Favoriten) in Webbrowsern. Sie müssen sich keine langen Speicherpfade (URIs) merken, die auf Ihre am häufigsten verwendeten Daten verweisen. Stattdessen können Sie ein Datenobjekt erstellen und dann mithilfe eines benutzerfreundlichen Namens auf dieses Objekt zugreifen.

Ein Datenimport erstellt einen Cache der Quelldaten sowie Metadaten für einen schnelleren und zuverlässigeren Datenzugriff in Azure Machine Learning-Schulungsaufträgen. Der Datencache vermeidet Netzwerk- und Verbindungseinschränkungen. Die zwischengespeicherten Daten verfügen über eine Versionsverwaltung, um die Reproduzierbarkeit zu unterstützen. Dieses Feature bietet Versionsverwaltungsfunktionen für Daten, die aus SQL Server-Quellen importiert wurden. Darüber hinaus geben die zwischengespeicherten Daten die Datenherkunft für Überprüfungsaufgaben an. Ein Datenimport verwendet Azure Data Factory (ADF)-Pipelines hinter den Kulissen, was bedeutet, dass Sie komplexe Interaktionen mit ADF vermeiden können. Azure Machine Learning behandelt auch die Verwaltung der Größe des ADF-Computeressourcenpools, die Computeressourcenbereitstellung und den Abriss. Diese Verwaltung optimiert die Datenübertragung durch die Bestimmung der richtigen Parallelisierung.

Die übertragenen Daten werden partitioniert und sicher als Parquet-Dateien in Azure Storage gespeichert. Dieser Speicher ermöglicht eine schnellere Verarbeitung während der Schulung. ADF-Computekosten entstehen nur für die Zeit, die für Datenübertragungen verwendet wird. Speicherkosten entstehen nur für die Zeit, die zum Zwischenspeichern der Daten erforderlich ist, da zwischengespeicherte Daten eine Kopie der Daten sind, die aus einer externen Quelle importiert werden. Azure Storage hostet diese externe Quelle.

Das Cachefeature umfasst Vorabkosten für Compute und Speicher. Es macht sich jedoch bezahlt und kann Geld sparen, da es die wiederkehrenden Kosten für Computeressourcen für Trainings im Vergleich zu direkten Verbindungen zu externen Quelldaten während eines Trainings reduziert. Daten werden als Parquet-Dateien zwischengespeichert, wodurch das Auftragstraining schneller und zuverlässiger gegenüber Verbindungstimeouts für größere Datasets wird. Diese Zwischenspeicherung führt zu weniger Wiederholungen und weniger Schulungsfehlern.

Sie können Daten aus Amazon S3, Azure SQL und Snowflake importieren.

Wichtig

Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.

Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Voraussetzungen

Sie benötigen Folgendes, um Datenressourcen zu erstellen und zu nutzen:

Hinweis

Überprüfen Sie bei einem erfolgreichen Datenimport, ob Sie das neueste Azure-ai-ml-Paket (Version 1.31.0 oder höher) für SDK und die ml-Erweiterung (Version 2.37.0 oder höher) installiert haben. Python 3.9 oder höher ist erforderlich.

Wenn Sie über ein älteres SDK-Paket oder eine ältere CLI-Erweiterung verfügen, entfernen Sie das alte Paket und installieren Sie das neue, indem Sie den im entsprechenden Reiter gezeigten Code verwenden. Befolgen Sie die hier gezeigten Anweisungen für SDK und CLI:

Codeversionen

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)

Importieren aus einer externen Datenbank als mltable-Datenressource

Hinweis

Externe Datenbanken umfassen Snowflake und Azure SQL.

Die folgenden Codebeispiele können Daten aus externen Datenbanken importieren. Die connection, die die Importaktion verarbeitet, bestimmt die Metadaten der externen Datenbankdatenquelle. In diesem Beispiel importiert der Code Daten aus einer Snowflake-Ressource. Die Verbindung verweist auf eine Snowflake-Quelle. Mit einer kleinen Änderung kann die Verbindung auf eine Azure SQL-Datenbankquelle oder eine andere unterstützte Datenbankquelle verweisen. Das aus einer externen Datenbankquelle importierte Medienobjekt „type“ ist mltable.

Erstellen Sie die YAML-Datei <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>

Führen Sie als nächstes in der CLI den folgenden Befehl aus:

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

Importieren von Daten aus einem externen Dateisystem als Ordnerdatenobjekt

Hinweis

Eine Amazon S3-Datenressource kann als externe Dateisystemressource dienen.

Die connection, die die Datenimportaktion verarbeitet, legt die Aspekte der externen Datenquelle fest. Die Verbindung definiert einen Amazon S3-Bucket als Ziel. Die Verbindung erwartet einen gültigen path-Wert. Ein aus einer externen Dateisystemquelle importierter Objektwert hat einen type von uri_folder.

Im nächsten Codebeispiel werden Daten aus einer Amazon S3-Ressource importiert.

Erstellen Sie die YAML-Datei <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>

Führen Sie als nächstes diesen Befehl in der CLI aus:

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

Importstatus externer Datenquellen prüfen

Die Datenimportaktion ist eine asynchrone Aktion. Sie kann lange dauern. Nachdem Sie eine Importdatenaktion über die CLI oder das SDK übermittelt haben, benötigt der Azure Machine Learning-Dienst möglicherweise mehrere Minuten, um eine Verbindung mit der externen Datenquelle herzustellen. Anschließend startet der Dienst den Datenimport und verarbeitet das Zwischenspeichern und Registrieren von Daten. Die für einen Datenimport benötigte Zeit hängt auch von der Größe des Quelldatasets ab.

Im folgenden Beispiel wird der Status der übermittelten Datenimportaktivität zurückgegeben. Der Befehl oder die Methode verwendet den Namen der Datenressource als Eingabe, um den Status der Datenmaterialisierung zu bestimmen.

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

Nächste Schritte