Erstellen von Azure Machine Learning-Datasets

GILT FÜR:Python SDK azureml v1

In diesem Artikel erfahren Sie, wie Sie Azure Machine Learning-Datasets erstellen, um auf Daten für Ihre lokalen oder remotebasierten Experimente mit dem Python-SDK für Azure Machine Learning zuzugreifen. Informationen dazu, welche Rolle Datasets im Workflow für den Datenzugriff in Azure Machine Learning spielen, finden Sie im Artikel Datenzugriff in Azure Machine Learning.

Durch Erstellen eines Datasets erstellen Sie einen Verweis auf den Speicherort der Datenquelle sowie eine Kopie der zugehörigen Metadaten. Da die Daten an ihrem bisherigen Speicherort verbleiben, entstehen Ihnen keine zusätzlichen Speicherkosten und Sie riskieren nicht die Integrität Ihrer Datenquellen. Auch Datasets werden verzögert ausgewertet, was zum Erhöhen der Workflowleistung beiträgt. Sie können Datasets aus Datenspeichern, öffentlichen URLs und Azure Open Datasets erstellen.

Für eine Erfahrung mit sehr wenig Code können Sie Azure Machine Learning-Datasets mit Azure Machine Learning Studio erstellen.

Azure Machine Learning-Datasets ermöglichen Folgendes:

  • Aufbewahren einer einzelnen Datenkopie in Ihrem Speicher, auf die durch Datasets verwiesen wird

  • Nahtloses Zugreifen auf Daten während des Modelltrainings, ohne sich Gedanken über Verbindungszeichenfolgen oder Datenpfade machen zu müssen Erfahren Sie mehr über das Trainieren mit Datasets.

  • Freigeben von Daten und Zusammenarbeiten mit anderen Benutzern

Voraussetzungen

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

Hinweis

Einige Datasetklassen sind vom Paket azureml-dataprep abhängig, das nur mit 64-Bit Python kompatibel ist. Wenn Sie unter Linux entwickeln, basieren diese Klassen auf .NET Core 2.1 und werden nur von bestimmten Distributionen unterstützt. Weitere Informationen zu den unterstützten Distributionen finden Sie in der .NET Core 2.1-Spalte im Artikel Installieren von .NET unter Linux.

Wichtig

Das Paket funktioniert zwar möglicherweise in älteren Versionen von Linux-Distributionen, sie sollten jedoch keine Distribution verwenden, die nicht vom grundlegenden Support unterstützt wird. Distributionen, die nicht vom grundlegenden Support unterstützt werden, können Sicherheitsrisiken aufweisen, da sie nicht die neuesten Updates erhalten. Sie sollten die neueste unterstützte Version Ihrer Distribution verwenden, die mit kompatibel ist.

Leitfaden für die Computegröße

Wenn Sie ein Dataset erstellen, überprüfen Sie Ihre Computeverarbeitungsleistung und die Größe der Daten im Arbeitsspeicher. Die Größe der Daten im Speicher ist nicht mit der Größe der Daten in einem Datenrahmen identisch. Beispielsweise können Daten in CSV-Dateien sich in einem Datenrahmen um das10-fache ausdehnen, sodass aus einer 1 GB großen CSV-Datei 10 GB in einem Datenrahmen werden können.

Wenn Ihre Daten komprimiert sind, können sie sich weiter ausdehnen. 20 GB Daten mit relativ geringer Dichte, die im komprimierten Parquet-Format gespeichert sind, können sich auf etwa 800 GB im Arbeitsspeicher ausdehnen. Da in Parquet-Dateien Daten in einem Spaltenformat gespeichert werden, müssen Sie, wenn Sie nur die Hälfte der Spalten benötigen, nur etwa 400 GB in den Arbeitsspeicher laden.

Erfahren Sie mehr über die Optimierung der Datenverarbeitung in Azure Machine Learning.

Datasettypen

Es gibt zwei Typen von Datasets, je nachdem, wie sie von den Benutzern im Training verwendet werden: FileDatasets und TabularDatasets. Beide Typen können in Trainingsworkflows von Azure Machine Learning mit Schätzern, AutoML, HyperDrive und Pipelines verwendet werden.

FileDataset

