Compartilhar via


FileDataset Classe

Representa uma coleção de referências de arquivo em armazenamentos de dados ou URLs públicas para uso no Azure Machine Learning.

Um FileDataset define uma série de operações imutáveis avaliadas lentamente para carregar os dados da fonte de dados em fluxos de arquivos. Os dados não são carregados na origem até que o FileDataset seja solicitado a fornecer os dados.

Um FileDataset é criado usando o método from_files da classe FileDatasetFactory.

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

Inicialize o objeto FileDataset.

Esse construtor não deve ser invocado diretamente. O conjunto de dados deve ser criado usando FileDatasetFactory a classe .

Herança
FileDataset

Construtor

FileDataset()

Comentários

O FileDataset pode ser usado como entrada de uma execução de experimento. Ele também pode ser registrado no workspace com um nome especificado e ser recuperado por esse nome posteriormente.

O FileDataset pode ser dividido em subconjuntos invocando diferentes métodos de subconjunto disponíveis nesta classe. O resultado do subconjunto é sempre um novo FileDataset.

O carregamento de dados real ocorre quando o FileDataset é solicitado a fornecer os dados em outro mecanismo de armazenamento (por exemplo, arquivos baixados ou montados no caminho local).

Métodos

as_cache

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Crie um DatacacheConsumptionConfig mapeado para um datacache_store e um conjuntos de dados.

as_download

Crie um DatasetConsumptionConfig com o modo definido para download.

Na execução enviada, os arquivos no conjunto de dados serão baixados para o caminho local no destino de computação. O local de download pode ser recuperado nos valores de argumento e no campo input_datasets do contexto de execução. Geraremos automaticamente um nome de entrada. Se você quiser especificar um nome de entrada personalizado, chame 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

Definir o modo como hdfs.

Na execução do synapse enviado, os arquivos nos conjuntos de dados serão convertidos em caminho local no destino de computação. O caminho hdfs pode ser recuperado dos valores de argumento e das variáveis de ambiente do sistema operacional.


   # 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

Crie um DatasetConsumptionConfig com o modo definido para montagem.

Na execução enviada, os arquivos no conjunto de dados serão montados para o caminho local no destino de computação. O ponto de montagem pode ser recuperado nos valores de argumento e no campo input_datasets do contexto de execução. Geraremos automaticamente um nome de entrada. Se você quiser especificar um nome de entrada personalizado, chame 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

Baixe os fluxos de arquivo definidos pelo conjunto de dados como arquivos locais.

file_metadata

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Obter a expressão de metadados do arquivo especificando o nome da coluna de metadados.

As colunas de metadados de arquivo com suporte são Size, LastModifiedTime, CreationTime, Extension e CanSeek

filter

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Filtre os dados, deixando apenas os registros que correspondam à expressão especificada.

hydrate

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Hidrata o conjunto de dados nas réplicas solicitadas especificadas em datacache_store.

mount

Crie um gerenciador de contexto para montagem de fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.

random_split

Divida os fluxos de arquivos no conjunto de dados em duas partes aleatoriamente e aproximadamente pela porcentagem especificado.

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

skip

Ignore os fluxos de arquivos na parte superior do conjunto de dados pela contagem especificada.

take

Obtém uma amostra de fluxos de arquivos na parte superior do conjunto de dados pela contagem especificada.

take_sample

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

to_path

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

as_cache

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Crie um DatacacheConsumptionConfig mapeado para um datacache_store e um conjuntos de dados.

as_cache(datacache_store)

Parâmetros

Nome Description
datacache_store
Obrigatório

O datacachestore a ser usado para hidratar.

Retornos

Tipo Description

O objeto de configuração que descreve como o datacache deve ser materializado na execução.

as_download

Crie um DatasetConsumptionConfig com o modo definido para download.

