FileDataset Classe
Representa uma coleção de referências de arquivo em armazenamentos de dados ou URLs públicas a serem usadas no Azure Machine Learning.
Um FileDataset define uma série de operações imutáveis avaliadas de modo preguiçoso para carregar dados da fonte de dados em fluxos de arquivos. Os dados não são carregados da origem até que FileDataset seja solicitado a fornecer dados.
Um FileDataset é criado usando o from_files método da classe FileDatasetFactory.
Para obter mais informações, consulte o artigo Adicionar ®istrar conjuntos de dados. Para começar a trabalhar com um conjunto de dados de arquivo, 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 usando FileDatasetFactory a classe.
Construtor
FileDataset()
Comentários
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.
FileDataset pode ser subsetted invocando diferentes métodos de subsetting disponíveis nesta classe. O resultado da subseção é sempre um novo FileDataset.
O carregamento real de dados ocorre quando FileDataset é solicitado a entregar 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 ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações. Crie um DatacacheConsumptionConfig mapeado para um datacache_store e um conjunto 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 dos valores de argumento e do 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.
|
| as_hdfs |
Defina o modo como hdfs. Na execução do synapse enviada, 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.
|
| as_mount |
Crie um DatasetConsumptionConfig com o modo definido para montar. Na execução enviada, os arquivos nos conjuntos de dados serão montados no caminho local no destino de computação. O ponto de montagem pode ser recuperado dos valores de argumento e do 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.
|
| download |
Baixe fluxos de arquivos definidos pelo conjunto de dados como arquivos locais. |
| file_metadata |
Observação Esse é um método experimental e pode ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações. Obtenha a expressão de metadados de 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 ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações. Filtrar os dados, deixando apenas os registros que correspondam à expressão especificada. |
| hydrate |
Observação Esse é um método experimental e pode ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações. Hidrate o conjunto de dados nas réplicas solicitadas especificadas em datacache_store. |
| mount |
Crie um gerenciador de contexto para montar fluxos de arquivos definidos pelo conjunto de dados como arquivos locais. |
| random_split |
Divida fluxos de arquivos no conjunto de dados em duas partes aleatoriamente e aproximadamente pela porcentagem especificada. O primeiro conjunto de dados retornado contém aproximadamente |
| skip |
Ignore os fluxos de arquivos da parte superior do conjunto de dados pela contagem especificada. |
| take |
Pegue um exemplo de fluxos de arquivo da parte superior do conjunto de dados pela contagem especificada. |
| take_sample |
Pegue um exemplo aleatório de fluxos de arquivo no conjunto de dados aproximadamente pela probabilidade especificada. |
| to_path |
Obtenha uma lista de caminhos de arquivo para cada fluxo de arquivo definido pelo conjunto de dados. |
as_cache
Observação
Esse é um método experimental e pode ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
Crie um DatacacheConsumptionConfig mapeado para um datacache_store e um conjunto de dados.
as_cache(datacache_store)
Parâmetros
| Nome | Description |
|---|---|
|
datacache_store
Obrigatório
|
O armazenamento de dados 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 dos valores de argumento e do 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
|
O caminho de destino na computação em que os dados serão disponibilizados. Valor padrão: None
|
Comentários
Quando o conjunto de dados for criado a partir do 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 delimitada para todos os arquivos baixados.
Se path_on_compute começar com um /, ele será tratado como um caminho absoluto. Se ele não começar com um /, ele será tratado como um caminho relativo em relação ao diretório de trabalho. Se você especificou um caminho absoluto, verifique se o trabalho tem permissão para gravar nesse diretório.
as_hdfs
Defina o modo como hdfs.
Na execução do synapse enviada, 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 conjunto de dados é criado a partir do caminho de um único arquivo, o caminho hdfs será o caminho do único arquivo. Caso contrário, o caminho hdfs será o caminho da pasta delimitada para todos os arquivos montados.
as_mount
Crie um DatasetConsumptionConfig com o modo definido para montar.
Na execução enviada, os arquivos nos conjuntos de dados serão montados no caminho local no destino de computação. O ponto de montagem pode ser recuperado dos valores de argumento e do 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
|
O caminho de destino na computação em que os dados serão disponibilizados. Valor padrão: None
|
Comentários
Quando o conjunto de dados é criado a partir do 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 delimitada para todos os arquivos montados.
Se path_on_compute começar com um /, ele será tratado como um caminho absoluto. Se ele não começar com um /, ele será tratado como um caminho relativo em relação ao diretório de trabalho. Se você especificou um caminho absoluto, verifique se o trabalho tem permissão para gravar nesse diretório.
download
Baixe fluxos de arquivos 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
|
O diretório local para o qual baixar os arquivos. Se Nenhum, os dados serão baixados em 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 a substituição estiver definida como True; caso contrário, uma exceção será gerada. |
|
ignore_not_found
Obrigatório
|
Indica se será necessário fazer o download se alguns arquivos apontados pelo conjunto de dados não forem encontrados. O padrão é False. O download falhará se qualquer download de arquivo falhar por algum motivo se ignore_not_found estiver definido como False; caso contrário, um waring será registrado para erros não encontrados e o dowload terá êxito, desde 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 um /, ele será tratado como um caminho absoluto. Se ele não começar com um /, ele será tratado como um caminho relativo em relação ao diretório de trabalho atual.
file_metadata
Observação
Esse é um método experimental e pode ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
Obtenha a expressão de metadados de 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
|
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 ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
Filtrar 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. Eles dão suporte a uma variedade de funções e operadores e podem ser combinados usando operadores lógicos. A expressão resultante será avaliada de forma preguiçosa para cada registro quando ocorrer um pull de dados e não onde ele for definido.
(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 ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
Hidrate 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 armazenamento de dados a ser usado para hidratar. |
|
replica_count
Obrigatório
|
<xref:Int>, <xref:optional>
Número de réplicas a serem hidratadas. |
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 montar fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.
mount(mount_point=None, **kwargs)
Parâmetros
| Nome | Description |
|---|---|
|
mount_point
Obrigatório
|
O diretório local para o qual montar os arquivos. Se Nenhum, os dados serão montados em um diretório temporário, que você pode 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 desmontar, sair 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 um /, ele será tratado como um caminho absoluto. Se ele não começar com um /, ele será tratado como um caminho relativo em relação ao diretório de trabalho atual.
random_split
Divida fluxos de arquivos no conjunto de dados em duas partes aleatoriamente e aproximadamente pela porcentagem especificada.
O primeiro conjunto de dados retornado contém aproximadamente percentage o 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 pela qual dividir o conjunto de dados. Esse deve ser um número entre 0,0 e 1,0. |
|
seed
Obrigatório
|
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 da parte superior do conjunto de dados pela contagem especificada.
skip(count)
Parâmetros
| Nome | Description |
|---|---|
|
count
Obrigatório
|
O número de fluxos de arquivos a serem ignoradas. |
Retornos
| Tipo | Description |
|---|---|
|
Retorna um novo objeto FileDataset que representa um conjunto de dados com fluxos de arquivo ignorados. |
take
Pegue um exemplo de fluxos de arquivo da parte superior do conjunto de dados pela contagem especificada.
take(count)
Parâmetros
| Nome | Description |
|---|---|
|
count
Obrigatório
|
O número de fluxos de arquivos a serem necessários. |
Retornos
| Tipo | Description |
|---|---|
|
Retorna um novo objeto FileDataset que representa o conjunto de dados amostrado. |
take_sample
Pegue um exemplo aleatório de fluxos de arquivo 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 no exemplo. |
|
seed
Obrigatório
|
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 arquivo 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']