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 van a usar en Azure Machine Learning.

Un Objeto FileDataset define una serie de operaciones inmutables y diferidamente evaluadas 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 entreguen datos.

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

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

Inicialice el objeto FileDataset.

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

Constructor

FileDataset()

Comentarios

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.

FileDataset se puede agrupar invocando diferentes métodos de restablecimiento disponibles en esta clase. El resultado del restablecimiento siempre es un nuevo FileDataset.

La carga de datos real se produce cuando se pide a FileDataset que entregue los datos en otro mecanismo de almacenamiento (por ejemplo, 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 obtener más información.

Cree una clase DatacacheConsumptionConfig asignada a un datacache_store y un conjunto de datos.

as_download

Cree un conjunto de datosConsumptionConfig con el modo establecido para 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

Establezca el modo en hdfs.

En la ejecución de Synapse enviada, los archivos de los conjuntos de datos se convertirán en la ruta de acceso local en el destino de proceso. La ruta de acceso de 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

Cree un conjunto de datosConsumptionConfig 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

Descargue secuencias de archivos definidas 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 obtener más información.

Obtenga la expresión de metadatos de archivo especificando el nombre de 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 obtener 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 obtener más información.

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

mount

Cree un administrador de contextos para montar flujos de archivos definidos por el conjunto de datos como archivos locales.

random_split

Divida los flujos de archivos del conjunto de datos en dos partes aleatoriamente y aproximadamente por el porcentaje especificado.

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

skip

Omita las secuencias de archivos de la parte superior del conjunto de datos por el recuento especificado.

take

Tome un ejemplo de secuencias de archivo desde la parte superior del conjunto de datos por el recuento especificado.

take_sample

Tome una muestra aleatoria de flujos de archivos en el conjunto de datos aproximadamente por la probabilidad especificada.

to_path

Obtenga una lista de rutas de acceso de archivo para cada secuencia de archivos definida 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 obtener más información.

Cree una clase DatacacheConsumptionConfig asignada a un datacache_store y un conjunto de datos.

as_cache(datacache_store)

Parámetros

Nombre Description
datacache_store
Requerido

Datacachestore que se va a usar para hidratarse.

Devoluciones

Tipo Description

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

as_download

Cree un conjunto de datosConsumptionConfig con el modo establecido para 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 en el proceso para que los datos estén disponibles en.

Valor predeterminado: None

Comentarios

Cuando el conjunto de datos se crea a partir de la ruta de acceso de un único 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 envolvente para todos los archivos descargados.

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

as_hdfs

Establezca el modo en hdfs.

En la ejecución de Synapse enviada, los archivos de los conjuntos de datos se convertirán en la ruta de acceso local en el destino de proceso. La ruta de acceso de 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 el conjunto de datos se crea a partir de la ruta de acceso de un único archivo, la ruta de acceso de hdfs será la ruta de acceso del único archivo. De lo contrario, la ruta de acceso de hdfs será la ruta de acceso de la carpeta envolvente para todos los archivos montados.

as_mount

Cree un conjunto de datosConsumptionConfig 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 en el proceso para que los datos estén disponibles en.

Valor predeterminado: None

Comentarios

Cuando el conjunto de datos se crea 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 envolvente para todos los archivos montados.

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

download

Descargue secuencias de archivos definidas 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 no, los datos se descargarán en un directorio temporal.

overwrite
Requerido

Indica si se deben sobrescribir los archivos existentes. El valor predeterminado es False. Los archivos existentes se sobrescribirán si la sobrescritura se establece en True; de lo contrario, se generará una excepción.

ignore_not_found
Requerido

Indica si se produce 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 archivos por cualquier motivo si ignore_not_found está establecido en False; de lo contrario, se registrará una advertencia para los errores no encontrados y dowload 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 comienza con /, se tratará como una ruta de acceso absoluta. Si no comienza con /, se tratará como una ruta de acceso relativa con 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 obtener más información.

Obtenga la expresión de metadatos de archivo especificando el nombre de 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 obtener 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>

Expresión que se va a evaluar.

Devoluciones

Tipo Description

Conjunto de datos modificado (no registrado).

Comentarios

Las expresiones se inician indizando 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 donde se defina.


   (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 obtener 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

Datacachestore que se va a usar para hidratarse.

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

Número de réplicas que se van a hidratar.

Devoluciones

Tipo Description

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

mount

Cree un administrador de contextos 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 van a montar los archivos. Si No, los datos se montarán en un directorio temporal, que puede encontrar llamando al método de instancia de 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 montar, deberá escribir el administrador de contexto y desmontar, salir del administrador de contextos.

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 de Docker debe iniciarse con la marca –privileged o comenzar 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 comienza con /, se tratará como una ruta de acceso absoluta. Si no comienza con /, se tratará como una ruta de acceso relativa con respecto al directorio de trabajo actual.

random_split

Divida los flujos de archivos del conjunto de datos en dos partes aleatoriamente y aproximadamente por el porcentaje especificado.

El primer conjunto de datos devuelto contiene aproximadamente percentage el 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 va a dividir el conjunto de datos. Debe ser un número comprendido entre 0,0 y 1,0.

seed
Requerido
int

Valor de inicialización opcional que se usará para el generador aleatorio.

Devoluciones

Tipo Description

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

skip

Omita las secuencias de archivos de la parte superior del conjunto de datos por el recuento especificado.

skip(count)

Parámetros

Nombre Description
count
Requerido
int

Número de secuencias de archivo que se van a omitir.

Devoluciones

Tipo Description

Devuelve un nuevo objeto FileDataset que representa un conjunto de datos con secuencias de archivos omitidas.

take

Tome un ejemplo de secuencias de archivo desde la parte superior del conjunto de datos por el recuento especificado.

take(count)

Parámetros

Nombre Description
count
Requerido
int

Número de secuencias de archivo que se van a tomar.

Devoluciones

Tipo Description

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

take_sample

Tome una muestra aleatoria de flujos de archivos en el conjunto de datos aproximadamente por la probabilidad especificada.

take_sample(probability, seed=None)

Parámetros

Nombre Description
probability
Requerido

Probabilidad de que se incluya una secuencia de archivos en el ejemplo.

seed
Requerido
int

Valor de 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

Obtenga una lista de rutas de acceso de archivo para cada secuencia de archivos definida 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 a los archivos locales cuando se descargan o montan las secuencias de archivo.

Se quitará un prefijo común de las rutas de acceso de archivo en función de cómo se especificó 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']