Compartir a través de


FileDataset Clase

Representa una colección de referencias de archivo en almacenes de datos o direcciones URL públicas que se usarán en Azure Machine Learning.

Un objeto FileDataset define una serie de operaciones inmutables que se evalúan de forma diferida para cargar datos del origen de datos en flujos de archivos. Los datos no se cargan desde el origen hasta que se pide a FileDataset que entregue los datos.

Un objeto FileDataset se crea mediante el método from_files de la clase FileDatasetFactory.

Para más información, consulte el artículo Incorporación de & registrar conjuntos de datos. Para empezar a trabajar con un conjunto de datos de archivo, consulte https://aka.ms/filedataset-samplenotebook.

Inicialice el objeto FileDataset.

Este constructor no se supone que se invoque directamente. El conjunto de datos está diseñado para crearse mediante FileDatasetFactory la clase .

Herencia
FileDataset

Constructor

FileDataset()

Comentarios

El objeto FileDataset se puede usar como entrada de una ejecución de experimento. También se puede registrar en el área de trabajo con un nombre especificado y recuperarse con ese nombre más adelante.

El objeto FileDataset se puede dividir en subconjuntos mediante la invocación de diferentes métodos de creación de subconjuntos disponibles en esta clase. El resultado de la división en subconjuntos es siempre un nuevo objeto FileDataset.

La carga de datos real se produce cuando se pide a FileDataset que entregue los datos a otro mecanismo de almacenamiento (por ejemplo, los archivos descargados o montados en la ruta de acceso local).

Métodos

as_cache

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Crea un objeto DatacacheConsumptionConfig asignado a un datacache_store y un conjunto de datos.

as_download

Crea un objeto DatasetConsumptionConfig con el modo establecido en descargar.

En la ejecución enviada, los archivos del conjunto de datos se descargarán en la ruta de acceso local en el destino de proceso. La ubicación de descarga se puede recuperar de los valores de argumento y el campo input_datasets del contexto de ejecución. Generaremos automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al 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

Establece el modo en HDFS.

En la ejecución de Synapse enviada, los archivos de los conjuntos de datos se convertirán a una ruta de acceso local en el destino de proceso. La ruta de acceso HDFS se puede recuperar de los valores de argumento y las variables de entorno del sistema operativo.


   # 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

Crea un objeto DatasetConsumptionConfig con el modo establecido en montar.

En la ejecución enviada, los archivos de los conjuntos de datos se montarán en la ruta de acceso local en el destino de proceso. El punto de montaje se puede recuperar de los valores de argumento y el campo input_datasets del contexto de ejecución. Generaremos automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al 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

Descarga los flujos de archivos definidos por el conjunto de datos como archivos locales.

file_metadata

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Obtiene la expresión de metadatos de archivo mediante la especificación del nombre de la columna de metadatos.

Las columnas de metadatos de archivo admitidas son Size, LastModifiedTime, CreationTime, Extension y CanSeek.

filter

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Filtra los datos, dejando solo los registros que coinciden con la expresión especificada.

hydrate

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Hidrata el conjunto de datos en las réplicas solicitadas especificadas en datacache_store.

mount

Crea un administrador de contexto para montar flujos de archivos definidos por el conjunto de datos como archivos locales.

random_split

Divide los flujos de archivos del conjunto de datos en dos partes de manera aleatoria y aproximada según el porcentaje especificado.

El primer conjunto de datos devuelto contiene aproximadamente un valor de percentage del número total de referencias de archivo y el segundo conjunto de datos contiene las referencias de archivo restantes.

skip

Omite los flujos de archivos de la parte superior del conjunto de datos según el recuento especificado.

take

Toma una muestra de los flujos de archivos de la parte superior del conjunto de datos según el recuento especificado.

take_sample

Toma una muestra aleatoria de flujos de archivos en el conjunto de datos según la probabilidad especificada aproximadamente.

to_path

Obtiene una lista de rutas de acceso de archivo para cada flujo de archivos definido por el conjunto de datos.

as_cache

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Crea un objeto DatacacheConsumptionConfig asignado a un datacache_store y un conjunto de datos.

as_cache(datacache_store)

Parámetros

Nombre Description
datacache_store
Requerido

Almacén de caché de datos que se usará para la hidratación.

Devoluciones

Tipo Description

Objeto de configuración que describe cómo se debe materializar la caché de datos en la ejecución.