Ein FileDataset verweist auf eine einzelne Datei oder auf mehrere Dateien in Ihren Datenspeichern oder öffentlichen URLs. Wenn Ihre Daten bereits bereinigt und für Trainingsexperimente bereit sind, können Sie die Dateien als FileDataset-Objekt für Ihre Computeinstanz herunterladen oder einbinden.

Wir empfehlen FileDatasets für Ihre Machine Learning-Workflows, da die Quelldateien in jedem beliebigen Format vorliegen können, was ein breiteres Spektrum von Machine Learning-Szenarien ermöglicht, einschließlich Deep Learning.

Erstellen eines FileDataset mit dem Python SDK oder Azure Machine Learning Studio.

TabularDataset

Ein TabularDataset stellt Daten in einem tabellarischen Format dar, indem die bereitgestellte Datei oder Liste von Dateien analysiert wird. Dadurch haben Sie die Möglichkeit, die Daten in einem Pandas- oder Spark-Datenrahmen zu materialisieren, sodass Sie mit vertrauten Datenaufbereitungs- und Trainingsbibliotheken arbeiten können, ohne das Notebook verlassen zu müssen. Ein Objekt vom Typ TabularDataset kann auf der Grundlage von CSV-, TSV-, Parquet- und JSONL-Dateien sowie auf der Grundlage von SQL-Abfrageergebnissen erstellt werden.

Mit TabularDataset-Objekten können Sie einen Zeitstempel auf der Grundlage einer Spalte in den Daten oder auf der Grundlage des Orts angeben, an dem die Pfadmusterdaten gespeichert sind, um ein Zeitreihenmerkmal zu aktivieren. Diese Angabe ermöglicht einfaches und effizientes Filtern nach Zeit. Ein Beispiel finden Sie unter Demo einer tabellarischen, zeitreihenbezogenen API mit NOAA-Wetterdaten.

Erstellen Sie ein TabularDataset mit dem Python SDK oder Azure Machine Learning Studio.

Hinweis

Über Azure Machine Learning Studio generierte Workflows vom Typ Automatisiertes maschinelles Lernen unterstützen derzeit nur „TabularDatasets“.

Hinweis

Bei TabularDatasets, die aus SQL-Abfrageergebnissen generiert werden, wird T-SQL (z. B. "WITH"-Unterabfrage) oder doppelter Spaltenname nicht unterstützt. Komplexe Abfragen wie T-SQL können Leistungsprobleme verursachen. Doppelte Spaltennamen in einem Dataset können zu Mehrdeutigkeitsproblemen führen.

Zugreifen auf Datasets in einem virtuellen Netzwerk

Wenn sich Ihr Arbeitsbereich in einem virtuellen Netzwerk befindet, müssen Sie das Dataset so konfigurieren, dass die Überprüfung übersprungen wird. Weitere Informationen zur Verwendung von Datenspeichern und Datasets in einem virtuellen Netzwerk finden Sie unter Sichern eines Azure Machine Learning-Arbeitsbereichs mit virtuellen Netzwerken.

Erstellen von Datasets auf der Grundlage von Datenspeichern

Damit Azure Machine Learning auf die Daten zugreifen kann, müssen Datasets auf der Grundlage von Pfaden in Azure Machine Learning-Datenspeichern oder auf der Grundlage von Web-URLs erstellt werden.

Tipp

Sie können Datasets direkt auf der Grundlage von Speicher-URLs mit identitätsbasiertem Datenzugriff erstellen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Speicher mit identitätsbasiertem Datenzugriff.

So erstellen Sie Datasets auf der Grundlage eines Datenspeichers mit dem Python SDK:

  1. Vergewissern Sie sich, dass Sie für den zugrunde liegenden Speicherdienst Ihres registrierten Azure Machine Learning-Datenspeichers über Zugriff vom Typ contributor oder owner verfügen. Überprüfen Sie Ihre Speicherkontoberechtigungen im Azure-Portal.

  2. Erstellen Sie das Dataset, indem Sie auf Pfade im Datenspeicher verweisen. Ein Dataset kann aus mehreren Pfaden in mehreren Datenspeichern erstellt werden. Es gibt keine festen Grenzwerte für die Anzahl der Dateien oder die Datengröße, mit denen Sie ein Dataset erstellen können.

Hinweis

