Partager via


FileDataset Classe

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

Un FileDataset définit une série d’opérations immuables évaluées de manière différée 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 FileDataset n’est pas invité à fournir des données.

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

Pour plus d’informations, consultez l’article Ajouter et inscrire des jeux de données. Pour commencer à utiliser un jeu de données de fichiers, 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 FileDatasetFactory la classe.

Constructeur

FileDataset()

Remarques

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

FileDataset peut être sous-ensemble en appelant différentes méthodes de sous-réinitialisation disponibles sur cette classe. Le résultat de la sous-réinitialisation est toujours un nouvel ensemble FileDataset.

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

Méthodes

as_cache

Remarque

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

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

as_download

Créez un DatasetConsumptionConfig avec le mode défini pour télécharger.

Dans l’exécution envoyée, les fichiers du jeu de données seront téléchargés sur le chemin 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érerons 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 sont convertis en chemin 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éez un DatasetConsumptionConfig avec le mode défini pour monter.

Dans l’exécution envoyée, les fichiers des jeux de données sont montés sur le chemin 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érerons 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échargez les flux de fichiers définis par le jeu de données en tant que fichiers locaux.

file_metadata

Remarque

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

Obtenez 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

Remarque

Il s’agit d’une méthode expérimentale et 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

Remarque

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

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

mount

Créez un gestionnaire de contexte pour le montage de flux de fichiers définis par le jeu de données en tant que fichiers locaux.

random_split

Fractionnez les flux de fichiers dans le jeu de données en deux parties de manière aléatoire et approximativement par le pourcentage spécifié.

Le premier jeu de données retourné contient approximativement percentage le 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

Ignorez les flux de fichiers en haut du jeu de données par le nombre spécifié.

take

Prenez un exemple de flux de fichiers en haut du jeu de données par le nombre spécifié.

take_sample

Prenez un échantillon aléatoire de flux de fichiers dans le jeu de données approximativement par la probabilité spécifiée.

to_path

Obtenez la liste des chemins d’accès aux fichiers pour chaque flux de fichiers défini par le jeu de données.

as_cache

Remarque

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

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

as_cache(datacache_store)

Paramètres

Nom Description
datacache_store
Obligatoire

Datacachestore à utiliser pour hydrater.

Retours

Type Description

Objet de configuration décrivant comment le datacache doit être matérialisé dans l’exécution.

as_download

Créez un DatasetConsumptionConfig avec le mode défini pour télécharger.

Dans l’exécution envoyée, les fichiers du jeu de données seront téléchargés sur le chemin 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érerons 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 pour 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 seul fichier, l’emplacement de téléchargement sera le chemin d’accès du fichier téléchargé unique. Sinon, l’emplacement de téléchargement sera le chemin du dossier englobant pour tous les fichiers téléchargés.

Si path_on_compute commence par un /, il sera traité comme un chemin absolu. S’il ne commence pas par un /, il sera traité comme un chemin relatif par rapport au répertoire de travail. Si vous avez spécifié un chemin d’accès absolu, vérifiez 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 sont convertis en chemin 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 seul fichier, le chemin d’accès hdfs sera le chemin d’accès du fichier unique. Sinon, le chemin hdfs sera le chemin du dossier englobant pour tous les fichiers montés.

as_mount

Créez un DatasetConsumptionConfig avec le mode défini pour monter.

Dans l’exécution envoyée, les fichiers des jeux de données sont montés sur le chemin 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érerons 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 pour 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 seul fichier, le point de montage est le chemin d’accès du fichier monté unique. Sinon, le point de montage sera le chemin du dossier englobant pour tous les fichiers montés.

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

download

Téléchargez les flux de fichiers définis par le jeu de données en tant que 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 ce n’est pas le cas, les données sont téléchargées dans un répertoire temporaire.

overwrite
Obligatoire

Indique s’il faut remplacer les fichiers existants. La valeur par défaut est False. Les fichiers existants sont remplacés si le remplacement a la valeur True ; sinon, une exception est levée.

ignore_not_found
Obligatoire

Indique s’il faut é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 échoue si un téléchargement de fichier échoue pour une raison quelconque si ignore_not_found a la valeur False ; sinon, une waring est enregistrée pour les erreurs introuvables et le dowload réussit tant qu’aucun autre type d’erreur n’est rencontré.

Retours

Type Description

Retourne un tableau de chemins d’accès de fichier pour chaque fichier téléchargé.

Remarques

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

file_metadata

Remarque

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

Obtenez 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

Remarque

Il s’agit d’une méthode expérimentale et 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. Ils prennent en charge une variété de fonctions et d’opérateurs et peuvent être combinés à l’aide d’opérateurs logiques. L’expression résultante est évaluée de manière différée pour chaque enregistrement lorsqu’une extraction de données se produit et non pas là où elle est définie.


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

hydrate

Remarque

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

Hydratez 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

Datacachestore à utiliser pour hydrater.

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

Nombre de réplicas à hydrater.

Retours

Type Description

Objet de configuration décrivant comment le datacache doit être matérialisé dans l’exécution.

mount

Créez un gestionnaire de contexte pour le montage de flux de fichiers définis par le jeu de données en tant que fichiers locaux.

mount(mount_point=None, **kwargs)

Paramètres

Nom Description
mount_point
Obligatoire
str

Répertoire local dans lequel monter les fichiers. Si aucune, 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 monter, vous devez entrer le gestionnaire de contextes et le démonter, quitter le gestionnaire de contextes.

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 vous exécutez à l’intérieur d’un conteneur Docker, le conteneur Docker doit être démarré avec l’indicateur privilégié –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 sera traité comme un chemin absolu. S’il ne commence pas par un /, il sera traité comme un chemin relatif par rapport au répertoire de travail actuel.

random_split

Fractionnez les flux de fichiers dans le jeu de données en deux parties de manière aléatoire et approximativement par le pourcentage spécifié.

Le premier jeu de données retourné contient approximativement percentage le 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 à fractionner le 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

Ignorez les flux de fichiers en haut du jeu de données par 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 représentant un jeu de données avec des flux de fichiers ignorés.

take

Prenez un exemple de flux de fichiers en haut du jeu de données par 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

Prenez un échantillon aléatoire de flux de fichiers dans le jeu de données approximativement par 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

Obtenez la liste des chemins d’accès aux 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 aux fichiers.

Remarques

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

Un préfixe courant sera supprimé des chemins d’accès du fichier 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']