Partager via


FileDataset Classe

Représente une collection de références de fichier dans les magasins de données ou les URL publiques à utiliser dans Azure Machine Learning.

Un FileDataset définit une série d’opérations immuables et évaluées tardivement pour charger des données à partir de la source de données dans des flux de fichiers. Les données ne sont pas chargées à partir de la source tant que le FileDataset n’est pas invité à fournir les données.

Un FileDataset est créé à l’aide de la méthode from_files de la classe FileDatasetFactory.

Pour plus d’informations, consultez l’article Ajouter & inscrire des jeux de données. Pour commencer à utiliser un jeu de données de fichier, consultez https://aka.ms/filedataset-samplenotebook.

Initialisez l’objet FileDataset.

Ce constructeur n’est pas censé être appelé directement. Le jeu de données est destiné à être créé à l’aide de la FileDatasetFactory classe .

Héritage
FileDataset

Constructeur

FileDataset()

Remarques

FileDataset peut être utilisé comme entrée d’une exécution d’expérience. Il peut également être inscrit dans l’espace de travail avec un nom spécifié et être récupéré ultérieurement avec ce nom.

Il est possible de créer un sous-ensemble de FileDataset en appelant différentes méthodes de création d’un sous-ensemble disponibles sur cette classe. Le résultat de la création d’un sous-ensemble est toujours un nouveau FileDataset.

Le chargement réel des données se produit quand FileDataset est invité à remettre les données dans un autre mécanisme de stockage (par exemple, fichiers téléchargés ou montés sur un chemin d’accès local).

Méthodes

as_cache

Notes

Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Créer un DatacacheConsumptionConfig mappé à un datacache_store et à un jeu de données.

as_download

Crée une DatasetConsumptionConfig avec le mode défini sur Download.

Dans l’exécution envoyée, les fichiers du jeu de données seront téléchargés dans le chemin d’accès local sur la cible de calcul. L’emplacement de téléchargement peut être récupéré à partir des valeurs d’argument et du champ input_datasets du contexte d’exécution. Nous générons automatiquement un nom d’entrée. Si vous souhaitez spécifier un nom d’entrée personnalisé, appelez la méthode 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

Définissez le mode sur « hdfs ».

Dans l’exécution synapse envoyée, les fichiers des jeux de données seront convertis dans le chemin d’accès local sur la cible de calcul. Le chemin hdfs peut être récupéré à partir des valeurs d’argument et des variables d’environnement du système d’exploitation.


   # 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

Crée une DatasetConsumptionConfig avec le mode défini sur Mount.

Dans l’exécution envoyée, les fichiers des jeux de données seront montés dans le chemin d’accès local sur la cible de calcul. Le point de montage peut être récupéré à partir des valeurs d’argument et du champ input_datasets du contexte d’exécution. Nous générons automatiquement un nom d’entrée. Si vous souhaitez spécifier un nom d’entrée personnalisé, appelez la méthode 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

Télécharge les flux de fichiers définis par le jeu de données comme des fichiers locaux.

file_metadata

Notes

Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Obtenir l’expression de métadonnées de fichier en spécifiant le nom de la colonne de métadonnées.

Les colonnes de métadonnées de fichier prises en charge sont Size, LastModifiedTime, CreationTime, Extension et CanSeek

filter

Notes

Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Filtrer les données, en laissant uniquement les enregistrements qui correspondent à l’expression spécifiée.

hydrate

Notes

Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Mettre en attente le jeu de données dans les réplicas demandés spécifiés dans datacache_store.

mount

Crée un gestionnaire de contexte pour monter les flux de fichiers définis par le jeu de données comme étant des fichiers locaux.

random_split

Fractionne les flux de fichiers dans le jeu de données en deux parties de façon aléatoire et approximative selon le pourcentage spécifié.

Le premier jeu de données retourné contient approximativement percentage du nombre total de références de fichier et le deuxième jeu de données contient les références de fichier restantes.

skip

Ignore les flux de fichiers à partir du haut du jeu de données selon le nombre spécifié.

take

Prend un échantillon des flux de fichiers à partir du haut du jeu de données selon le nombre spécifié.

take_sample

Prend un échantillon aléatoire des flux de fichiers dans le jeu de données, approximativement d’après la probabilité spécifiée.

to_path

Obtient une liste de chemins d’accès de fichiers pour chaque flux de fichiers défini par le jeu de données.

as_cache

Notes

Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Créer un DatacacheConsumptionConfig mappé à un datacache_store et à un jeu de données.

as_cache(datacache_store)

Paramètres

Nom Description
datacache_store
Obligatoire

Le datacachestore à utiliser pour mettre en attente.

Retours

Type Description

Objet de configuration décrivant la manière dont le datacache doit être matérialisé dans l’exécution.

as_download

Crée une DatasetConsumptionConfig avec le mode défini sur Download.

