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. Bei einem erfolgreichen Datenimport wird automatisch ein Azure Machine Learning-Datenobjekt mit dem Namen, der bei diesem Imports angegeben wurde, erstellt und registriert. 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 per Anzeigename auf dieses zugreifen.

Bei einem Datenimport wird ein Cache der Quelldaten zusammen mit Metadaten für einen schnelleren und zuverlässigen Datenzugriff in Azure Machine Learning-Trainingsaufträgen erstellt. Der Datencache vermeidet Netzwerk- und Verbindungseinschränkungen. Die zwischengespeicherten Daten verfügen über eine Versionsverwaltung, um die Reproduzierbarkeit zu unterstützen. Dadurch werden Versionsverwaltungsfunktionen für Daten bereitgestellt, die aus SQL Server-Quellen importiert werden. Darüber hinaus geben die zwischengespeicherten Daten die Datenherkunft für Überprüfungsaufgaben an. Ein Datenimport verwendet ADF (Azure Data Factory Pipelines) im Hintergrund, was bedeutet, dass Benutzer komplexe Interaktionen mit ADF vermeiden können. Die Verwaltung der Größe des ADF-Computeressourcenpools, die Bereitstellung von Computeressourcen und der Löschung, um die Datenübertragung zu optimieren, indem eine ordnungsgemäße Parallelisierung bestimmt wird, geschehen bei Azure Machine Learning ebenfalls im Hintergrund.

Die übertragenen Daten werden partitioniert und sicher als Parquet-Dateien in Azure Storage gespeichert. Dies ermöglicht eine schnellere Verarbeitung während des Trainings. 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. Dies führt zu weniger Wiederholungen und weniger Trainingsfehlern.

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

Vergewissern Sie sich für einen erfolgreichen Datenimport, dass Sie das neueste Azure-ai-ml-Paket (Version 1.15.0 oder höher) für das SDK und die ML-Erweiterung (Version 2.15.1 oder höher) installiert haben.

Wenn Sie über ein älteres SDK-Paket oder eine ältere CLI-Erweiterung verfügen, entfernen Sie das alte Paket, und installieren Sie das neue Paket mit dem Code, der im Registerkartenabschnitt angezeigt wird. 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.15.1 or later)

Importieren aus einer externen Datenbank als mltable-Datenobjekt

Hinweis

Die externen Datenbanken können Snowflake-, Azure SQL- und andere Formaten aufweisen.

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 und eine Azure SQL-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. Nach der Übermittlung einer Datenimportaktion über die CLI oder das SDK benötigt der Azure Machine Learning Service möglicherweise einige Minuten, um eine Verbindung mit der externen Datenquelle herzustellen. Anschließend startet der Dienst den Datenimport und verarbeitet die Datenzwischenspeicherung und -registrierung. Die für einen Datenimport benötigte Zeit hängt auch von der Größe des Quelldatasets ab.

Im nächsten Beispiel wird der Status der Importaktivität für übermittelte Daten zurückgegeben. Der Befehl oder die Methode verwendet den Namen des „Datenobjekts“ als Eingabe, um den Status der Datenmaterialisierung zu bestimmen.

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

Nächste Schritte