Für jeden Datenpfad werden einige Anforderungen an den Speicherdienst gesendet, um zu prüfen, ob er auf eine Datei oder einen Ordner verweist. Dieser Aufwand kann zu einer Beeinträchtigung der Leistung oder zu einem Fehler führen. Ein Dataset, das auf einen Ordner mit 1000 Dateien verweist, bezieht sich auf einen Datenpfad. Es wird empfohlen, für eine optimale Leistung ein Dataset zu erstellen, das auf weniger als 100 Pfade in Datenspeichern verweist.

Erstellen eines FileDataset-Elements

Verwenden Sie die Methode from_files() für die Klasse FileDatasetFactory, um Dateien in einem beliebigen Format zu laden und ein nicht registriertes FileDataset-Objekt zu erstellen.

Wenn sich Ihr Speicher hinter einem virtuellen Netzwerk oder einer Firewall befindet, legen Sie den Parameter validate=False in Ihrer from_files()-Methode fest. Dadurch wird der erste Überprüfungsschritt umgangen und sichergestellt, dass Sie Ihr Dataset aus diesen sicheren Dateien erstellen können. Informieren Sie sich über die Verwendung von Datenspeichern und Datasets in einem virtuellen Netzwerk.

from azureml.core import Workspace, Datastore, Dataset

# create a FileDataset pointing to files in 'animals' folder and its subfolders recursively
datastore_paths = [(datastore, 'animals')]
animal_ds = Dataset.File.from_files(path=datastore_paths)

# create a FileDataset from image and label files behind public web urls
web_paths = ['https://azureopendatastorage.blob.core.windows.net/mnist/train-images-idx3-ubyte.gz',
             'https://azureopendatastorage.blob.core.windows.net/mnist/train-labels-idx1-ubyte.gz']
mnist_ds = Dataset.File.from_files(path=web_paths)

Wenn Sie alle Dateien aus einem lokalen Verzeichnis hochladen möchten, erstellen Sie ein FileDataset in einer einzelnen Methode mit upload_directory(). Mit dieser Methode werden Daten in den zugrunde liegenden Speicher hochgeladen, was zu Speicherkosten führt.

from azureml.core import Workspace, Datastore, Dataset
from azureml.data.datapath import DataPath

ws = Workspace.from_config()
datastore = Datastore.get(ws, '<name of your datastore>')
ds = Dataset.File.upload_directory(src_dir='<path to you data>',
           target=DataPath(datastore,  '<path on the datastore>'),
           show_progress=True)

Registrieren Sie Ihr Dataset, um Datasets in Ihrem Arbeitsbereich experimentübergreifend wiederverwenden und freigeben zu können.

Erstellen eines TabularDataset-Elements

Verwenden Sie die Methode from_delimited_files() für die Klasse TabularDatasetFactory, um Dateien im CSV- oder TSV-Format zu lesen und ein nicht registriertes TabularDataset-Objekt zu erstellen. Zum Einlesen von Dateien im PARQUET-Format verwenden Sie die from_parquet_files()-Methode. Wenn Sie Daten aus mehreren Dateien lesen, werden die Ergebnisse in einer Tabellendarstellung aggregiert.

Informationen zu den unterstützten Dateiformaten sowie zur Syntax und den Entwurfsmustern finden Sie in der Referenzdokumentation von TabularDatasetFactory, z. B. zur Unterstützung mehrerer Zeilen.

Wenn sich Ihr Speicher hinter einem virtuellen Netzwerk oder einer Firewall befindet, legen Sie den Parameter validate=False in Ihrer from_delimited_files()-Methode fest. Dadurch wird der erste Überprüfungsschritt umgangen und sichergestellt, dass Sie Ihr Dataset aus diesen sicheren Dateien erstellen können. Erfahren Sie mehr über die Verwendung von Datenspeichern und Datasets in einem virtuellen Netzwerk.

Mit dem folgenden Code werden der vorhandene Arbeitsbereich und der gewünschte Datenspeicher anhand des Namens abgerufen. Anschließend werden die Speicherorte von Datenspeicher und Datei dem path-Parameter übergeben, um ein neues TabularDataset weather_ds zu erstellen.

from azureml.core import Workspace, Datastore, Dataset

datastore_name = 'your datastore name'

# get existing workspace
workspace = Workspace.from_config()
    
# retrieve an existing datastore in the workspace by name
datastore = Datastore.get(workspace, datastore_name)