Dans l’exécution envoyée, les fichiers du jeu de données seront téléchargés dans le chemin d’accès local sur la cible de calcul. L’emplacement de téléchargement peut être récupéré à partir des valeurs d’argument et du champ input_datasets du contexte d’exécution. Nous générons automatiquement un nom d’entrée. Si vous souhaitez spécifier un nom d’entrée personnalisé, appelez la méthode 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)

Paramètres

Nom Description
path_on_compute
str

Chemin d’accès cible sur le calcul auquel rendre les données disponibles.

Valeur par défaut: None

Remarques

Lorsque le jeu de données est créé à partir du chemin d’accès d’un fichier unique, l’emplacement de téléchargement est le chemin d’accès du fichier téléchargé unique. Sinon, l’emplacement de téléchargement sera le chemin d’accès du dossier englobant tous les fichiers téléchargés.

Si path_on_compute commence par un /, il est traité comme un chemin d’accès absolu. S’il ne commence pas par un /, il est traité comme un chemin d’accès relatif par rapport au répertoire de travail. Si vous avez spécifié un chemin d’accès absolu, assurez-vous que le travail est autorisé à écrire dans ce répertoire.

as_hdfs

Définissez le mode sur « hdfs ».

Dans l’exécution synapse envoyée, les fichiers des jeux de données seront convertis dans le chemin d’accès local sur la cible de calcul. Le chemin hdfs peut être récupéré à partir des valeurs d’argument et des variables d’environnement du système d’exploitation.


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

Remarques

Lorsque le jeu de données est créé à partir du chemin d’accès d’un fichier unique, le chemin hdfs est le chemin d’accès du fichier unique. Dans le cas contraire, le chemin hdfs sera le chemin d’accès du dossier englobant tous les fichiers montés.

as_mount

Crée une DatasetConsumptionConfig avec le mode défini sur Mount.

Dans l’exécution envoyée, les fichiers des jeux de données seront montés dans le chemin d’accès local sur la cible de calcul. Le point de montage peut être récupéré à partir des valeurs d’argument et du champ input_datasets du contexte d’exécution. Nous générons automatiquement un nom d’entrée. Si vous souhaitez spécifier un nom d’entrée personnalisé, appelez la méthode 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)

Paramètres

Nom Description
path_on_compute
str

Chemin d’accès cible sur le calcul auquel rendre les données disponibles.

Valeur par défaut: None

Remarques

Lorsque le jeu de données est créé à partir du chemin d’accès d’un fichier unique, le point de montage est le chemin d’accès du fichier monté unique. Dans le cas contraire, le point de montage sera le chemin d’accès du dossier englobant tous les fichiers montés.

Si path_on_compute commence par un /, il est traité comme un chemin d’accès absolu. S’il ne commence pas par un /, il est traité comme un chemin d’accès relatif par rapport au répertoire de travail. Si vous avez spécifié un chemin d’accès absolu, assurez-vous que le travail est autorisé à écrire dans ce répertoire.

download

Télécharge les flux de fichiers définis par le jeu de données comme des fichiers locaux.

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

Paramètres

Nom Description
target_path
Obligatoire
str

Répertoire local dans lequel télécharger les fichiers. Si la valeur est définie sur None, les données sont téléchargées dans un répertoire temporaire.

overwrite
Obligatoire

Indique si les fichiers existants doivent être remplacés. La valeur par défaut est False. Les fichiers existants seront remplacés si le remplacement a la valeur True. Sinon, une exception est levée.

ignore_not_found
Obligatoire

Indique s’il faut faire échouer le téléchargement si certains fichiers pointés par le jeu de données sont introuvables. La valeur par défaut est False. Le téléchargement échouera en cas d’échec du téléchargement d’un fichier pour une raison quelconque si ignore_not_found est défini sur False ; dans le cas contraire, un avertissement sera enregistré pour les erreurs de type introuvable et le téléchargement réussira tant qu’aucun autre type d’erreur ne se produira.

Retours

Type Description

Retourne un tableau de chemins de fichier pour chaque fichier téléchargé.

Remarques

Si target_path commence par un /, il est traité comme un chemin d’accès absolu. S’il ne commence pas par un /, il est traité comme un chemin d’accès relatif par rapport au répertoire de travail actuel.

file_metadata

Notes

Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Obtenir l’expression de métadonnées de fichier en spécifiant le nom de la colonne de métadonnées.

Les colonnes de métadonnées de fichier prises en charge sont Size, LastModifiedTime, CreationTime, Extension et CanSeek

file_metadata(col)

Paramètres

Nom Description
col
Obligatoire
str

Nom de la colonne

Retours

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

Retourne une expression qui récupère la valeur dans la colonne spécifiée.

filter

Notes

Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Filtrer les données, en laissant uniquement les enregistrements qui correspondent à l’expression spécifiée.

