FileDataset Třída

Představuje kolekci odkazů na soubory v úložištích dat nebo veřejné adresy URL, které se mají použít ve službě Azure Machine Learning.

FileDataset definuje řadu líně vyhodnocených, neměnných operací pro načtení dat ze zdroje dat do datových proudů souborů. Data se nenačtou ze zdroje, dokud se nepožádá sada FileDataset o doručení dat.

FileDataset je vytvořen pomocí from_files metody FileDatasetFactory třídy.

Další informace najdete v článku Přidání & registrace datových sad. Pokud chcete začít pracovat se souborovou datovou sadou, přečtěte si téma https://aka.ms/filedataset-samplenotebook.

Inicializujte objekt FileDataset.

Tento konstruktor by neměl být vyvolán přímo. Datová sada se má vytvořit pomocí FileDatasetFactory třídy.

Dědičnost
FileDataset

Konstruktor

FileDataset()

Poznámky

FileDataset lze použít jako vstup spuštění experimentu. Můžete ho také zaregistrovat do pracovního prostoru se zadaným názvem a později ho načíst.

FileDataset může být subsetted vyvoláním různých metod podnastavení dostupných v této třídě. Výsledkem podnastavení je vždy nová sada FileDataset.

Ke skutečnému načítání dat dochází, když je fileDataset požádán o doručení dat do jiného mechanismu úložiště (např. souborů stažených nebo připojených k místní cestě).

Metody

as_cache

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Vytvořte datacacheConsumptionConfig namapovanou na datacache_store a datovou sadu.

as_download

Vytvořte DatasetConsumptionConfig s režimem nastaveným ke stažení.

V odeslaném spuštění se soubory v datové sadě stáhnou do místní cesty na cílovém výpočetním objektu. Umístění ke stažení lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme název vstupu. Pokud chcete zadat vlastní název vstupu, zavolejte metodu as_named_input.


   # 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

Nastavte režim na hdfs.

Při odeslaném spuštění Synapse se soubory v datových sadách převedou na místní cestu v cílovém výpočetním objektu. Cestu hdfs je možné načíst z hodnot argumentů a proměnných prostředí operačního systému.


   # 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

Vytvořte DatasetConsumptionConfig s režimem nastaveným na připojení.

V odeslaném spuštění se soubory v datových sadách připojí k místní cestě v cílovém výpočetním objektu. Přípojný bod lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme název vstupu. Pokud chcete zadat vlastní název vstupu, zavolejte metodu as_named_input.


   # 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

Stáhněte datové proudy souborů definované datovou sadou jako místní soubory.

file_metadata

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Získejte výraz metadat souboru zadáním názvu sloupce metadat.

Podporované sloupce metadat souborů jsou Size, LastModifiedTime, CreationTime, Extension a CanSeek.

filter

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Filtrujte data a ponechte pouze záznamy, které odpovídají zadanému výrazu.

hydrate

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Hydratujte datovou sadu do požadovaných replik uvedených v datacache_store.

mount

Vytvořte kontextový správce pro připojení datových proudů souborů definovaných datovou sadou jako místní soubory.

random_split

Rozdělte datové proudy souborů v datové sadě na dvě části náhodně a přibližně podle zadaného procenta.

První vrácená datová sada obsahuje přibližně percentage celkový počet odkazů na soubory a druhá datová sada obsahuje zbývající odkazy na soubory.

skip

Přeskočte datové proudy souborů z horní části datové sady podle zadaného počtu.

take

Vezměte si ukázku datových proudů souborů z horní části datové sady podle zadaného počtu.

take_sample

Vezměte náhodný vzorek datových proudů souborů v datové sadě přibližně podle zadané pravděpodobnosti.

to_path

Získejte seznam cest k souborům pro každý datový proud souborů definovaných datovou sadou.

as_cache

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Vytvořte datacacheConsumptionConfig namapovanou na datacache_store a datovou sadu.

as_cache(datacache_store)

Parametry

datacache_store
DatacacheStore
Vyžadováno

Úložiště mezipaměti dat, které se má použít k hydrataci.

Návraty

Objekt konfigurace popisující, jak by se měla mezipaměť dat materializovat při spuštění.

Návratový typ

as_download

Vytvořte DatasetConsumptionConfig s režimem nastaveným ke stažení.

V odeslaném spuštění se soubory v datové sadě stáhnou do místní cesty na cílovém výpočetním objektu. Umístění ke stažení lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme název vstupu. Pokud chcete zadat vlastní název vstupu, zavolejte metodu as_named_input.


   # 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)

