Share via


Importieren aus Azure Cosmos DB

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

In diesem Artikel wird beschrieben, wie Sie das Import Data-Modul in Machine Learning Studio (klassisch) verwenden, um Daten aus Azure Cosmos DB für die Verwendung in einem Machine Learning-Experiment zu importieren.

Hinweis

Gilt nur für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Azure Cosmos DB unterstützt noSQL-Datenbankspeicher mithilfe eines flexiblen Datenmodells. Zu den Vorteilen der Verwendung der SQL-APIs in diesem Datenspeicher für maschinelles Lernen gehören schnelle und vorhersagbare Leistung, automatische Skalierung, globale Verteilung und umfangreiche Abfragefunktionen.

Zusammen mit Azure SQL-Datenbank können Sie mit dieser Option eingehende Datasets dynamisch filtern.

Funktionsweise: Informationen zu Azure Cosmos DB

  • Für den Einstieg in machine learning mithilfe von Daten aus Azure Cosmos DB benötigen Sie Zugriff auf ein vorhandenes Azure Cosmos DB-Konto, das eine Sammlung verwandter Dokumente enthält.

Hinweis

Die Benutzeroberfläche in Machine Learning Studio (klassisch) verwendet an vielen Stellen weiterhin den Namen DocumentDB. Daher werden möglicherweise weiterhin Verweise auf DocumentDB angezeigt, auch wenn die API in Azure Cosmos DB integriert wurde.

Verwenden von Import Data mit Azure Cosmos DB

Es wird dringend empfohlen, vor dem Importieren Datenprofile zu erstellen, um sicherzustellen, dass das Schema wie erwartet ausfällt. Beim Importvorgang werden einige Kopfzeilen durchsucht, um das Schema zu bestimmen, aber spätere Zeilen können zusätzliche Spalten oder Daten enthalten, die Fehler verursachen.

Importieren von Daten mithilfe des Assistenten

Das Modul verfügt über einen neuen Assistenten, mit dem Sie eine Speicheroption auswählen, aus vorhandenen Abonnements und Konten auswählen und schnell alle Optionen konfigurieren können.

  1. Fügen Sie das Modul Import Data Ihrem Experiment hinzu. Sie finden das Modul unter Dateneingabe und -ausgabe.

  2. Klicken Sie auf Datenimport-Assistent starten, und befolgen Sie die Anweisungen.

  3. Klicken Sie nach Abschluss der Konfiguration mit der rechten Maustaste auf das Modul, und wählen Sie Ausgewählte ausführen aus, um die Daten tatsächlich in Ihr Experiment zu kopieren.

Tipp

Wenn Sie eine vorhandene Datenverbindung bearbeiten müssen, lädt der Assistent alle vorherigen Konfigurationsdetails. Sie müssen nicht von Grund auf neu beginnen.

Manuelles Festlegen der Eigenschaften im Modul „Daten importieren“

