FileDataset Classe

Representa uma recolha de referências de ficheiros em datastores ou URLs públicos para utilizar em Azure Machine Learning.

Um Dataset de ficheiros define uma série de operações preguiçosamente avaliadas e imutáveis para carregar dados da fonte de dados em fluxos de ficheiros. Os dados não são carregados a partir da fonte até que o Dataset do Ficheiro seja solicitado para entregar dados.

Um Dataset de ficheiro é criado utilizando o from_files método da classe DatasetFactory de ficheiros.

Para obter mais informações, consulte o artigo Adicione & conjuntos de dados de registo. Para começar a trabalhar com um conjunto de dados de ficheiros, consulte https://aka.ms/filedataset-samplenotebook .

Herança
FileDataset

Construtor

FileDataset()

Observações

O FileDataset pode ser utilizado como entrada de uma experiência executada. Também pode ser registado no espaço de trabalho com um nome especificado e ser recuperado por esse nome mais tarde.

O FileDataset pode ser subsetado invocando diferentes métodos de subesc colocação disponíveis nesta classe. O resultado da subesc colocação é sempre um novo Conjunto de Dados de Ficheiros.

O carregamento real de dados ocorre quando o FileDataset é solicitado a entregar os dados noutro mecanismo de armazenamento (por exemplo, ficheiros descarregados ou montados na via local).

Métodos

as_download

Crie um DatasetConsumptionConfig com o modo definido para descarregar.

Na execução submetida, os ficheiros no conjunto de dados serão descarregados para o caminho local no alvo do cálculo. A localização de descarregamento pode ser recuperada a partir dos valores de argumento e do campo input_datasets do contexto de execução. Geraremos automaticamente um nome de entrada. Se quiser especificar um nome de entrada personalizado, por favor ligue para o método 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

Desa ajuste o modo para hdfs.

Na sinapse submetida, os ficheiros nos conjuntos de dados serão convertidos para o caminho local no alvo do cálculo. O caminho dos HDFs pode ser recuperado dos valores do argumento e das variáveis ambiente os.


   # 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

Criar um DatasetConsutionConfig com o modo definido para montar.

Na execução submetida, os ficheiros nos conjuntos de dados serão montados no caminho local no alvo do cálculo. O ponto de montagem pode ser recuperado a partir dos valores do argumento e do campo input_datasets do contexto de execução. Geraremos automaticamente um nome de entrada. Se quiser especificar um nome de entrada personalizado, por favor ligue para o método 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

Descarregue os fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.

file_metadata

Nota

Este é um método experimental, e pode mudar a qualquer momento. Por favor, consulte https://aka.ms/azuremlexperimental mais informações.

Obtenha a expressão de metadados de ficheiro especificando o nome da coluna de metadados.

Colunas de metadados de ficheiros suportadas são Tamanho, Última Hora Modificada, Tempo de Criação, Extensão e CanSeek

filter

Nota

Este é um método experimental, e pode mudar a qualquer momento. Por favor, consulte https://aka.ms/azuremlexperimental mais informações.

Filtrar os dados, deixando apenas os registos que correspondem à expressão especificada.

mount

Crie um gestor de contexto para a montagem de fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.

random_split

Divida os fluxos de ficheiros no conjunto de dados em duas partes aleatoriamente e aproximadamente pela percentagem especificada.

O primeiro conjunto de dados devolvido contém aproximadamente percentage do número total de referências de ficheiros e o segundo conjunto de dados contém as referências restantes do ficheiro.

skip

Salte os fluxos de ficheiros do topo do conjunto de dados pela contagem especificada.

take

Retire uma amostra de fluxos de ficheiros do topo do conjunto de dados pela contagem especificada.

take_sample

Pegue uma amostra aleatória de fluxos de ficheiros no conjunto de dados aproximadamente pela probabilidade especificada.

to_path

Obtenha uma lista de caminhos de ficheiro para cada fluxo de ficheiro definido pelo conjunto de dados.

as_download

Crie um DatasetConsumptionConfig com o modo definido para descarregar.