Parametry

path_on_compute
str
výchozí hodnota: None

Cílová cesta na výpočetním prostředí, na které se mají data zpřístupnit.

Poznámky

Když je datová sada vytvořená z cesty k jednomu souboru, umístěním ke stažení bude cesta k jednomu staženého souboru. V opačném případě bude umístěním ke stažení cesta k nadřazené složce pro všechny stažené soubory.

Pokud path_on_compute začíná na /, bude považován za absolutní cestu. Pokud nezačíná na /, bude považován za relativní cestu vzhledem k pracovnímu adresáři. Pokud jste zadali absolutní cestu, ujistěte se, že úloha má oprávnění k zápisu do daného adresáře.

as_hdfs

Nastavte režim na hdfs.

Při odeslaném spuštění Synapse se soubory v datových sadách převedou na místní cestu v cílovém výpočetním objektu. Cestu hdfs je možné načíst z hodnot argumentů a proměnných prostředí operačního systému.


   # 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()

Poznámky

Když se datová sada vytvoří z cesty k jednomu souboru, bude cesta hdfs cesta k jednomu souboru. V opačném případě bude cesta HDFS cesta k nadřazené složce pro všechny připojené soubory.

as_mount

Vytvořte DatasetConsumptionConfig s režimem nastaveným na připojení.

V odeslaném spuštění se soubory v datových sadách připojí k místní cestě v cílovém výpočetním objektu. Přípojný bod lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme název vstupu. Pokud chcete zadat vlastní název vstupu, zavolejte metodu as_named_input.


   # 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)

Parametry

path_on_compute
str
výchozí hodnota: None

Cílová cesta na výpočetním prostředí, na které se mají data zpřístupnit.

Poznámky

Při vytvoření datové sady z cesty k jednomu souboru bude přípojným bodem cesta k jednomu připojenému souboru. Jinak bude přípojným bodem cesta k ohraničující složce pro všechny připojené soubory.

Pokud path_on_compute začíná na /, bude považován za absolutní cestu. Pokud nezačíná na /, bude považován za relativní cestu vzhledem k pracovnímu adresáři. Pokud jste zadali absolutní cestu, ujistěte se, že úloha má oprávnění k zápisu do daného adresáře.

download

Stáhněte datové proudy souborů definované datovou sadou jako místní soubory.

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

Parametry

target_path
str
Vyžadováno

Místní adresář, do který se mají soubory stáhnout. Pokud žádná, data se stáhnou do dočasného adresáře.

overwrite
bool
Vyžadováno

Určuje, zda se mají přepsat existující soubory. Výchozí hodnota je Nepravda. Existující soubory budou přepsány, pokud je přepsání nastaveno na True; jinak bude vyvolána výjimka.

ignore_not_found
bool
Vyžadováno

Označuje, jestli se stažení nezdaří, pokud se některé soubory odkazované datovou sadou nenajdou. Výchozí hodnota je Nepravda. Stahování selže, pokud jakýkoli soubor z nějakého důvodu selže, pokud je ignore_not_found nastavena na False; v opačném případě bude protokolován waring pro chyby nenalezena a dowload bude úspěšné, pokud nejsou zjištěny žádné jiné typy chyb.

Návraty

Vrátí pole cest k souborům pro každý stažený soubor.

Návratový typ

Poznámky

Pokud target_path začíná na /, bude považován za absolutní cestu. Pokud nezačíná na /, bude považován za relativní cestu vzhledem k aktuálnímu pracovnímu adresáři.

file_metadata

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Získejte výraz metadat souboru zadáním názvu sloupce metadat.

Podporované sloupce metadat souborů jsou Size, LastModifiedTime, CreationTime, Extension a CanSeek.

file_metadata(col)

Parametry

col
str
Vyžadováno

Název sloupce

Návraty

Vrátí výraz, který načte hodnotu v zadaném sloupci.

Návratový typ

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

filter

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Filtrujte data a ponechte pouze záznamy, které odpovídají zadanému výrazu.

filter(expression)

Parametry

expression
<xref:azureml.dataprep.api.expression.Expression>
Vyžadováno

Výraz, který se má vyhodnotit.

Návraty

Upravená datová sada (neregistrovaná).

Návratový typ

Poznámky

