Freigeben über


FileDataset Klasse

Stellt eine Sammlung von Dateiverweisen in Datenspeichern oder öffentlichen URLs dar, die in Azure Machine Learning verwendet werden sollen.

Ein FileDataset definiert eine Reihe von verzögert ausgewerteten, unveränderlichen Vorgängen zum Laden von Daten aus der Datenquelle in Dateistreams. Daten werden erst aus der Quelle geladen, wenn FileDataset aufgefordert wird, Daten zu liefern.

Ein FileDataset wird mit der from_files-Methode der FileDatasetFactory-Klasse erstellt.

Weitere Informationen finden Sie im Artikel Hinzufügen & Registrieren von Datasets. Informationen zu den ersten Schritten mit Dateidatasets finden Sie unter https://aka.ms/filedataset-samplenotebook.

Initialisieren Sie das FileDataset-Objekt.

Dieser Konstruktor sollte nicht direkt aufgerufen werden. Das Dataset soll mithilfe der FileDatasetFactory -Klasse erstellt werden.

Vererbung
FileDataset

Konstruktor

FileDataset()

Hinweise

FileDataset kann als Eingabe für eine Experimentausführung verwendet werden. Es kann auch bei einem Arbeitsbereich mit einem angegebenen Namen registriert und später mit diesem Namen abgerufen werden.

FileDataset kann durch Aufrufen verschiedener Untereinteilungsmethoden, die für diese Klasse verfügbar sind, teilbar sein. Das Ergebnis der Untereinteilung ist immer ein neues FileDataset.

Das eigentliche Laden von Daten erfolgt, wenn FileDataset aufgefordert wird, die Daten in einen anderen Speichermechanismus zu übertragen (z. B. heruntergeladene oder in den lokalen Pfad eingebundene Dateien).

Methoden

as_cache

Hinweis

Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.

Erstellen Sie eine DatacacheConsumptionConfig, die einem datacache_store und einem Dataset zugeordnet ist.

as_download

Erstellen Sie eine DatasetConsumptionConfig-Datei mit eingestelltem Downloadmodus.

Bei der übermittelten Ausführung werden Dateien im Dataset in den lokalen Pfad auf dem Computeziel heruntergeladen. Der Downloadspeicherort kann aus Argumentwerten und dem Feld input_datasets des Ausführungskontexts abgerufen werden. Wir generieren automatisch einen Eingabenamen. Wenn Sie einen benutzerdefinierten Eingabenamen angeben möchten, rufen Sie die Methode as_named_input auf.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_download()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The download location can be retrieved from argument values
   import sys
   download_location = sys.argv[1]

   # The download location can also be retrieved from input_datasets of the run context.
   from azureml.core import Run
   download_location = Run.get_context().input_datasets['input_1']
as_hdfs

Legen Sie den Modus auf hdfs fest.

Bei der übermittelten Synapse-Ausführung werden Dateien in den Datasets in den lokalen Pfad auf dem Computeziel konvertiert. Der HDFS-Pfad kann aus Argumentwerten und den Betriebssystemumgebungsvariablen abgerufen werden.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_hdfs()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The hdfs path can be retrieved from argument values
   import sys
   hdfs_path = sys.argv[1]

   # The hdfs path can also be retrieved from input_datasets of the run context.
   import os
   hdfs_path = os.environ['input_<hash>']
as_mount

Erstellen Sie eine DatasetConsumptionConfig-Datei mit eingestelltem Einbindemodus.

Bei der übermittelten Ausführung werden Dateien in den Datasets in den lokalen Pfad auf dem Computeziel eingebunden. Der Bereitstellungspunkt kann aus Argumentwerten und dem Feld input_datasets des Ausführungskontexts abgerufen werden. Wir generieren automatisch einen Eingabenamen. Wenn Sie einen benutzerdefinierten Eingabenamen angeben möchten, rufen Sie die Methode as_named_input auf.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_mount()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The mount point can be retrieved from argument values
   import sys
   mount_point = sys.argv[1]

   # The mount point can also be retrieved from input_datasets of the run context.
   from azureml.core import Run
   mount_point = Run.get_context().input_datasets['input_1']