filter(expression)

Paramètres

Nom Description
expression
Obligatoire
<xref:azureml.dataprep.api.expression.Expression>

Expression à évaluer.

Retours

Type Description

Jeu de données modifié (non inscrit).

Remarques

Les expressions sont démarrées en indexant le jeu de données avec le nom d’une colonne. Elles prennent en charge un large éventail de fonctions et d’opérateurs et peuvent être combinées à l’aide d’opérateurs logiques. L’expression résultante sera évaluée tardivement pour chaque enregistrement quand une opération d’extraction de données se produit et pas où elle est définie.


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

hydrate

Notes

Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Mettre en attente le jeu de données dans les réplicas demandés spécifiés dans datacache_store.

hydrate(datacache_store, replica_count=None)

Paramètres

Nom Description
datacache_store
Obligatoire

Le datacachestore à utiliser pour mettre en attente.

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

Nombre de réplicas à mettre en attente.

Retours

Type Description

Objet de configuration décrivant la manière dont le datacache doit être matérialisé dans l’exécution.

mount

Crée un gestionnaire de contexte pour monter les flux de fichiers définis par le jeu de données comme étant des fichiers locaux.

mount(mount_point=None, **kwargs)

Paramètres

Nom Description
mount_point
Obligatoire
str

Répertoire local dans lequel les fichiers doivent être montés. Si la valeur est définie sur None, les données sont montées dans un répertoire temporaire, que vous pouvez trouver en appelant la méthode d’instance MountContext.mount_point.

Retours

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

Retourne un gestionnaire de contexte pour gérer le cycle de vie du montage.

Remarques

Un gestionnaire de contexte est retourné pour gérer le cycle de vie du montage. Pour effectuer un montage, vous devez entrer le gestionnaire de contexte et pour effectuer un démontage, quittez le gestionnaire de contexte.

Le montage est pris en charge uniquement sur Unix ou les systèmes d’exploitation de type Unix avec le package natif libfuse installé. Si votre exécution est à l’intérieur d’un conteneur Docker, le conteneur Docker doit être démarré avec l’indicateur –privileged ou démarré avec –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 commence par un /, il est traité comme un chemin d’accès absolu. S’il ne commence pas par un /, il est traité comme un chemin d’accès relatif par rapport au répertoire de travail actuel.

random_split

Fractionne les flux de fichiers dans le jeu de données en deux parties de façon aléatoire et approximative selon le pourcentage spécifié.

Le premier jeu de données retourné contient approximativement percentage du nombre total de références de fichier et le deuxième jeu de données contient les références de fichier restantes.

random_split(percentage, seed=None)

Paramètres

Nom Description
percentage
Obligatoire

Pourcentage approximatif de fractionnement du jeu de données. Il doit s’agir d’un nombre compris entre 0,0 et 1,0.

seed
Obligatoire
int

Valeur initiale facultative à utiliser pour le générateur aléatoire.

Retours

Type Description

Retourne un tuple de nouveaux objets FileDataset représentant les deux jeux de données après le fractionnement.

skip

Ignore les flux de fichiers à partir du haut du jeu de données selon le nombre spécifié.

skip(count)

Paramètres

Nom Description
count
Obligatoire
int

Nombre de flux de fichiers à ignorer.

Retours

Type Description

Retourne un nouvel objet FileDataset qui représente un jeu de données dont les flux de fichiers sont ignorés.

take

Prend un échantillon des flux de fichiers à partir du haut du jeu de données selon le nombre spécifié.

take(count)

Paramètres

Nom Description
count
Obligatoire
int

Nombre de flux de fichiers à prendre.

Retours

Type Description

Retourne un nouvel objet FileDataset représentant le jeu de données échantillonné.

take_sample

Prend un échantillon aléatoire des flux de fichiers dans le jeu de données, approximativement d’après la probabilité spécifiée.

take_sample(probability, seed=None)

Paramètres

Nom Description
probability
Obligatoire

Probabilité qu’un flux de fichiers soit inclus dans l’exemple.

seed
Obligatoire
int

Valeur initiale facultative à utiliser pour le générateur aléatoire.

Retours

Type Description

Retourne un nouvel objet FileDataset représentant le jeu de données échantillonné.

to_path

Obtient une liste de chemins d’accès de fichiers pour chaque flux de fichiers défini par le jeu de données.

to_path()

Retours

Type Description

Retourne un tableau de chemins d’accès de fichiers.

Remarques

Les chemins d’accès de fichiers sont des chemins d’accès relatifs pour les fichiers locaux lorsque les flux de fichiers sont téléchargés ou montés.

Un préfixe commun sera supprimé des chemins d’accès de fichiers en fonction de la façon dont la source de données a été spécifiée pour créer le jeu de données. Par exemple :


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