# create a TabularDataset from 3 file paths in datastore
datastore_paths = [(datastore, 'weather/2018/11.csv'),
                   (datastore, 'weather/2018/12.csv'),
                   (datastore, 'weather/2019/*.csv')]

weather_ds = Dataset.Tabular.from_delimited_files(path=datastore_paths)

Festlegen des Datenschemas

Beim Erstellen eines TabularDataset-Objekts werden Spaltendatentypen standardmäßig automatisch abgeleitet. Wenn die abgeleiteten Typen nicht Ihren Erwartungen entsprechen, können Sie Ihr Datasetschema aktualisieren, indem Sie die Spaltentypen mit dem folgenden Code angeben. Der Parameter infer_column_type ist nur für Datasets anwendbar, die aus durch Trennzeichen getrennten Dateien erstellt wurden. Weitere Informationen zu unterstützten Datentypen.

from azureml.core import Dataset
from azureml.data.dataset_factory import DataType

# create a TabularDataset from a delimited file behind a public web url and convert column "Survived" to boolean
web_path ='https://dprepdata.blob.core.windows.net/demo/Titanic.csv'
titanic_ds = Dataset.Tabular.from_delimited_files(path=web_path, set_column_types={'Survived': DataType.to_bool()})

# preview the first 3 rows of titanic_ds
titanic_ds.take(3).to_pandas_dataframe()
(Index) PassengerId Survived Pclass Name Geschlecht Age SibSp Parch Ticket Fare Cabin Embarked
0 1 False 3 Braund, Mr. Owen Harris male 22,0 1 0 A/5 21171 7.2500 E
1 2 True 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38,0 1 0 PC 17599 71.2833 C85 C
2 3 True 3 Heikkinen, Miss. Laina female 26,0 0 0 STON/O2. 3101282 7.9250 E

Registrieren Sie Ihr Dataset, um Datasets in Ihrem Arbeitsbereich experimentübergreifend wiederverwenden und freigeben zu können.

Data Wrangling

Nachdem Sie Ihr Dataset erstellt und registriert haben, können Sie es für das Data Wrangling und zum Durchsuchen vor dem Modelltraining in Ihr Notebook laden.

Wenn Sie kein Data Wrangling und keine Durchsuchungen durchführen müssen, erfahren Sie unter Trainieren mit Datasets, wie Sie Datasets in Ihren Trainingsskripts zum Übermitteln von ML-Experimenten nutzen.

Filtern von Datasets (Vorschau)

Die Filterfunktionen sind von dem Datasettyp abhängig, über den Sie verfügen.

Wichtig

Beachten Sie beim Filtern von Datasets mit der Vorschaumethode, dass es sich bei filter() um eine experimentelle Previewfunktion handelt, die sich jederzeit ändern kann.

Für TabularDatasets können Sie Spalten mithilfe der Methoden keep_columns() und drop_columns() beibehalten oder entfernen.

Verwenden Sie die Methode filter() (Vorschau), um Zeilen nach einem spezifischen Spaltenwert in einem tabellarischen Dataset (TabularDataset) herauszufiltern.

Die folgenden Beispiele geben ein nicht registriertes Dataset auf Grundlage der festgelegten Ausdrücke zurück.

# TabularDataset that only contains records where the age column value is greater than 15
tabular_dataset = tabular_dataset.filter(tabular_dataset['age'] > 15)

# TabularDataset that contains records where the name column value contains 'Bri' and the age column value is greater than 15
tabular_dataset = tabular_dataset.filter((tabular_dataset['name'].contains('Bri')) & (tabular_dataset['age'] > 15))

In FileDatasets entspricht jede Zeile einem Pfad einer Datei, weshalb das Filtern nach Spaltenwerten nicht hilfreich ist. Allerdings können Sie die filter()-Methode zum Herausfiltern von Zeilen nach Metadaten wie CreationTime (Erstellungszeit), Größe und mehr verwenden.

Die folgenden Beispiele geben ein nicht registriertes Dataset auf Grundlage der festgelegten Ausdrücke zurück.

# FileDataset that only contains files where Size is less than 100000
file_dataset = file_dataset.filter(file_dataset.file_metadata['Size'] < 100000)

# FileDataset that only contains files that were either created prior to Jan 1, 2020 or where 
file_dataset = file_dataset.filter((file_dataset.file_metadata['CreatedTime'] < datetime(2020,1,1)) | (file_dataset.file_metadata['CanSeek'] == False))