download

Laden Sie Dateistreams herunter, die vom Dataset als lokale Dateien definiert sind.

file_metadata

Hinweis

Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.

Abrufen des Dateimetadatenausdrucks durch Angabe des Metadatenspaltennamens.

Unterstützte Dateimetadatenspalten sind „Size“, „LastModifiedTime“, „CreationTime“, „Extension“ und „CanSeek“.

filter

Hinweis

Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.

Filtern Sie die Daten, und lassen Sie nur die Datensätze zurück, die mit dem angegebenen Ausdruck übereinstimmen.

hydrate

Hinweis

Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.

Befüllen Sie das Dataset in die angeforderten Replikate, die in datacache_store angegeben sind.

mount

Erstellen Sie einen Kontext-Verwalter zum Einbinden von Dateistreams, die vom Dataset als lokale Dateien definiert werden.

random_split

Teilen Sie Dateistreams im Dataset nach dem Zufallsprinzip und ungefähr nach dem angegebenen Prozentsatz in zwei Teile auf.

Das erste zurückgegebene Dataset enthält ungefähr percentage der Gesamtzahl der Dateiverweise, und das zweite Dataset enthält die verbleibenden Dateiverweise.

skip

Überspringen Sie Dateistreams am Anfang des Datasets um die angegebene Anzahl.

take

Nehmen Sie eine Stichprobe der Dateistreams vom Anfang des Datasets nach der angegebenen Anzahl.

take_sample

Nehmen Sie eine zufällige Stichprobe von Dateistreams im Dataset, ungefähr nach der angegebenen Wahrscheinlichkeit.

to_path

Hier finden Sie eine Liste der Dateipfade für jeden Dateistream, der durch das Dataset definiert wird.

as_cache

Hinweis

Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.

Erstellen Sie eine DatacacheConsumptionConfig, die einem datacache_store und einem Dataset zugeordnet ist.

as_cache(datacache_store)

Parameter

Name Beschreibung
datacache_store
Erforderlich

Der Datencachespeicher, der zum Befüllen verwendet werden soll.

Gibt zurück

Typ Beschreibung

Das Konfigurationsobjekt, das beschreibt, wie der Datacache während der Ausführung materialisiert werden soll.

as_download

Erstellen Sie eine DatasetConsumptionConfig-Datei mit eingestelltem Downloadmodus.

Bei der übermittelten Ausführung werden Dateien im Dataset in den lokalen Pfad auf dem Computeziel heruntergeladen. Der Downloadspeicherort kann aus Argumentwerten und dem Feld input_datasets des Ausführungskontexts abgerufen werden. Wir generieren automatisch einen Eingabenamen. Wenn Sie einen benutzerdefinierten Eingabenamen angeben möchten, rufen Sie die Methode as_named_input auf.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_download()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The download location can be retrieved from argument values
   import sys
   download_location = sys.argv[1]

   # The download location can also be retrieved from input_datasets of the run context.
   from azureml.core import Run
   download_location = Run.get_context().input_datasets['input_1']
as_download(path_on_compute=None)

Parameter

Name Beschreibung
path_on_compute
str

Der Zielpfad auf dem Compute, unter dem die Daten zur Verfügung gestellt werden.

Standardwert: None

Hinweise

Wenn das Dataset aus dem Pfad einer einzelnen Datei erstellt wird, ist der Downloadspeicherort der Pfad der einzelnen heruntergeladenen Datei. Andernfalls ist der Downloadspeicherort der Pfad des umschließenden Ordners für alle heruntergeladenen Dateien.

Wenn path_on_compute mit einem / beginnt, wird er als absoluter Pfad behandelt. Wenn er nicht mit einem / beginnt, wird er als relativer Pfad relativ zum Arbeitsverzeichnis behandelt. Wenn Sie einen absoluten Pfad angegeben haben, stellen Sie sicher, dass der Auftrag über die Berechtigung zum Schreiben in dieses Verzeichnis verfügt.

as_hdfs

Legen Sie den Modus auf hdfs fest.

