Udostępnij za pośrednictwem


FileDataset Klasa

Reprezentuje kolekcję odwołań do plików w magazynach danych lub publicznych adresach URL do użycia w usłudze Azure Machine Learning.

Element FileDataset definiuje serię niezmienianych, niezmiennych operacji ładowania danych ze źródła danych do strumieni plików. Dane nie są ładowane ze źródła, dopóki zestaw FileDataset nie zostanie poproszony o dostarczenie danych.

Zestaw FileDataset jest tworzony przy użyciu from_files metody klasy FileDatasetFactory.

Aby uzyskać więcej informacji, zobacz artykuł Dodawanie & rejestrowania zestawów danych. Aby rozpocząć pracę z zestawem danych plików, zobacz https://aka.ms/filedataset-samplenotebook.

Zainicjuj obiekt FileDataset.

Ten konstruktor nie powinien być wywoływany bezpośrednio. Zestaw danych ma zostać utworzony przy użyciu FileDatasetFactory klasy.

Dziedziczenie
FileDataset

Konstruktor

FileDataset()

Uwagi

PlikDataset może służyć jako dane wejściowe przebiegu eksperymentu. Można ją również zarejestrować w obszarze roboczym o określonej nazwie i pobrać ją później.

Zestaw fileDataset można podzestawować, wywołując różne metody podsettingu dostępne w tej klasie. Wynik podsettingu jest zawsze nowym zestawem FileDataset.

Rzeczywiste ładowanie danych odbywa się, gdy zostanie wyświetlony monit o dostarczenie danych do innego mechanizmu magazynu (np. plików pobranych lub zainstalowanych do ścieżki lokalnej).

Metody

as_cache

Uwaga

Jest to metoda eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.

Utwórz element DatacacheConsumptionConfig zamapowany na datacache_store i zestaw danych.

as_download

Utwórz element DatasetConsumptionConfig z ustawionym trybem do pobrania.

W przesłanym przebiegu pliki w zestawie danych zostaną pobrane do ścieżki lokalnej w docelowym obiekcie obliczeniowym. Lokalizację pobierania można pobrać z wartości argumentów i pola input_datasets kontekstu przebiegu. Automatycznie wygenerujemy nazwę wejściową. Jeśli chcesz określić niestandardową nazwę danych wejściowych, wywołaj metodę 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

Ustaw tryb na hdfs.

W przesłanym przebiegu synapse pliki w zestawach danych zostaną przekonwertowane na ścieżkę lokalną w obiekcie docelowym obliczeń. Ścieżkę hdfs można pobrać z wartości argumentów i zmiennych środowiskowych systemu operacyjnego.


   # 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

Utwórz element DatasetConsumptionConfig z ustawionym trybem instalacji.

W przesłanym przebiegu pliki w zestawach danych zostaną zainstalowane do ścieżki lokalnej na docelowym obiekcie obliczeniowym. Punkt instalacji można pobrać z wartości argumentów i pola input_datasets kontekstu uruchomienia. Automatycznie wygenerujemy nazwę wejściową. Jeśli chcesz określić niestandardową nazwę danych wejściowych, wywołaj metodę 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

Pobierz strumienie plików zdefiniowane przez zestaw danych jako pliki lokalne.

file_metadata

Uwaga

Jest to metoda eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.

Pobierz wyrażenie metadanych pliku, określając nazwę kolumny metadanych.

Obsługiwane kolumny metadanych pliku to Rozmiar, LastModifiedTime, CreationTime, Extension i CanSeek

filter

Uwaga

Jest to metoda eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.

Przefiltruj dane, pozostawiając tylko rekordy zgodne z określonym wyrażeniem.

hydrate

Uwaga

Jest to metoda eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.

Nawodnienie zestawu danych do żądanych replik określonych w datacache_store.

mount

Utwórz menedżera kontekstu do instalowania strumieni plików zdefiniowanych przez zestaw danych jako pliki lokalne.

random_split

Podziel strumienie plików w zestawie danych na dwie części losowo i w przybliżeniu według określonej wartości procentowej.

Zwrócony pierwszy zestaw danych zawiera około percentage całkowitej liczby odwołań do plików, a drugi zestaw danych zawiera pozostałe odwołania do plików.

skip

Pomiń strumienie plików z góry zestawu danych według określonej liczby.

take

Weź przykład strumieni plików z góry zestawu danych według określonej liczby.

take_sample

Weź losową próbkę strumieni plików w zestawie danych w przybliżeniu według określonego prawdopodobieństwa.

to_path

Pobierz listę ścieżek plików dla każdego strumienia plików zdefiniowanego przez zestaw danych.

as_cache

Uwaga

Jest to metoda eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.

Utwórz element DatacacheConsumptionConfig zamapowany na datacache_store i zestaw danych.

as_cache(datacache_store)

Parametry

Nazwa Opis
datacache_store
Wymagane

Magazyn usługi datacache używany do nawodnienia.

Zwraca

Typ Opis

Obiekt konfiguracji opisujący sposób materializacji pamięci podręcznej danych w przebiegu.

as_download

Utwórz element DatasetConsumptionConfig z ustawionym trybem do pobrania.