Bezeichnete Datasets, die mit Bildbezeichnungsprojekten erstellt wurden, sind ein Sonderfall. Diese Datasets sind vom Typ „TabularDataset“ und bestehen aus Bilddateien. Für diese Datasettypen können Sie die filter()-Methode zum Filtern von Bildern nach Metadaten und nach Spaltenwerten wie label und image_details verwenden.

# Dataset that only contains records where the label column value is dog
labeled_dataset = labeled_dataset.filter(labeled_dataset['label'] == 'dog')

# Dataset that only contains records where the label and isCrowd columns are True and where the file size is larger than 100000
labeled_dataset = labeled_dataset.filter((labeled_dataset['label']['isCrowd'] == True) & (labeled_dataset.file_metadata['Size'] > 100000))

Partitionieren von Daten

Sie können ein Dataset partitionieren, indem Sie beim Erstellen eines Datasets vom Typ „TabularDataset“ oder „FileDataset“ den Parameter partitions_format mit einschließen.

Wenn Sie ein Dataset partitionieren, werden die Partitionsinformationen der einzelnen Dateipfade jeweils basierend auf dem angegebenen Format in Spalten extrahiert. Das Format muss an der Position des ersten Partitionsschlüssels beginnen und bis zum Ende des Dateipfads reichen.

Ein Beispiel: Angenommen, der Pfad lautet ../Accounts/2019/01/01/data.jsonl, und die Partition soll nach Abteilungsname und Datum erfolgen. In diesem Fall werden durch partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.jsonl' eine Zeichenfolgenspalte namens „Department“ (Abteilung) mit dem Wert „Accounts“ (Konten) und eine Datetime-Spalte namens „PartitionDate“ (Partitionsdatum) mit dem Wert 2019-01-01 erstellt.

Wenn Ihre Daten bereits über vorhandene Partitionen verfügen und Sie dieses Format beibehalten möchten, schließen Sie den Parameter partitioned_format in die Methode from_files() ein, um ein Dataset vom Typ „FileDataset“ zu erstellen.

Wenn Sie ein Dataset vom Typ „TabularDataset“ erstellen und bereits vorhandene Partitionen beibehalten möchten, schließen Sie den Parameter partitioned_format in die Methode from_parquet_files() oder from_delimited_files() ein.

Im folgenden Beispiel werden folgende Aktionen ausgeführt:

  • Erstellen eines Datasets vom Typ „FileDataset“ auf der Grundlage partitionierter Dateien
  • Abrufen des Partitionsschlüssels
  • Erstellen eines neuen indizierten Datasets vom Typ „FileDataset“ mithilfe von Folgendem:

file_dataset = Dataset.File.from_files(data_paths, partition_format = '{userid}/*.wav')
ds.register(name='speech_dataset')

# access partition_keys
indexes = file_dataset.partition_keys # ['userid']

# get all partition key value pairs should return [{'userid': 'user1'}, {'userid': 'user2'}]
partitions = file_dataset.get_partition_key_values()


partitions = file_dataset.get_partition_key_values(['userid'])
# return [{'userid': 'user1'}, {'userid': 'user2'}]

# filter API, this will only download data from user1/ folder
new_file_dataset = file_dataset.filter(ds['userid'] == 'user1').download()

Mit der Methode partitions_by() kann auch eine neue Partitionsstruktur für Datasets vom Typ „TabularDatasets“ erstellt werden.


 dataset = Dataset.get_by_name('test') # indexed by country, state, partition_date

# call partition_by locally
new_dataset = ds.partition_by(name="repartitioned_ds", partition_keys=['country'], target=DataPath(datastore, "repartition"))
partition_keys = new_dataset.partition_keys # ['country']

Durchsuchen von Daten

Wenn Sie mit dem Data Wrangling fertig sind, können Sie Ihr Dataset registrieren und anschließend zur Datenerkundung vor dem Modelltraining in Ihr Notebook laden.

FileDatasets können Sie wahlweise einbinden oder herunterladen und die Python-Bibliotheken auf sie anwenden, die Sie normalerweise zur Datenuntersuchung verwenden. Weitere Informationen zum Vergleich von Einbinden und Herunterladen.