Bei der übermittelten Synapse-Ausführung werden Dateien in den Datasets in den lokalen Pfad auf dem Computeziel konvertiert. Der HDFS-Pfad kann aus Argumentwerten und den Betriebssystemumgebungsvariablen abgerufen werden.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_hdfs()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The hdfs path can be retrieved from argument values
   import sys
   hdfs_path = sys.argv[1]

   # The hdfs path can also be retrieved from input_datasets of the run context.
   import os
   hdfs_path = os.environ['input_<hash>']
as_hdfs()

Hinweise

Wenn das Dataset aus dem Pfad einer einzelnen Datei erstellt wird, ist der HDFS-Pfad der Pfad der einzelnen Datei. Andernfalls ist der HDFS-Pfad der Pfad des einschließenden Ordners für alle eingebundenen Dateien.

as_mount

Erstellen Sie eine DatasetConsumptionConfig-Datei mit eingestelltem Einbindemodus.

Bei der übermittelten Ausführung werden Dateien in den Datasets in den lokalen Pfad auf dem Computeziel eingebunden. Der Bereitstellungspunkt kann aus Argumentwerten und dem Feld input_datasets des Ausführungskontexts abgerufen werden. Wir generieren automatisch einen Eingabenamen. Wenn Sie einen benutzerdefinierten Eingabenamen angeben möchten, rufen Sie die Methode as_named_input auf.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_mount()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The mount point can be retrieved from argument values
   import sys
   mount_point = sys.argv[1]

   # The mount point can also be retrieved from input_datasets of the run context.
   from azureml.core import Run
   mount_point = Run.get_context().input_datasets['input_1']
as_mount(path_on_compute=None)

Parameter

Name Beschreibung
path_on_compute
str

Der Zielpfad auf dem Compute, unter dem die Daten zur Verfügung gestellt werden.

Standardwert: None

Hinweise

Wenn das Dataset aus dem Pfad einer einzelnen Datei erstellt wird, ist der Bereitstellungspunkt der Pfad der einzelnen eingebundenen Datei. Andernfalls ist der Bereitstellungspunkt der Pfad des einschließenden Ordners für alle bereitgestellten Dateien.

Wenn path_on_compute mit einem / beginnt, wird er als absoluter Pfad behandelt. Wenn er nicht mit einem / beginnt, wird er als relativer Pfad relativ zum Arbeitsverzeichnis behandelt. Wenn Sie einen absoluten Pfad angegeben haben, stellen Sie sicher, dass der Auftrag über die Berechtigung zum Schreiben in dieses Verzeichnis verfügt.

download

Laden Sie Dateistreams herunter, die vom Dataset als lokale Dateien definiert sind.

download(target_path=None, overwrite=False, ignore_not_found=False)

Parameter

Name Beschreibung
target_path
Erforderlich
str

Das lokale Verzeichnis, in das die Dateien heruntergeladen werden. Bei „None“ (Keine) werden die Daten in ein temporäres Verzeichnis heruntergeladen.

overwrite
Erforderlich

Gibt an, ob vorhandene Dateien überschrieben werden. Die Standardeinstellung lautet „false“. Vorhandene Dateien werden überschrieben, wenn „overwrite“ auf „True“ festgelegt ist. Andernfalls wird eine Ausnahme ausgelöst.

ignore_not_found
Erforderlich

Gibt an, ob der Download fehlschlägt, wenn einige Dateien, auf die vom Dataset verwiesen wird, nicht gefunden werden. Die Standardeinstellung lautet „false“. Der Download gilt als fehlgeschlagen, wenn ein Dateidownload aus irgendeinem Grund fehlschlägt, wenn ignore_not_found auf False festgelegt ist. Andernfalls wird eine Warnung für nicht gefundene Fehler protokolliert, und der Download ist erfolgreich, solange keine anderen Fehlertypen gefunden werden.

Gibt zurück

Typ Beschreibung

Gibt ein Array von Dateipfaden für jede heruntergeladene Datei zurück.

Hinweise

Wenn target_path mit einem / beginnt, wird er als absoluter Pfad behandelt. Wenn er nicht mit einem / beginnt, wird er als relativer Pfad relativ zum aktuellen Arbeitsverzeichnis behandelt.