as_download

Crea un objeto DatasetConsumptionConfig con el modo establecido en descargar.

En la ejecución enviada, los archivos del conjunto de datos se descargarán en la ruta de acceso local en el destino de proceso. La ubicación de descarga se puede recuperar de los valores de argumento y el campo input_datasets del contexto de ejecución. Generaremos automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al 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

Nombre Description
path_on_compute
str

Ruta de acceso de destino del proceso en la que los datos estarán disponibles.

Valor predeterminado: None

Comentarios

Cuando se crea el conjunto de datos a partir de la ruta de acceso de un solo archivo, la ubicación de descarga será la ruta de acceso del único archivo descargado. De lo contrario, la ubicación de descarga será la ruta de acceso de la carpeta que contiene todos los archivos descargados.

Si path_on_compute empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza por /, se tratará como una ruta de acceso relativa respecto al directorio de trabajo. Si ha especificado una ruta de acceso absoluta, asegúrese de que el trabajo tenga permiso para escribir en ese directorio.

as_hdfs

Establece el modo en HDFS.

En la ejecución de Synapse enviada, los archivos de los conjuntos de datos se convertirán a una ruta de acceso local en el destino de proceso. La ruta de acceso HDFS se puede recuperar de los valores de argumento y las variables de entorno del sistema operativo.


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

Comentarios

Cuando se crea el conjunto de datos a partir de la ruta de acceso de un único archivo, la ruta de acceso HDFS será la del único archivo. De lo contrario, la ruta de acceso HDFS será la de la carpeta que los contiene para todos los archivos montados.

as_mount

Crea un objeto DatasetConsumptionConfig con el modo establecido en montar.

En la ejecución enviada, los archivos de los conjuntos de datos se montarán en la ruta de acceso local en el destino de proceso. El punto de montaje se puede recuperar de los valores de argumento y el campo input_datasets del contexto de ejecución. Generaremos automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al 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

Nombre Description
path_on_compute
str

Ruta de acceso de destino del proceso en la que los datos estarán disponibles.

Valor predeterminado: None

Comentarios

Cuando se crea el conjunto de datos a partir de la ruta de acceso de un único archivo, el punto de montaje será la ruta de acceso del único archivo montado. De lo contrario, el punto de montaje será la ruta de acceso de la carpeta que contiene todos los archivos montados.

Si path_on_compute empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza por /, se tratará como una ruta de acceso relativa respecto al directorio de trabajo. Si ha especificado una ruta de acceso absoluta, asegúrese de que el trabajo tenga permiso para escribir en ese directorio.

download

Descarga los flujos de archivos definidos por el conjunto de datos como archivos locales.

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

Parámetros

Nombre Description
target_path
Requerido
str

Directorio local en el que se descargarán los archivos. Si es None, los datos se descargarán en un directorio temporal.

overwrite
Requerido

Indica si se van a sobrescribir los archivos existentes. El valor predeterminado es False. Los archivos existentes se sobrescribirán si el elemento overwrite está establecido en True; de lo contrario, se producirá una excepción.

ignore_not_found
Requerido

Indica si se debe producir un error en la descarga si no se encuentran algunos archivos a los que apunta el conjunto de datos. El valor predeterminado es False. Se producirá un error en la descarga si se produce un error en la descarga de cualquier archivo por cualquier motivo si ignore_not_found se establece en False; de lo contrario, se registrará una advertencia para los errores de no encontrado y la descarga se realizará correctamente siempre que no se encuentre ningún otro tipo de error.

Devoluciones

Tipo Description

Devuelve una matriz de rutas de acceso de archivo para cada archivo descargado.

Comentarios

Si target_path empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza por /, se tratará como una ruta de acceso relativa respecto al directorio de trabajo actual.

file_metadata

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Obtiene la expresión de metadatos de archivo mediante la especificación del nombre de la columna de metadatos.

Las columnas de metadatos de archivo admitidas son Size, LastModifiedTime, CreationTime, Extension y CanSeek.

file_metadata(col)

Parámetros

Nombre Description
col
Requerido
str

Nombre de la columna

Devoluciones

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

Devuelve una expresión que recupera el valor de la columna especificada.

filter

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Filtra los datos, dejando solo los registros que coinciden con la expresión especificada.

filter(expression)

Parámetros

Nombre Description
expression
Requerido
<xref:azureml.dataprep.api.expression.Expression>

