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

datacache_store
DatacacheStore
Obligatoire

Le datacachestore à utiliser pour mettre en attente.

Retours

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

Type de retour

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

path_on_compute
str
valeur par défaut: None

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

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

path_on_compute
str
valeur par défaut: None

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

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

target_path
str
Obligatoire

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

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

Type de retour

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

col
str
Obligatoire

Nom de la colonne

Retours

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

Type de retour

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

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

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

Expression à évaluer.

Retours

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

Type de retour

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

datacache_store
DatacacheStore
Obligatoire

Le datacachestore à utiliser pour mettre en attente.

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

Nombre de réplicas à mettre en attente.

Retours

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

Type de retour

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

mount_point
str
Obligatoire

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

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

Type de retour

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

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

percentage
float
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
int
Obligatoire

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

Retours

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

Type de retour

skip

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

skip(count)

Paramètres

count
int
Obligatoire

Nombre de flux de fichiers à ignorer.

Retours

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

Type de retour

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

count
int
Obligatoire

Nombre de flux de fichiers à prendre.

Retours

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

Type de retour

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

probability
float
Obligatoire

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

seed
int
Obligatoire

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

Retours

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

Type de retour

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

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

Type de retour

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