file_metadata

Hinweis

Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.

Abrufen des Dateimetadatenausdrucks durch Angabe des Metadatenspaltennamens.

Unterstützte Dateimetadatenspalten sind „Size“, „LastModifiedTime“, „CreationTime“, „Extension“ und „CanSeek“.

file_metadata(col)

Parameter

Name Beschreibung
col
Erforderlich
str

Name der Spalte

Gibt zurück

Typ Beschreibung
<xref:azureml.dataprep.api.expression.RecordFieldExpression>

Dient zum Zurückgeben eines Ausdrucks, der den Wert in der angegebenen Spalte abruft.

filter

Hinweis

Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.

Filtern Sie die Daten, und lassen Sie nur die Datensätze zurück, die mit dem angegebenen Ausdruck übereinstimmen.

filter(expression)

Parameter

Name Beschreibung
expression
Erforderlich
<xref:azureml.dataprep.api.expression.Expression>

Der auszuwertende Ausdruck.

Gibt zurück

Typ Beschreibung

Das geänderte Dataset (nicht registriert).

Hinweise

Ausdrücke werden gestartet, indem das Dataset mit dem Namen einer Spalte indiziert wird. Sie unterstützen eine Vielzahl von Funktionen und Operatoren und können mithilfe von logischen Operatoren kombiniert werden. Der resultierende Ausdruck wird verzögert für jeden Datensatz ausgewertet, wenn ein Datenpullvorgang erfolgt, und nicht an der Stelle, an der er definiert ist.


   (dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
   dataset.file_metadata('Extension').starts_with('j')

hydrate

Hinweis

Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.

Befüllen Sie das Dataset in die angeforderten Replikate, die in datacache_store angegeben sind.

hydrate(datacache_store, replica_count=None)

Parameter

Name Beschreibung
datacache_store
Erforderlich

Der Datencachespeicher, der zum Befüllen verwendet werden soll.

replica_count
Erforderlich
<xref:Int>, <xref:optional>

Anzahl der zu befüllenden Replikate.

Gibt zurück

Typ Beschreibung

Das Konfigurationsobjekt, das beschreibt, wie der Datacache während der Ausführung materialisiert werden soll.

mount

Erstellen Sie einen Kontext-Verwalter zum Einbinden von Dateistreams, die vom Dataset als lokale Dateien definiert werden.

mount(mount_point=None, **kwargs)

Parameter

Name Beschreibung
mount_point
Erforderlich
str

Das lokale Verzeichnis, in das die Dateien eingebunden werden. Bei „None“ werden die Daten in ein temporäres Verzeichnis eingebunden, das Sie durch Aufrufen der Instanzmethode MountContext.mount_point ermitteln können.

Gibt zurück

Typ Beschreibung
<xref:MountContext>: <xref:the> <xref:context> <xref:manager.> <xref:Upon> <xref:entering> <xref:the> <xref:context> <xref:manager>, <xref:the> <xref:dataflow> <xref:will> <xref:be> <xref:mounted> <xref:to> <xref:the> <xref:mount_point.> <xref:Upon> exit, <xref:it> <xref:will> <xref:remove> <xref:the> mount <xref:point> <xref:and> clean <xref:up> <xref:the> <xref:daemon> <xref:process> <xref:used> <xref:to> mount <xref:the> <xref:dataflow.>

Gibt einen Kontext-Verwalter zum Verwalten des Lebenszyklus des Einbindens zurück.

Hinweise

Ein Kontext-Manager zum Verwalten des Lebenszyklus der Einbindung wird zurückgegeben. Zum Einbinden müssen Sie den Kontext-Verwalter eingeben und die Bereitstellung vom Kontext-Verwalter beenden.

Das Einbinden wird nur unter UNIX oder UNIX-ähnlichen Betriebssystemen unterstützt, auf denen das native Paket „libfuse“ installiert ist. Wenn Sie in einem Docker-Container ausführen, muss der Docker-Container mit dem Flag –privileged oder mit –cap-add SYS_ADMIN –device /dev/fuse gestartet werden.


   datastore = Datastore.get(workspace, 'workspaceblobstore')
   dataset = Dataset.File.from_files((datastore, 'animals/dog/year-*/*.jpg'))

   with dataset.mount() as mount_context:
       # list top level mounted files and folders in the dataset
       os.listdir(mount_context.mount_point)

   # You can also use the start and stop methods
   mount_context = dataset.mount()
   mount_context.start()  # this will mount the file streams
   mount_context.stop()  # this will unmount the file streams

Wenn target_path mit einem / beginnt, wird er als absoluter Pfad behandelt. Wenn er nicht mit einem / beginnt, wird er als relativer Pfad relativ zum aktuellen Arbeitsverzeichnis behandelt.

random_split

Teilen Sie Dateistreams im Dataset nach dem Zufallsprinzip und ungefähr nach dem angegebenen Prozentsatz in zwei Teile auf.

Das erste zurückgegebene Dataset enthält ungefähr percentage der Gesamtzahl der Dateiverweise, und das zweite Dataset enthält die verbleibenden Dateiverweise.

random_split(percentage, seed=None)

Parameter

Name Beschreibung
percentage
Erforderlich

Der ungefähre Prozentsatz, nach dem das Dataset aufgeteilt werden soll. Es muss eine Zahl zwischen 0,0 und 1,0 sein.

seed
Erforderlich
int

Ein optionaler Seed, der für den Zufallsgenerator verwendet werden soll.

Gibt zurück

Typ Beschreibung

Gibt ein Tupel neuer FileDataset-Objekte zurück, die die beiden Datasets nach der Teilung darstellen.

skip

Überspringen Sie Dateistreams am Anfang des Datasets um die angegebene Anzahl.

skip(count)

Parameter

Name Beschreibung
count
Erforderlich
int

Die Anzahl der zu überspringenden Dateistreams.

Gibt zurück

Typ Beschreibung

Gibt ein neues FileDataset-Objekt zurück, das ein Dataset mit übersprungenen Dateistreams darstellt.

take

Nehmen Sie eine Stichprobe der Dateistreams vom Anfang des Datasets nach der angegebenen Anzahl.

take(count)

Parameter

Name Beschreibung
count
Erforderlich
int

Die Anzahl der zu übernehmenden Dateistreams.

Gibt zurück

Typ Beschreibung

Gibt ein neues FileDataset-Objekt zurück, das das Dataset mit der entnommenen Stichprobe darstellt.

take_sample

Nehmen Sie eine zufällige Stichprobe von Dateistreams im Dataset, ungefähr nach der angegebenen Wahrscheinlichkeit.

take_sample(probability, seed=None)

Parameter

Name Beschreibung
probability
Erforderlich

Die Wahrscheinlichkeit, dass ein Dateistream in die Stichprobe aufgenommen wird.

seed
Erforderlich
int

Ein optionaler Seed, der für den Zufallsgenerator verwendet werden soll.

Gibt zurück

Typ Beschreibung

Gibt ein neues FileDataset-Objekt zurück, das das Dataset mit der entnommenen Stichprobe darstellt.

to_path

Hier finden Sie eine Liste der Dateipfade für jeden Dateistream, der durch das Dataset definiert wird.

to_path()

Gibt zurück

Typ Beschreibung

Gibt ein Array von Dateipfaden zurück.

Hinweise

Die Dateipfade sind relative Pfade für lokale Dateien, wenn die Dateistreams heruntergeladen oder eingebunden werden.

Ein allgemeines Präfix wird aus den Dateipfaden entfernt, je nach Angabe der Datenquelle zum Erstellen des Datasets. Beispiel:


   datastore = Datastore.get(workspace, 'workspaceblobstore')
   dataset = Dataset.File.from_files((datastore, 'animals/dog/year-*/*.jpg'))
   print(dataset.to_path())

   # ['year-2018/1.jpg'
   #  'year-2018/2.jpg'
   #  'year-2019/1.jpg']

   dataset = Dataset.File.from_files('https://dprepdata.blob.core.windows.net/demo/green-small/*.csv')

   print(dataset.to_path())
   # ['/green_tripdata_2013-08.csv']