La expresión que se va a evaluar.

Devoluciones

Tipo Description

Conjunto de datos modificado (no registrado).

Comentarios

Las expresiones se inician indexando el conjunto de datos con el nombre de una columna. Admiten una variedad de funciones y operadores, y se pueden combinar mediante operadores lógicos. La expresión resultante se evaluará de forma diferida para cada registro cuando se produzca una extracción de datos y no cuando se define.


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

hydrate

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Hidrata el conjunto de datos en las réplicas solicitadas especificadas en datacache_store.

hydrate(datacache_store, replica_count=None)

Parámetros

Nombre Description
datacache_store
Requerido

Almacén de caché de datos que se usará para la hidratación.

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

Número de réplicas que se hidratarán.

Devoluciones

Tipo Description

Objeto de configuración que describe cómo se debe materializar la caché de datos en la ejecución.

mount

Crea un administrador de contexto para montar flujos de archivos definidos por el conjunto de datos como archivos locales.

mount(mount_point=None, **kwargs)

Parámetros

Nombre Description
mount_point
Requerido
str

Directorio local en el que se montarán los archivos. Si es None, los datos se montarán en un directorio temporal, que se puede encontrar mediante una llamada al método de instancia MountContext.mount_point.

Devoluciones

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

Devuelve un administrador de contexto para administrar el ciclo de vida del montaje.

Comentarios

Se devolverá un administrador de contexto para administrar el ciclo de vida del montaje. Para el montaje, deberá entrar en el administrador de contexto y, para el desmontaje, salir del administrador de contexto.

El montaje solo se admite en sistemas operativos Unix o parecidos a Unix con el paquete nativo libfuse instalado. Si se ejecuta dentro de un contenedor de Docker, el contenedor Docker, se debe iniciar con la marca -privileged o con -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

Si target_path empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza por /, se tratará como una ruta de acceso relativa respecto al directorio de trabajo actual.

random_split

Divide los flujos de archivos del conjunto de datos en dos partes de manera aleatoria y aproximada según el porcentaje especificado.

El primer conjunto de datos devuelto contiene aproximadamente un valor de percentage del número total de referencias de archivo y el segundo conjunto de datos contiene las referencias de archivo restantes.

random_split(percentage, seed=None)

Parámetros

Nombre Description
percentage
Requerido

Porcentaje aproximado por el que se divide el conjunto de datos. Debe ser un número comprendido entre 0,0 y 1,0.

seed
Requerido
int

Inicialización opcional que se usará para el generador aleatorio.

Devoluciones

Tipo Description

Devuelve una tupla de objetos FileDataset nuevos que representan los dos conjuntos de datos después de la división.

skip

Omite los flujos de archivos de la parte superior del conjunto de datos según el recuento especificado.

skip(count)

Parámetros

Nombre Description
count
Requerido
int

Número de flujos de archivos que se omitirán.

Devoluciones

Tipo Description

Devuelve un nuevo objeto FileDataset que representa un conjunto de datos con flujos de archivos omitidos.

take

Toma una muestra de los flujos de archivos de la parte superior del conjunto de datos según el recuento especificado.

take(count)

Parámetros

Nombre Description
count
Requerido
int

Número de flujos de archivos que se tomarán.

Devoluciones

Tipo Description

Devuelve un nuevo objeto FileDataset que representa el conjunto de datos muestreado.

take_sample

Toma una muestra aleatoria de flujos de archivos en el conjunto de datos según la probabilidad especificada aproximadamente.

take_sample(probability, seed=None)

Parámetros

Nombre Description
probability
Requerido

Probabilidad de que un flujo de archivos se incluya en la muestra.

seed
Requerido
int

Inicialización opcional que se usará para el generador aleatorio.

Devoluciones

Tipo Description

Devuelve un nuevo objeto FileDataset que representa el conjunto de datos muestreado.

to_path

Obtiene una lista de rutas de acceso de archivo para cada flujo de archivos definido por el conjunto de datos.

to_path()

Devoluciones

Tipo Description

Devuelve una matriz de rutas de acceso de archivo.

Comentarios

Las rutas de acceso de archivo son rutas de acceso relativas para los archivos locales cuando se descargan o montan los flujos de archivos.

Se quitará un prefijo común de las rutas de acceso de archivo en función de cómo se haya especificado el origen de datos para crear el conjunto de datos. Por ejemplo:


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