Na execução enviada, os arquivos no conjunto de dados serão baixados para o caminho local no destino de computação. O local de download pode ser recuperado nos valores de argumento e no campo input_datasets do contexto de execução. Geraremos automaticamente um nome de entrada. Se você quiser especificar um nome de entrada personalizado, chame 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

Nome Description
path_on_compute
str

O caminho de destino na computação para disponibilizar os dados.

Valor padrão: None

Comentários

Quando o conjunto de dados for criado no caminho de um único arquivo, o local de download será o caminho do único arquivo baixado. Caso contrário, o local de download será o caminho da pasta em anexo para todos os arquivos baixados.

Se path_on_compute começar com uma /, será tratado como caminho absoluto. Se não começar com uma /, será tratado como caminho relativo para o diretório de trabalho. Se você tiver especificado um caminho absoluto, verifique se o trabalho tem permissão para gravar nesse diretório.

as_hdfs

Definir o modo como hdfs.

Na execução do synapse enviado, os arquivos nos conjuntos de dados serão convertidos em caminho local no destino de computação. O caminho hdfs pode ser recuperado dos valores de argumento e das variáveis de ambiente do sistema operacional.


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

Comentários

Quando o conjuntos de dados é criado a partir do caminho de um único arquivo, o caminho do hdfs será o caminho do único arquivo. Caso contrário, o caminho hdfs será o caminho da pasta em anexo para todos os arquivos montados.

as_mount

Crie um DatasetConsumptionConfig com o modo definido para montagem.

Na execução enviada, os arquivos no conjunto de dados serão montados para o caminho local no destino de computação. O ponto de montagem pode ser recuperado nos valores de argumento e no campo input_datasets do contexto de execução. Geraremos automaticamente um nome de entrada. Se você quiser especificar um nome de entrada personalizado, chame 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

Nome Description
path_on_compute
str

O caminho de destino na computação para disponibilizar os dados.

Valor padrão: None

Comentários

Quando o conjunto de dados for criado no caminho de um único arquivo, o ponto de montagem será o caminho do único arquivo montado. Caso contrário, o ponto de montagem será o caminho da pasta em anexo para todos os arquivos montados.

Se path_on_compute começar com uma /, será tratado como caminho absoluto. Se não começar com uma /, será tratado como caminho relativo para o diretório de trabalho. Se você tiver especificado um caminho absoluto, verifique se o trabalho tem permissão para gravar nesse diretório.

download

Baixe os fluxos de arquivo definidos pelo conjunto de dados como arquivos locais.

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

Parâmetros

Nome Description
target_path
Obrigatório
str

O diretório local para baixar os arquivos. Se for None, os dados serão baixados para um diretório temporário.

overwrite
Obrigatório

Indica se os arquivos existentes devem ser substituídos. O padrão é False. Os arquivos existentes serão substituídos se overwrite estiver definido como True; caso contrário, uma exceção será gerada.

ignore_not_found
Obrigatório

Indica se haverá falha no download se alguns arquivos apontados pelo conjunto de dados não forem encontrados. O padrão é False. O download falhará se algum download de arquivo falhar por qualquer motivo se ignore_not_found estiver definido como False; caso contrário, um aviso será registrado em log para erros "não encontrado" e o download terá sucesso, contanto que nenhum outro tipo de erro seja encontrado.

Retornos

Tipo Description

Retorna uma matriz de caminhos de arquivo para cada arquivo baixado.

Comentários

Se target_path começar com uma /, será tratado como caminho absoluto. Se não começar com uma /, será tratado como caminho relativo para o diretório de trabalho atual.

file_metadata

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Obter a expressão de metadados do arquivo especificando o nome da coluna de metadados.

As colunas de metadados de arquivo com suporte são Size, LastModifiedTime, CreationTime, Extension e CanSeek

file_metadata(col)

Parâmetros

Nome Description
col
Obrigatório
str

Nome da coluna

Retornos

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

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

filter

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Filtre os dados, deixando apenas os registros que correspondam à expressão especificada.