W przesłanym przebiegu pliki w zestawie danych zostaną pobrane do ścieżki lokalnej w docelowym obiekcie obliczeniowym. Lokalizację pobierania można pobrać z wartości argumentów i pola input_datasets kontekstu przebiegu. Automatycznie wygenerujemy nazwę wejściową. Jeśli chcesz określić niestandardową nazwę danych wejściowych, wywołaj metodę 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

Nazwa Opis
path_on_compute
str

Ścieżka docelowa w obliczeniach w celu udostępnienia danych.

Domyślna wartość: None

Uwagi

Po utworzeniu zestawu danych na podstawie ścieżki pojedynczego pliku lokalizacja pobierania będzie ścieżką pojedynczego pobranego pliku. W przeciwnym razie lokalizacja pobierania będzie ścieżką otaczającego folderu dla wszystkich pobranych plików.

Jeśli path_on_compute zaczyna się od /, będzie traktowana jako ścieżka bezwzględna. Jeśli nie zaczyna się od /, będzie traktowana jako ścieżka względna względem katalogu roboczego. Jeśli określono ścieżkę bezwzględną, upewnij się, że zadanie ma uprawnienia do zapisu w tym katalogu.

as_hdfs

Ustaw tryb na hdfs.

W przesłanym przebiegu synapse pliki w zestawach danych zostaną przekonwertowane na ścieżkę lokalną w obiekcie docelowym obliczeń. Ścieżkę hdfs można pobrać z wartości argumentów i zmiennych środowiskowych systemu operacyjnego.


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

Uwagi

Po utworzeniu zestawu danych na podstawie ścieżki pojedynczego pliku ścieżka hdfs będzie ścieżką pojedynczego pliku. W przeciwnym razie ścieżka hdfs będzie ścieżką otaczającego folderu dla wszystkich zainstalowanych plików.

as_mount

Utwórz element DatasetConsumptionConfig z ustawionym trybem instalacji.

W przesłanym przebiegu pliki w zestawach danych zostaną zainstalowane do ścieżki lokalnej na docelowym obiekcie obliczeniowym. Punkt instalacji można pobrać z wartości argumentów i pola input_datasets kontekstu uruchomienia. Automatycznie wygenerujemy nazwę wejściową. Jeśli chcesz określić niestandardową nazwę danych wejściowych, wywołaj metodę 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

Nazwa Opis
path_on_compute
str

Ścieżka docelowa w obliczeniach w celu udostępnienia danych.

Domyślna wartość: None

Uwagi

Po utworzeniu zestawu danych na podstawie ścieżki pojedynczego pliku punkt instalacji będzie ścieżką pojedynczego zainstalowanego pliku. W przeciwnym razie punkt instalacji będzie ścieżką otaczającego folderu dla wszystkich zainstalowanych plików.

Jeśli path_on_compute zaczyna się od /, będzie traktowana jako ścieżka bezwzględna. Jeśli nie zaczyna się od /, będzie traktowana jako ścieżka względna względem katalogu roboczego. Jeśli określono ścieżkę bezwzględną, upewnij się, że zadanie ma uprawnienia do zapisu w tym katalogu.

download

Pobierz strumienie plików zdefiniowane przez zestaw danych jako pliki lokalne.

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

Parametry

Nazwa Opis
target_path
Wymagane
str

Katalog lokalny do pobrania plików. Jeśli brak, dane zostaną pobrane do katalogu tymczasowego.

overwrite
Wymagane

Wskazuje, czy zastąpić istniejące pliki. Wartość domyślna to False. Istniejące pliki zostaną zastąpione, jeśli zastąpienie ma wartość True; w przeciwnym razie zostanie zgłoszony wyjątek.

ignore_not_found
Wymagane

Wskazuje, czy pobieranie nie powiodło się, jeśli nie można odnaleźć niektórych plików wskazywanych przez zestaw danych. Wartość domyślna to False. Pobieranie zakończy się niepowodzeniem, jeśli jakiekolwiek pobieranie pliku zakończy się niepowodzeniem z jakiegokolwiek powodu, jeśli ignore_not_found ma wartość False; W przeciwnym razie waring zostanie zarejestrowany z powodu nieznajdujących się błędów, a dowload zakończy się powodzeniem, o ile nie zostaną napotkane żadne inne typy błędów.

Zwraca

Typ Opis

Zwraca tablicę ścieżek plików dla każdego pobranego pliku.

Uwagi

Jeśli target_path zaczyna się od /, będzie traktowana jako ścieżka bezwzględna. Jeśli nie zaczyna się od /, będzie traktowana jako ścieżka względna względem bieżącego katalogu roboczego.

file_metadata

Uwaga

Jest to metoda eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.

Pobierz wyrażenie metadanych pliku, określając nazwę kolumny metadanych.

Obsługiwane kolumny metadanych pliku to Rozmiar, LastModifiedTime, CreationTime, Extension i CanSeek

file_metadata(col)

Parametry

Nazwa Opis
col
Wymagane
str

Nazwa kolumny

Zwraca

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

Zwraca wyrażenie, które pobiera wartość w określonej kolumnie.

