Partilhar via


FileDataset Classe

Representa uma coleção de referências de ficheiros em arquivos de dados ou URLs públicos a utilizar no Azure Machine Learning.

Um FileDataset define uma série de operações imutáveis e avaliadas de forma preguiçosa para carregar dados da origem de dados para fluxos de ficheiros. Os dados não são carregados a partir da origem até que o FileDataset seja solicitado a entregar dados.

É criado um FileDataset com o from_files método da classe FileDatasetFactory.

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

Inicialize o objeto FileDataset.

Este construtor não deve ser invocado diretamente. O conjunto de dados destina-se a ser criado com a FileDatasetFactory classe.

Herança
FileDataset

Construtor

FileDataset()

Observações

FileDataset pode ser utilizado como entrada de uma execução de experimentação. Também pode ser registado na área de trabalho com um nome especificado e ser obtido por esse nome mais tarde.

O FileDataset pode ser subsetted ao invocar diferentes métodos de subsetting disponíveis nesta classe. O resultado da subsetting é sempre um novo FileDataset.

O carregamento real de dados ocorre quando é pedido ao FileDataset que entregue os dados noutro mecanismo de armazenamento (por exemplo, ficheiros transferidos ou montados no caminho local).

Métodos

as_cache

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

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

as_download

Crie um DatasetConsumptionConfig com o modo definido para transferir.

Na execução submetida, os ficheiros no conjunto de dados serão transferidos para o caminho local no destino de computação. A localização de transferência pode ser obtida a partir de valores de argumentos e do campo input_datasets do contexto de execução. Iremos gerar automaticamente um nome de entrada. Se 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

Defina o modo como hdfs.

Na execução do synapse submetido, os ficheiros nos conjuntos de dados serão convertidos para o caminho local no destino de computação. O caminho do hdfs pode ser obtido a partir dos valores de argumento e das variáveis de ambiente do so.


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

Na execução submetida, os ficheiros nos conjuntos de dados serão montados no caminho local no destino de computação. O ponto de montagem pode ser obtido a partir de valores de argumentos e do campo input_datasets do contexto de execução. Iremos gerar automaticamente um nome de entrada. Se 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

Transfira fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.

file_metadata

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

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

As colunas de metadados de ficheiro suportadas são Tamanho, LastModifiedTime, CreationTime, Extensão e CanSeek

filter

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

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

hydrate

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Hidra o conjunto de dados para as réplicas pedidas especificadas no datacache_store.

mount

Crie um gestor de contexto para montar 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 o número total de referências de ficheiros e o segundo conjunto de dados contém as referências de ficheiro restantes.

skip

Ignore os fluxos de ficheiros da parte superior do conjunto de dados pela contagem especificada.

take

Recolha um exemplo de fluxos de ficheiros a partir da parte superior do conjunto de dados pela contagem especificada.

take_sample

Veja 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 ficheiros definido pelo conjunto de dados.

as_cache

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

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

as_cache(datacache_store)

Parâmetros

Name Description
datacache_store
Necessário

O arquivo de dados a utilizar para se hidratar.

Devoluções

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

Na execução submetida, os ficheiros no conjunto de dados serão transferidos para o caminho local no destino de computação. A localização de transferência pode ser obtida a partir de valores de argumentos e do campo input_datasets do contexto de execução. Iremos gerar automaticamente um nome de entrada. Se 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

Name Description
path_on_compute
str

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

Default value: None

Observações

Quando o conjunto de dados é criado a partir do caminho de um único ficheiro, a localização de transferência será o caminho do ficheiro transferido único. Caso contrário, a localização de transferência será o caminho da pasta de colocação em anexo para todos os ficheiros transferidos.

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

as_hdfs

Defina o modo como hdfs.

Na execução do synapse submetido, os ficheiros nos conjuntos de dados serão convertidos para o caminho local no destino de computação. O caminho do hdfs pode ser obtido a partir dos valores de argumento e das variáveis de ambiente do so.


   # 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 do hdfs será o caminho do ficheiro único. Caso contrário, o caminho do hdfs será o caminho da pasta que inclui todos os ficheiros montados.

as_mount

Crie um DatasetConsumptionConfig com o modo definido para montar.

Na execução submetida, os ficheiros nos conjuntos de dados serão montados no caminho local no destino de computação. O ponto de montagem pode ser obtido a partir de valores de argumentos e do campo input_datasets do contexto de execução. Iremos gerar automaticamente um nome de entrada. Se 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