filter(expression)

Parâmetros

Nome Description
expression
Obrigatório
<xref:azureml.dataprep.api.expression.Expression>

A expressão a ser avaliada.

Retornos

Tipo Description

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

Comentários

As expressões são iniciadas indexando o conjunto de dados com o nome de uma coluna. Elas dão suporte a uma variedade de funções e operadores e podem ser combinadas usando operadores lógicos. A expressão resultante passará por avaliação lenta para cada registro quando ocorrer um pull de dados, e não onde ela está definida.


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

hydrate

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Hidrata o conjunto de dados nas réplicas solicitadas especificadas em datacache_store.

hydrate(datacache_store, replica_count=None)

Parâmetros

Nome Description
datacache_store
Obrigatório

O datacachestore a ser usado para hidratar.

replica_count
Obrigatório
<xref:Int>, <xref:optional>

Número padrão de réplicas para a hidratação.

Retornos

Tipo Description

O objeto de configuração que descreve como o datacache deve ser materializado na execução.

mount

Crie um gerenciador de contexto para montagem de fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.

mount(mount_point=None, **kwargs)

Parâmetros

Nome Description
mount_point
Obrigatório
str

O diretório local para montar os arquivos. Se for None, os dados serão montados em um diretório temporário, que você poderá encontrar chamando o método de instância MountContext.mount_point.

Retornos

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

Retorna um gerenciador de contexto para gerenciar o ciclo de vida da montagem.

Comentários

Um gerenciador de contexto será retornado para gerenciar o ciclo de vida da montagem. Para montar, você precisará inserir o gerenciador de contexto e, para desmontar, saia do gerenciador de contexto.

Só há suporte para a montagem em sistemas operacionais UNIX ou semelhantes ao UNIX, com o pacote nativo libfuse instalado. Se você estiver executando dentro de um contêiner do Docker, o contêiner do Docker deverá ser iniciado com o sinalizador --privileged ou iniciado com --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

Se target_path começar com uma /, será tratado como caminho absoluto. Se não começar com uma /, será tratado como caminho relativo para o diretório de trabalho atual.

random_split

Divida os fluxos de arquivos no conjunto de dados em duas partes aleatoriamente e aproximadamente pela porcentagem especificado.

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

random_split(percentage, seed=None)

Parâmetros

Nome Description
percentage
Obrigatório

A porcentagem aproximada para dividir o conjunto de dados. Deve ser um número entre 0.0 e 1.0.

seed
Obrigatório
int

Uma semente opcional a ser usada para o gerador aleatório.

Retornos

Tipo Description

Retorna uma tupla de novos objetos FileDataset que representam os dois conjuntos de dados após a divisão.

skip

Ignore os fluxos de arquivos na parte superior do conjunto de dados pela contagem especificada.

skip(count)

Parâmetros

Nome Description
count
Obrigatório
int

O número de fluxos de arquivos que devem ser ignorados.

Retornos

Tipo Description

Retorna um novo objeto FileDataset que representa um conjunto de dados com os fluxos de arquivos ignorados.

take

Obtém uma amostra de fluxos de arquivos na parte superior do conjunto de dados pela contagem especificada.

take(count)

Parâmetros

Nome Description
count
Obrigatório
int

O número de fluxos de arquivos que devem ser usados.

Retornos

Tipo Description

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

take_sample

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

take_sample(probability, seed=None)

Parâmetros

Nome Description
probability
Obrigatório

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

seed
Obrigatório
int

Uma semente opcional a ser usada para o gerador aleatório.

Retornos

Tipo Description

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

to_path

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

to_path()

Retornos

Tipo Description

Retorna uma matriz de caminhos de arquivo.

Comentários

Os caminhos de arquivo são caminhos relativos para arquivos locais, quando os fluxos de arquivos são baixados ou montados.

Um prefixo comum será removido dos caminhos de arquivo com base em 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']