Die folgenden Schritte beschreiben, wie Sie die Importquelle manuell konfigurieren.

  1. Fügen Sie das Modul Import Data Ihrem Experiment hinzu. Sie finden dieses Modul in der Kategorie Dateneingabe und -ausgabe .

  2. Wählen Sie unter Datenquelle die Option Azure DocumentDB aus.

    Möglicherweise müssen Sie Verbindungsinformationen für die Dokumentdatenbank angeben.

    Tipp

    Suchen Sie nach dem Namen der Option in Machine Learning Studio (klassisch), um sie zu einem späteren Zeitpunkt zu ändern. Die Importfunktionalität wurde von der Namensänderung nicht beeinflusst.

  3. Klicken Sie für Endpunkt-URL im Azure-Portal auf Schlüssel, und kopieren Sie den Inhalt des Felds URI oben auf der Seite.

  4. Fügen Sie unter Datenbank-ID den Namen der zu verwendende Datenbank ein.

    Klicken Sie auf Dokument-Explorer, um den Datenbanknamen aus dem Azure-Portal abzurufen. Sie können die Liste der Datenbanken und Sammlungen in diesem Bereich anzeigen.

  5. Fügen Sie für DocumentDB-Schlüssel einen Zugriffsschlüssel für das Konto ein.

    Klicken Sie zum Suchen der Schlüssel auf Schlüssel, und kopieren Sie dann den Inhalt der Felder PRIMARY KEY oder SECONDARY KEY .

  6. Geben Sie unter Sammlungs-ID den Namen der Sammlung ein, wie in der angegebenen CosmosDB-Datenbank gezeigt.

  7. Definieren Sie eine SQL Abfrage- und Filterbedingung für die Daten, indem Sie die Optionen SQL Abfrage und SQL Abfrageparameter verwenden.

    Geben Sie für SQL Abfrage eine Abfrage ein, die die aus der Auflistung abzurufenden Daten definiert. Es wird empfohlen, den Abfrage-Explorer zu verwenden, um Ihre CosmosDB-Abfragen im Voraus zu erstellen und zu testen.

    Geben Sie für SQL Abfrageparameter einen Ausdruck im JSON-Format an, mit dem die zurückgegebenen Daten dynamisch gefiltert werden können. In der Regel stellen Sie den tatsächlichen Wert des Parameterwerts beim Ausführen des Experiments als Teil eines Webdiensts fest.

    Wenn Sie einen Parameter verwenden, müssen Sie den Namen der Filtervariablen als Teil der WHERE-Klausel definieren, die im Textfeld SQL Abfrage angegeben ist.

    Wenn Sie keinen Filterausdruck angeben, wird der Wert standardmäßig auf "{}" festgelegt, und alle Datensätze werden zurückgegeben.

    Beispiele, bekannte Probleme und zusätzliche Hinweise zu SQL Abfragen in CosmosDB finden Sie im Abschnitt Technische Hinweise.

  8. Wählen Sie die Option Zwischengespeicherte Ergebnisse verwenden aus, wenn Sie vorhandene Ergebnisse wiederverwenden möchten.

    Wenn Sie diese Option deaktivieren, werden die Daten bei jeder Ausführung des Experiments aus der Quelle gelesen, unabhängig davon, ob die Daten identisch sind oder nicht.

    Machine Learning können die zwischengespeicherten Daten nicht mit den Daten in Ihrem CosmosDB-Konto vergleichen. Daher gibt es keine Möglichkeit, inkrementelle Updates von Machine Learning auszuführen.

    Wenn Sie nur dann erneut importieren möchten, wenn sich die Daten ändern, müssen Sie diese Logik in einer anderen Anwendung definieren, z. B. Azure Data Factory. Weitere Informationen finden Sie unter Verschieben von Daten in und aus Azure Cosmos DB mithilfe von Azure Data Factory.

  9. Führen Sie das Experiment aus, oder wählen Sie nur das Modul Import Data aus, und klicken Sie auf Ausgewählte Ausführen.

Ergebnisse

Nachdem Sie das Modul oder Experiment ausgeführt haben, können Sie mit der rechten Maustaste auf die Ausgabe des Moduls klicken, um die Ergebnisse im Tabellenformat zu visualisieren.

Um eine Momentaufnahme dieser Daten in Ihrem Machine Learning Arbeitsbereich als Dataset zu erfassen, können Sie mit der rechten Maustaste auf die Ausgabe des Moduls klicken und Als Dataset speichern auswählen. Auf diese Weise werden jedoch nur die Daten erfasst, die zum Zeitpunkt des Imports verfügbar sind. Wenn die Daten voraussichtlich häufig geändert werden, können Sie Import Data (Daten importieren ) nach Bedarf erneut ausführen.

Beispiele

Eine ausführliche exemplarische Vorgehensweise zur Verwendung von Azure Cosmos DB als Datenquelle für maschinelles Lernen finden Sie im Azure KI-Katalog.

Technische Hinweise

Dieser Abschnitt enthält erweiterte Konfigurationsoptionen und Antworten auf häufig gestellte Fragen.

Beispiele für einfache und parametrisierte Abfragen

Angenommen, Sie möchten nur die Daten zu Vulkanen mit einer Höhe von unter 10.000 Fuß verwenden.

Einfache Abfrage

Fügen Sie die folgende Abfrage in das Textfeld SQL Abfrage ein:Select * from volcanodb where volcanodb.Elevation < 10000

In diesem Fall wird der Wert des Filterausdrucks auf "{}" festgelegt, und alle Datensätze werden zurückgegeben.

Parametrisierte Abfrage

Um nur die daten zu einem bestimmten Land zu erhalten, können Sie den Länderwert als Parameter angeben, der zur Laufzeit an die Abfrage übergeben wird. Dies erfordert die folgenden Änderungen:

  1. Definieren Sie im Textfeld SQL Abfrage eine Variable, die im Rahmen der Country SQL Abfrage auf das Feld angewendet werden soll:

    Select * from volcanodb where volcanodb.Country = @param1

  2. Geben Sie im Textfeld SQL Abfrageparameter den Parameternamen und dessen Wert wie folgt im JSON-Format an:

    {"@param1":"Turkey"}

Ressourcen

Wenn Sie nicht über einen vorhandenen Dokumentspeicher verfügen, lesen Sie diese Artikel, um zu beginnen.

Hilfe zur Datenmigration und Abfragesyntax

Beispiele für Abfragen in einem JSON-Datenspeicher finden Sie im Azure Cosmos DB-Abfragespickzettel.