Na execução submetida, os ficheiros no conjunto de dados serão descarregados para o caminho local no alvo do cálculo. A localização de descarregamento pode ser recuperada a partir dos valores de argumento e do campo input_datasets do contexto de execução. Geraremos automaticamente um nome de entrada. Se quiser especificar um nome de entrada personalizado, por favor ligue para o método 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)

Parâmetros

path_on_compute
<xref:str>
valor predefinido: None

O caminho-alvo no cálculo para disponibilizar os dados em.

Observações

Quando o conjunto de dados é criado a partir do caminho de um único ficheiro, a localização de descarregamento será o caminho do único ficheiro descarregado. Caso contrário, a localização do download será o caminho da pasta de encerramento para todos os ficheiros descarregados.

Se path_on_compute começa com um /, então será tratado como um caminho absoluto. Se não começar com um /, então será tratado como um caminho relativo em relação ao diretório de trabalho. Se especificou um caminho absoluto, certifique-se de que o trabalho tem permissão para escrever a esse diretório.

as_hdfs

Desa ajuste o modo para hdfs.

Na sinapse submetida, os ficheiros nos conjuntos de dados serão convertidos para o caminho local no alvo do cálculo. O caminho dos HDFs pode ser recuperado dos valores do argumento e das variáveis ambiente os.


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

Observações

Quando o conjunto de dados é criado a partir do caminho de um único ficheiro, o caminho hdfs será o caminho do único ficheiro. Caso contrário, o caminho hdfs será o caminho da pasta de enclosão para todos os ficheiros montados.

as_mount

Criar um DatasetConsutionConfig com o modo definido para montar.

Na execução submetida, os ficheiros nos conjuntos de dados serão montados no caminho local no alvo do cálculo. O ponto de montagem pode ser recuperado a partir dos valores do argumento e do campo input_datasets do contexto de execução. Geraremos automaticamente um nome de entrada. Se quiser especificar um nome de entrada personalizado, por favor ligue para o método 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)

Parâmetros

path_on_compute
<xref:str>
valor predefinido: None

O caminho-alvo no cálculo para disponibilizar os dados em.

Observações

Quando o conjunto de dados é criado a partir do caminho de um único ficheiro, o ponto de montagem será o caminho do único ficheiro montado. Caso contrário, o ponto de montagem será o caminho da pasta de enclosão para todos os ficheiros montados.

Se path_on_compute começa com um /, então será tratado como um caminho absoluto. Se não começar com um /, então será tratado como um caminho relativo em relação ao diretório de trabalho. Se especificou um caminho absoluto, certifique-se de que o trabalho tem permissão para escrever a esse diretório.

download

Descarregue os fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.

download(target_path=None, overwrite=False)

Parâmetros

target_path
<xref:str>

O diretório local para descarregar os ficheiros para. Se Nenhum, os dados serão descarregados num diretório temporário.

overwrite
<xref:bool>

Indica se deve substituir os ficheiros existentes. O padrão é falso. Os ficheiros existentes serão substituídos se o overwrite for definido para True; caso contrário, uma exceção será levantada.

Devoluções

Devolve uma série de caminhos de ficheiros para cada ficheiro descarregado.

Tipo de retorno

list(<xref:str>)

Observações

Se target_path começa com um /, então será tratado como um caminho absoluto. Se não começar com um /, então será tratado como um caminho relativo em relação ao diretório de trabalho atual.

file_metadata

Nota

Este é um método experimental, e pode mudar a qualquer momento. Por favor, consulte https://aka.ms/azuremlexperimental mais informações.

Obtenha a expressão de metadados de ficheiro especificando o nome da coluna de metadados.

Colunas de metadados de ficheiros suportadas são Tamanho, Última Hora Modificada, Tempo de Criação, Extensão e CanSeek

file_metadata(col)

Parâmetros

col
<xref:str>

Nome da coluna

Devoluções

Devolve uma expressão que recupera o valor na coluna especificada.

Tipo de retorno

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

filter

Nota

Este é um método experimental, e pode mudar a qualquer momento. Por favor, consulte https://aka.ms/azuremlexperimental mais informações.