filter

Uwaga

Jest to metoda eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.

Przefiltruj dane, pozostawiając tylko rekordy zgodne z określonym wyrażeniem.

filter(expression)

Parametry

Nazwa Opis
expression
Wymagane
<xref:azureml.dataprep.api.expression.Expression>

Wyrażenie do obliczenia.

Zwraca

Typ Opis

Zmodyfikowany zestaw danych (niezarejestrowany).

Uwagi

Wyrażenia są uruchamiane przez indeksowanie zestawu danych z nazwą kolumny. Obsługują one różne funkcje i operatory i można je łączyć przy użyciu operatorów logicznych. Wynikowe wyrażenie zostanie z opóźnieniem obliczone dla każdego rekordu, gdy nastąpi ściąganie danych, a nie miejsce jego definiowania.


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

hydrate

Uwaga

Jest to metoda eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.

Nawodnienie zestawu danych do żądanych replik określonych w datacache_store.

hydrate(datacache_store, replica_count=None)

Parametry

Nazwa Opis
datacache_store
Wymagane

Magazyn usługi datacache używany do nawodnienia.

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

Liczba replik do nawodnienia.

Zwraca

Typ Opis

Obiekt konfiguracji opisujący sposób materializacji pamięci podręcznej danych w przebiegu.

mount

Utwórz menedżera kontekstu do instalowania strumieni plików zdefiniowanych przez zestaw danych jako pliki lokalne.

mount(mount_point=None, **kwargs)

Parametry

Nazwa Opis
mount_point
Wymagane
str

Katalog lokalny do zainstalowania plików. Jeśli brak, dane zostaną zainstalowane w katalogu tymczasowym, który można znaleźć, wywołując metodę wystąpienia MountContext.mount_point .

Zwraca

Typ Opis
<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.>

Zwraca menedżera kontekstu do zarządzania cyklem życia instalacji.

Uwagi

Na potrzeby zarządzania cyklem życia instalacji zostanie zwrócony menedżer kontekstu. Aby zainstalować, musisz wprowadzić menedżera kontekstu i odinstalować, zamknąć menedżera kontekstu.

Instalacja jest obsługiwana tylko w systemach operacyjnych Unix i podobnych do Unix z zainstalowanym pakietem natywnym libfuse. Jeśli korzystasz z kontenera platformy Docker, kontener platformy Docker musi zostać uruchomiony z flagą –privileged lub uruchomiony z funkcją –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

Jeśli target_path zaczyna się od /, będzie traktowana jako ścieżka bezwzględna. Jeśli nie zaczyna się od /, będzie traktowana jako ścieżka względna względem bieżącego katalogu roboczego.

random_split

Podziel strumienie plików w zestawie danych na dwie części losowo i w przybliżeniu według określonej wartości procentowej.

Zwrócony pierwszy zestaw danych zawiera około percentage całkowitej liczby odwołań do plików, a drugi zestaw danych zawiera pozostałe odwołania do plików.

random_split(percentage, seed=None)

Parametry

Nazwa Opis
percentage
Wymagane

Przybliżona wartość procentowa dzielenia zestawu danych według. Musi to być liczba z zakresu od 0.0 do 1.0.

seed
Wymagane
int

Opcjonalny nasion do użycia dla generatora losowego.

Zwraca

Typ Opis

Zwraca krotkę nowych obiektów FileDataset reprezentujących dwa zestawy danych po podziale.

skip

Pomiń strumienie plików z góry zestawu danych według określonej liczby.

skip(count)

Parametry

Nazwa Opis
count
Wymagane
int

Liczba strumieni plików do pominięcia.

Zwraca

Typ Opis

Zwraca nowy obiekt FileDataset reprezentujący zestaw danych ze strumieniami plików pominiętymi.

take

Weź przykład strumieni plików z góry zestawu danych według określonej liczby.

take(count)

Parametry

Nazwa Opis
count
Wymagane
int

Liczba strumieni plików do wykonania.

Zwraca

Typ Opis

Zwraca nowy obiekt FileDataset reprezentujący przykładowy zestaw danych.

take_sample

Weź losową próbkę strumieni plików w zestawie danych w przybliżeniu według określonego prawdopodobieństwa.

take_sample(probability, seed=None)

Parametry

Nazwa Opis
probability
Wymagane

Prawdopodobieństwo dołączenia strumienia plików do próbki.

seed
Wymagane
int

Opcjonalny nasion do użycia dla generatora losowego.

Zwraca

Typ Opis

Zwraca nowy obiekt FileDataset reprezentujący przykładowy zestaw danych.

to_path

Pobierz listę ścieżek plików dla każdego strumienia plików zdefiniowanego przez zestaw danych.

to_path()

Zwraca

Typ Opis

Zwraca tablicę ścieżek plików.

Uwagi

Ścieżki plików są ścieżkami względnymi dla plików lokalnych, gdy strumienie plików są pobierane lub instalowane.

Wspólny prefiks zostanie usunięty ze ścieżek plików na podstawie sposobu określenia źródła danych w celu utworzenia zestawu danych. Na przykład:


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