Wenn Sie Inhalte in Azure Cosmos DB hochladen müssen, empfehlen wir ihnen das Azure Cosmos DB-Migrationstool. Ihre Daten werden überprüft, hochgeladen und indiziert. Das Tool unterstützt mehrere Quellen, einschließlich MongoDB, Amazon DynamoDB, HBase, SQL Server Datenbanken und CSV-Dateien.

Verwenden schemafreier Abfragen

Wenn die Daten konsistent und vorhersagbar sind, können Sie einfache SQL-ähnliche Syntax verwenden, zSELECT * FROM <document collection>. B. . Dies wird als schemafreie Abfrage bezeichnet, da Sie die genauen zurückzugebenden Attribute nicht benannt haben. Eine solche Abfrage würde alle Felder und alle Zeilen aus der angegebenen Auflistung zurückgeben.

Wenn Sie jedoch kein Schema angeben, kann dies zu unerwarteten Ergebnissen oder einem Laufzeitfehler führen, wenn die Dokumente über inkonsistente Schemas verfügen. Dies liegt daran, dass das Import Data-Modul versucht, das Schema basierend auf einer vordefinierten Anzahl von Zeilen wie folgt abzuleitung:

  1. Wenn keine Attribute angegeben werden, scannt das Modul die erste Zeile in der CosmosDB-Datenbank.
  2. Das Modul erstellt Spaltennamen basierend auf Attributen und erraten, welche Spaltendatentypen basierend auf der Beispielzeile sein sollten.
  3. Wenn spätere Zeilen neue oder andere Attribute enthalten, wird ein Laufzeitfehler generiert.

Daher wird empfohlen, immer die Attribute und Werte anzugeben, die aus dem CosmosDB-Datenspeicher zurückgegeben werden sollen. Anstatt z. B. die SELECT * Syntax zu verwenden, wird empfohlen, alle von der Abfrage abgerufenen Attribute wie folgt zu benennen:

SELECT MyTable.Gender, MyTable.Age, MyTable.Name FROM <document collection>

Modulparameter

Die folgende Tabelle enthält nur die Parameter für das Import Data-Modul, die für die Azure Cosmos DB-Option gelten.

Name Range type Erforderlich Standard Beschreibung
Datenquellen- list HTTP Erforderlich Keine Die Datenquelle kann HTTP, FTP, anonymes HTTPS oder FTPS, eine Datei in Azure BLOB Storage, eine Azure-Tabelle, eine Azure SQL-Datenbank, eine Hive-Tabelle, ein OData-Endpunkt oder Azure Cosmos dB sein.
Endpunkt-URL any Zeichenfolge Erforderlich Keine Geben Sie den URI für den Azure Cosmos DB-Server an.
Datenbank-ID any Zeichenfolge Erforderlich Keine Geben Sie den Namen der Azure Cosmos DB-Datenbank an.
DocumentDB-Schlüssel any SecureString Erforderlich Keine Geben Sie einen gültigen API-Schlüssel für das Azure Cosmos DB-Konto an.
Sammlungs-ID any Zeichenfolge Erforderlich Keine Geben Sie den Namen einer Sammlung in der Azure Cosmos DB-Datenbank an.
SQL-Abfrage any Zeichenfolge Erforderlich Keine Eine SQL Abfrage, die Datensätze angibt, die aus dem Azure Cosmos DB-Datenspeicher zurückgegeben werden sollen

Ausgaben

Name Type Beschreibung
Ergebnisdataset Datentabelle Dataset mit den heruntergeladenen Daten.

Ausnahmen

Ausnahme Beschreibung
Fehler 0003 Eine Ausnahme tritt auf, wenn mindestens eine Eingabe NULL oder leer ist.
Fehler 0029 Eine Ausnahme tritt auf, wenn ein ungültiger URI übergeben wird.
Fehler 0002 Eine Ausnahme tritt auf, wenn mindestens ein Parameter nicht analysiert oder nicht aus einem angegebenen Typ in den für die Zielmethode erforderlichen Typ konvertiert werden konnte.
Fehler 0048 Eine Ausnahme tritt auf, wenn es nicht möglich, eine Datei zu öffnen.
Fehler 0049 Eine Ausnahme tritt auf, wenn es nicht möglich, eine Datei zu analysieren.

Eine Liste der Fehler, die für Studio-Module (klassisch) spezifisch sind, finden Sie unter Machine Learning Fehlercodes.

Eine Liste der API-Ausnahmen finden Sie unter Machine Learning REST-API-Fehlercodes.

Siehe auch

Daten importieren
Daten exportieren
Importieren aus Web-URL über HTTP
Importieren aus Hive-Abfrage
Importieren aus Azure SQL-Datenbank
Importieren aus Azure Blob Storage
Importieren aus Datenfeedanbietern
Importieren aus lokaler SQL Server-Datenbank