Filtrar os dados, deixando apenas os registos que correspondem à expressão especificada.

filter(expression)

Parâmetros

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

A expressão para avaliar.

Devoluções

O conjunto de dados modificado (não registado).

Tipo de retorno

Observações

As expressões são iniciadas indexando o Conjunto de Dados com o nome de uma coluna. Suportam uma variedade de funções e operadores e podem ser combinados usando operadores lógicos. A expressão resultante será avaliada preguiçosamente para cada registo quando ocorrer uma retirada de dados e não onde é definida.


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

mount

Crie um gestor de contexto para a montagem de fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.

mount(mount_point=None, **kwargs)

Parâmetros

mount_point
<xref:str>

O diretório local para montar os ficheiros para. Se Nenhum, os dados serão montados num diretório temporário, que pode encontrar chamando o método MountContext.mount_point instância.

Devoluções

Devolve um gestor de contexto para gerir o ciclo de vida do monte.

Tipo de retorno

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

Observações

Um gestor de contexto será devolvido para gerir o ciclo de vida do monte. Para montar, terá de introduzir o gestor de contexto e desmontá-lo, sair do gestor de contexto.

O suporte só é suportado em sistemas operativos unix ou unix com o pacote nativo libfuse instalado. Se estiver a correr dentro de um contentor de estivadores, o contentor do estivador deve ser iniciado com a bandeira privilegiada ou iniciado com ---adiciona-tampa SYS_ADMIN --dispositivo /dev/fusível.


   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

Se target_path começa com um /, então será tratado como um caminho absoluto. Se não começar com um /, então será tratado como um caminho relativo em relação ao diretório de trabalho atual.

random_split

Divida os fluxos de ficheiros no conjunto de dados em duas partes aleatoriamente e aproximadamente pela percentagem especificada.

O primeiro conjunto de dados devolvido contém aproximadamente percentage do número total de referências de ficheiros e o segundo conjunto de dados contém as referências restantes do ficheiro.

random_split(percentage, seed=None)

Parâmetros

percentage
<xref:float>

A percentagem aproximada para dividir o conjunto de dados por. Este deve ser um número entre 0.0 e 1.0.

seed
<xref:int>

Uma semente opcional para usar para o gerador aleatório.

Devoluções

Devolve um tuple de novos objetos FileDataset que representam os dois conjuntos de dados após a separação.

Tipo de retorno

skip

Salte os fluxos de ficheiros do topo do conjunto de dados pela contagem especificada.

skip(count)

Parâmetros

count
<xref:int>

O número de streams de ficheiros para saltar.

Devoluções

Devolve um novo objeto FileDataset que representa um conjunto de dados com fluxos de ficheiros ignorados.

Tipo de retorno

take

Retire uma amostra de fluxos de ficheiros do topo do conjunto de dados pela contagem especificada.

take(count)

Parâmetros

count
<xref:int>

O número de transmissões de ficheiros a tomar.

Devoluções

Devolve um novo objeto FileDataset que representa o conjunto de dados amostrado.

Tipo de retorno

take_sample

Pegue uma amostra aleatória de fluxos de ficheiros no conjunto de dados aproximadamente pela probabilidade especificada.

take_sample(probability, seed=None)

Parâmetros

probability
<xref:float>

A probabilidade de um fluxo de ficheiro ser incluído na amostra.

seed
<xref:int>

Uma semente opcional para usar para o gerador aleatório.

Devoluções

Devolve um novo objeto FileDataset que representa o conjunto de dados amostrado.

Tipo de retorno

to_path

Obtenha uma lista de caminhos de ficheiro para cada fluxo de ficheiro definido pelo conjunto de dados.

to_path()

Devoluções

Devolve uma série de caminhos de arquivo.

Tipo de retorno

list(<xref:str>)

Observações

Os caminhos dos ficheiros são caminhos relativos para ficheiros locais quando os fluxos de ficheiros são descarregados ou montados.

Um prefixo comum será removido dos caminhos do ficheiro com base na forma como a fonte de dados foi especificada para criar o conjunto de dados. Por exemplo:


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