# download the dataset 
dataset.download(target_path='.', overwrite=False) 

# mount dataset to the temp directory at `mounted_path`

import tempfile
mounted_path = tempfile.mkdtemp()
mount_context = dataset.mount(mounted_path)

mount_context.start()

Verwenden Sie für TabularDatasets die to_pandas_dataframe()-Methode, um Ihre Daten in einem Datenrahmen anzuzeigen.

# preview the first 3 rows of titanic_ds
titanic_ds.take(3).to_pandas_dataframe()
(Index) PassengerId Survived Pclass Name Geschlecht Age SibSp Parch Ticket Fare Cabin Embarked
0 1 False 3 Braund, Mr. Owen Harris male 22,0 1 0 A/5 21171 7.2500 E
1 2 True 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38,0 1 0 PC 17599 71.2833 C85 C
2 3 True 3 Heikkinen, Miss. Laina female 26,0 0 0 STON/O2. 3101282 7.9250 E

Erstellen eines Datasets aus Pandas-Datenrahmen

Um ein TabularDataset aus einem speicherinternen Pandas-Datenrahmen zu erstellen, verwenden Sie die register_pandas_dataframe()-Methode. Diese Methode registriert das TabularDataset im Arbeitsbereich und lädt die Daten in den zugrunde liegenden Speicher hoch, wodurch Speicherkosten entstehen.

from azureml.core import Workspace, Datastore, Dataset
import pandas as pd

pandas_df = pd.read_csv('<path to your csv file>')
ws = Workspace.from_config()
datastore = Datastore.get(ws, '<name of your datastore>')
dataset = Dataset.Tabular.register_pandas_dataframe(pandas_df, datastore, "dataset_from_pandas_df", show_progress=True)

Tipp

Erstellen und registrieren Sie ein TabularDataset aus einem speicherinternen Spark-Datenrahmen oder einem Dask-Datenrahmen mit den öffentlichen Vorschaumethoden, register_spark_dataframe() und register_dask_dataframe(). Diese Methoden sind experimentelle Previewfunktionen und können jederzeit geändert werden.

Mit ihnen werden Daten in den zugrunde liegenden Speicher hochgeladen, was zu Speicherkosten führt.

Registrieren von Datasets

Registrieren Sie Ihre Datasets bei einem Arbeitsbereich, um den Erstellungsprozess abzuschließen. Verwenden Sie die Methode register(), um Datasets bei Ihrem Arbeitsbereich zu registrieren, damit sie für andere freigegeben und für Experimente in Ihrem Arbeitsbereich wiederverwendet werden können:

titanic_ds = titanic_ds.register(workspace=workspace,
                                 name='titanic_ds',
                                 description='titanic training data')

Erstellen von Datasets mithilfe des Azure Resource Managers

Unter https://github.com/Azure/azure-quickstart-templates/tree/master//quickstarts/microsoft.machinelearningservices werden viele Vorlagen zur Verfügung gestellt, die zum Erstellen von Datasets verwendet werden können.

Informationen zur Verwendung dieser Vorlagen finden Sie unter Verwenden einer Azure Resource Manager-Vorlage zum Erstellen eines Arbeitsbereichs für Azure Machine Learning.

Trainieren mit Datasets

Verwenden Sie Ihre Datasets in Ihren Machine Learning-Experimenten zum Trainieren von ML-Modellen. Erfahren Sie mehr über das Trainieren mit Datasets.

Versionsverwaltung von Datasets

Sie können ein neues Dataset unter demselben Namen registrieren, indem Sie eine neue Version erstellen. Eine Datasetversion ermöglicht es, den Zustand der Daten zu markieren, sodass Sie eine bestimmte Version des Datasets für Experimente oder zukünftige Reproduktion verwenden können. Weitere Informationen zu Datasetversionen finden Sie hier.

# create a TabularDataset from Titanic training data
web_paths = ['https://dprepdata.blob.core.windows.net/demo/Titanic.csv',
             'https://dprepdata.blob.core.windows.net/demo/Titanic2.csv']
titanic_ds = Dataset.Tabular.from_delimited_files(path=web_paths)

# create a new version of titanic_ds
titanic_ds = titanic_ds.register(workspace = workspace,
                                 name = 'titanic_ds',
                                 description = 'new titanic training data',
                                 create_new_version = True)

Nächste Schritte