Name Description
path_on_compute
str

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

Default value: None

Observações

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

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

download

Transfira fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.

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

Parâmetros

Name Description
target_path
Necessário
str

O diretório local para o quais transferir os ficheiros. Se Nenhum, os dados serão transferidos para um diretório temporário.

overwrite
Necessário

Indica se deve substituir ficheiros existentes. A predefinição é Falso. Os ficheiros existentes serão substituídos se a substituição estiver definida como Verdadeiro; caso contrário, será gerada uma exceção.

ignore_not_found
Necessário

Indica se a transferência pós-falha se alguns ficheiros apontados por conjunto de dados não forem encontrados. A predefinição é Falso. A transferência falhará se alguma transferência de ficheiro falhar por algum motivo se ignore_not_found estiver definida como Falso; caso contrário, será registado um waring para erros não encontrados e o dowload será bem-sucedido, desde que não sejam encontrados outros tipos de erro.

Devoluções

Tipo Description

Devolve uma matriz de caminhos de ficheiro para cada ficheiro transferido.

Observações

Se target_path começar com um /, será tratado como um caminho absoluto. Se não começar com um /, 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 ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

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

As colunas de metadados de ficheiro suportadas são Tamanho, LastModifiedTime, CreationTime, Extensão e CanSeek

file_metadata(col)

Parâmetros

Name Description
col
Necessário
str

Nome da coluna

Devoluções

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

Devolve uma expressão que obtém o valor na coluna especificada.

filter

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

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

filter(expression)

Parâmetros

Name Description
expression
Necessário
<xref:azureml.dataprep.api.expression.Expression>

A expressão a avaliar.

Devoluções

Tipo Description

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

Observações

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


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

hydrate

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Hidra o conjunto de dados para as réplicas pedidas especificadas no datacache_store.

hydrate(datacache_store, replica_count=None)

Parâmetros

Name Description
datacache_store
Necessário

O arquivo de dados a utilizar para se hidratar.

replica_count
Necessário
<xref:Int>, <xref:optional>

Número de réplicas a hidratar.

Devoluções

Tipo Description

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

mount

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

mount(mount_point=None, **kwargs)

Parâmetros

Name Description
mount_point
Necessário
str

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

Devoluções

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

Devolve um gestor de contexto para gerir o ciclo de vida da montagem.

Observações

Será apresentado um gestor de contexto para gerir o ciclo de vida da montagem. Para montar, terá de introduzir o gestor de contexto e desmontar, sair do gestor de contexto.

A montagem só é suportada em sistemas operativos semelhantes a Unix ou Unix com o libfuse de pacote nativo instalado. Se estiver a ser executado dentro de um contentor do Docker, o contentor do docker tem de ser iniciado com o sinalizador com privilégios 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 um /, será tratado como um caminho absoluto. Se não começar com um /, 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 o número total de referências de ficheiros e o segundo conjunto de dados contém as referências de ficheiro restantes.

random_split(percentage, seed=None)

Parâmetros

Name Description
percentage
Necessário

A percentagem aproximada pela qual dividir o conjunto de dados. Tem de ser um número entre 0,0 e 1,0.

seed
Necessário
int

Uma semente opcional a utilizar para o gerador aleatório.

Devoluções

Tipo Description

Devolve uma cadeia de identificação de novos objetos FileDataset que representam os dois conjuntos de dados após a divisão.

skip

Ignore os fluxos de ficheiros da parte superior do conjunto de dados pela contagem especificada.

skip(count)

Parâmetros

Name Description
count
Necessário
int

O número de fluxos de ficheiros a ignorar.

Devoluções

Tipo Description

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

take

Recolha um exemplo de fluxos de ficheiros a partir da parte superior do conjunto de dados pela contagem especificada.

take(count)

Parâmetros

Name Description
count
Necessário
int

O número de fluxos de ficheiros a ter.

Devoluções

Tipo Description

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

take_sample

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

take_sample(probability, seed=None)

Parâmetros

Name Description
probability
Necessário

A probabilidade de um fluxo de ficheiros ser incluído no exemplo.

seed
Necessário
int

Uma semente opcional a utilizar para o gerador aleatório.

Devoluções

Tipo Description

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

to_path

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

to_path()

Devoluções

Tipo Description

Devolve uma matriz de caminhos de ficheiro.

Observações

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

Um prefixo comum será removido dos caminhos de ficheiro com base na forma como a origem 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']