Výrazy se spouští indexováním datové sady s názvem sloupce. Podporují různé funkce a operátory a dají se kombinovat pomocí logických operátorů. Výsledný výraz se bude líně vyhodnocovat pro každý záznam, když dojde k vyžádání dat, a ne tam, kde je definován.


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

hydrate

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Hydratujte datovou sadu do požadovaných replik uvedených v datacache_store.

hydrate(datacache_store, replica_count=None)

Parametry

datacache_store
DatacacheStore
Vyžadováno

Úložiště mezipaměti dat, které se má použít k hydrataci.

replica_count
<xref:Int>, <xref:optional>
Vyžadováno

Počet replik k hydrataci.

Návraty

Objekt konfigurace popisující, jak by se měla mezipaměť dat materializovat při spuštění.

Návratový typ

mount

Vytvořte kontextový správce pro připojení datových proudů souborů definovaných datovou sadou jako místní soubory.

mount(mount_point=None, **kwargs)

Parametry

mount_point
str
Vyžadováno

Místní adresář, ke které se mají soubory připojit. Pokud žádná, data se připojí k dočasnému adresáři, který můžete najít voláním MountContext.mount_point metody instance.

Návraty

Vrátí správce kontextu pro správu životního cyklu připojení.

Návratový typ

<xref:<xref:MountContext: the context manager. Upon entering the context manager>, <xref:the dataflow will bemounted to the mount_point. Upon exit>, <xref:it will remove the mount point and clean up the daemon processused to mount the dataflow.>>

Poznámky

Vrátí se správce kontextu umožňující spravovat životní cyklus připojení. K připojení budete muset zadat správce kontextu a odpojit ho, ukončit ho.

Připojení se podporuje pouze v operačních systémech Unix nebo na bázi systému Unix s nainstalovaným nativním balíčkem libfuse. Pokud používáte v kontejneru Dockeru, musí se kontejner dockeru spustit s příznakem –privileged nebo s –cap-add SYS_ADMIN –device /dev/fuse.


   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

Pokud target_path začíná na /, bude považován za absolutní cestu. Pokud nezačíná na /, bude považován za relativní cestu vzhledem k aktuálnímu pracovnímu adresáři.

random_split

Rozdělte datové proudy souborů v datové sadě na dvě části náhodně a přibližně podle zadaného procenta.

První vrácená datová sada obsahuje přibližně percentage celkový počet odkazů na soubory a druhá datová sada obsahuje zbývající odkazy na soubory.

random_split(percentage, seed=None)

Parametry

percentage
float
Vyžadováno

Přibližné procento, podle které chcete datovou sadu rozdělit. Musí to být číslo od 0,0 do 1,0.

seed
int
Vyžadováno

Volitelné seed, které se má použít pro náhodný generátor.

Návraty

Vrátí řazenou kolekci členů nových fileDataset objektů představujících dvě datové sady po rozdělení.

Návratový typ

skip

Přeskočte datové proudy souborů z horní části datové sady podle zadaného počtu.

skip(count)

Parametry

count
int
Vyžadováno

Počet datových proudů souborů, které se mají přeskočit.

Návraty

Vrátí nový objekt FileDataset představující datovou sadu s přeskočenými datovými proudy souborů.

Návratový typ

take

Vezměte si ukázku datových proudů souborů z horní části datové sady podle zadaného počtu.

take(count)

Parametry

count
int
Vyžadováno

Počet datových proudů souborů, které se mají vzít.

Návraty

Vrátí nový fileDataset objekt představující ukázkovou datovou sadu.

Návratový typ

take_sample

Vezměte náhodný vzorek datových proudů souborů v datové sadě přibližně podle zadané pravděpodobnosti.

take_sample(probability, seed=None)

Parametry

probability
float
Vyžadováno

Pravděpodobnost zahrnutí datového proudu souboru do vzorku

seed
int
Vyžadováno

Volitelné seed, které se má použít pro náhodný generátor.

Návraty

Vrátí nový fileDataset objekt představující ukázkovou datovou sadu.

Návratový typ

to_path

Získejte seznam cest k souborům pro každý datový proud souborů definovaných datovou sadou.

to_path()

Návraty

Vrátí pole cest k souborům.

Návratový typ

Poznámky

Cesty k souborům jsou relativní cesty pro místní soubory při stahování nebo připojení datových proudů souborů.

Z cest k souborům se odebere běžná předpona v závislosti na tom, jak byl zadán zdroj dat pro vytvoření datové sady. Příklad:


   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']