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 e evaluadas de forma lazid para cargar datos desde el 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.

Se crea un objeto FileDataset mediante from_files el método de la clase FileDatasetFactory.

Para más información, consulte el artículo Add & register datasets (Agregar & conjuntos de datos de registro). Para empezar a trabajar con un conjunto de datos de archivos, consulte https://aka.ms/filedataset-samplenotebook .

Herencia
FileDataset

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 crear mediante la invocación de diferentes métodos de subconjunto disponibles en esta clase. El resultado de la subconjunto siempre es un nuevo objeto FileDataset.

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

Métodos

as_download

Cree un objeto DatasetConsumptionConfig 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 a partir de los valores de argumento y input_datasets campo del contexto de ejecución. Se generará automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al método as_named_input personalizado.


   # 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 a 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 objeto DatasetConsumptionConfig con el modo establecido en mount.

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 input_datasets campo del contexto de ejecución. Se generará automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al método as_named_input personalizado.


   # 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 para https://aka.ms/azuremlexperimental obtener más información.

Obtenga la expresión de metadatos de archivo especificando el 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 para https://aka.ms/azuremlexperimental obtener más información.

Filtre los datos, dejando solo los registros que coincidan con la expresión especificada.

mount

Cree un administrador de contexto para montar secuencias de archivos definidas por el conjunto de datos como archivos locales.

random_split

Divida las secuencias de archivo del conjunto de datos en dos partes aleatoriamente y aproximadamente por el porcentaje especificado.

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

skip

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

take

Tome un ejemplo de secuencias de archivo de la parte superior del conjunto de datos según el recuento especificado.

take_sample

Tome una muestra aleatoria de secuencias de archivo en el conjunto de datos aproximadamente según 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_download

Cree un objeto DatasetConsumptionConfig 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 a partir de los valores de argumento y input_datasets campo del contexto de ejecución. Se generará automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al método as_named_input personalizado.


   # 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

path_on_compute
<xref:str>
valor predeterminado: None

Ruta de acceso de destino en el proceso en la que se harán disponibles los datos.

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 archivo descargado único. 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 con /, se tratará como una ruta de acceso relativa relativa 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 a 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 que lo contiene para todos los archivos montados.

as_mount

Cree un objeto DatasetConsumptionConfig con el modo establecido en mount.

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 input_datasets campo del contexto de ejecución. Se generará automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al método as_named_input personalizado.


   # 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

path_on_compute
<xref:str>
valor predeterminado: None

Ruta de acceso de destino en el proceso en la que se harán disponibles los datos.

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 que lo contiene para todos los archivos montados.

Si path_on_compute empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza con /, se tratará como una ruta de acceso relativa relativa 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)

Parámetros

target_path
<xref:str>

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

overwrite
<xref:bool>

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

Devoluciones

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

Tipo de valor devuelto

list(<xref:str>)

Comentarios

Si target_path empieza por /, 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 para https://aka.ms/azuremlexperimental obtener más información.

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

col
<xref:str>

Nombre de la columna

Devoluciones

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

Tipo de valor devuelto

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

filter

Nota

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

Filtre los datos, dejando solo los registros que coincidan con la expresión especificada.

filter(expression)

Parámetros

expression
<xref:azureml.dataprep.api.expression.Expression>

La expresión que se va a evaluar.

Devoluciones

Conjunto de datos modificado (sin registrar).

Tipo de valor devuelto

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 laziosa 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')

mount

Cree un administrador de contexto para montar secuencias de archivos definidas por el conjunto de datos como archivos locales.

mount(mount_point=None, **kwargs)

Parámetros

mount_point
<xref:str>

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

Devoluciones

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

Tipo de valor devuelto

<xref:MountContext: the context manager. Upon entering the context manager>, <xref:the dataflow will bemounted to the mount_point. Upon exit>, <xref:it will remove the mount point and clean up the daemon processused to mount the dataflow.>

Comentarios

Se devolverá un administrador de contexto para administrar el ciclo de vida del montaje. Para montarlo, deberá escribir el administrador de contexto y, para desmontarlo, salga del administrador de contexto.

El montaje solo se admite en sistemas operativos unix o 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 se debe iniciar 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 con /, se tratará como una ruta de acceso relativa con respecto al directorio de trabajo actual.

random_split

Divida las secuencias de archivo del conjunto de datos en dos partes aleatoriamente y aproximadamente por el porcentaje especificado.

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

random_split(percentage, seed=None)

Parámetros

percentage
<xref:float>

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

seed
<xref:int>

Valor de ed. opcional que se usará para el generador aleatorio.

Devoluciones

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

Tipo de valor devuelto

skip

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

skip(count)

Parámetros

count
<xref:int>

Número de secuencias de archivo que se omitirán.

Devoluciones

Devuelve un nuevo objeto FileDataset que representa un conjunto de datos con secuencias de archivo omitida.

Tipo de valor devuelto

take

Tome un ejemplo de secuencias de archivo de la parte superior del conjunto de datos según el recuento especificado.

take(count)

Parámetros

count
<xref:int>

Número de secuencias de archivo que se tomarán.

Devoluciones

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

Tipo de valor devuelto

take_sample

Tome una muestra aleatoria de secuencias de archivo en el conjunto de datos aproximadamente según la probabilidad especificada.

take_sample(probability, seed=None)

Parámetros

probability
<xref:float>

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

seed
<xref:int>

Valor de ed. opcional que se usará para el generador aleatorio.

Devoluciones

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

Tipo de valor devuelto

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

Devuelve una matriz de rutas de acceso de archivo.

Tipo de valor devuelto

list(<xref:str>)

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