Traiter des données de ML à l'aide de Dataflow et de Cloud Storage FUSE
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page explique comment utiliser Cloud Storage FUSE avec Dataflow pour traiter des ensembles de données pour des tâches de machine learning (ML).
Lorsque vous travaillez sur des tâches de ML, Dataflow peut être utilisé pour traiter de grands ensembles de données. Toutefois, certaines bibliothèques logicielles courantes utilisées pour le ML, comme OpenCV, ont des exigences concernant les fichiers d'entrée. Ils nécessitent souvent d'accéder aux fichiers comme s'ils étaient stockés sur le disque dur d'un ordinateur local, plutôt que dans un stockage cloud. Cette exigence crée des difficultés et des retards. Pour résoudre ce problème, les pipelines peuvent utiliser des connecteurs d'E/S spéciaux pour l'entrée ou télécharger des fichiers sur les machines virtuelles (VM) Dataflow avant le traitement. Ces solutions sont souvent inefficaces.
Cloud Storage FUSE permet d'éviter ces solutions inefficaces.
Cloud Storage FUSE vous permet d'installer vos buckets Cloud Storage sur les VM Dataflow. Les fichiers Cloud Storage apparaissent alors comme s'ils étaient des fichiers locaux. Le logiciel de ML peut donc y accéder directement sans avoir à les télécharger au préalable.
Avantages
L'utilisation de Cloud Storage FUSE pour les tâches de ML offre les avantages suivants :
Les fichiers d'entrée hébergés sur Cloud Storage sont accessibles dans la VM Dataflow à l'aide de la sémantique du système de fichiers local.
Comme les données sont accessibles à la demande, il n'est pas nécessaire de télécharger les fichiers d'entrée au préalable.
Compatibilité et limites
Pour utiliser Cloud Storage FUSE avec Dataflow, vous devez configurer les VM de nœud de calcul avec des adresses IP externes afin qu'elles répondent aux exigences d'accès à Internet.
Spécifier les buckets à utiliser avec Cloud Storage FUSE
Pour spécifier un bucket Cloud Storage à installer sur une VM, utilisez l'indicateur --experiments. Pour spécifier plusieurs buckets, utilisez un point-virgule (;) comme délimiteur entre les noms de buckets.
Le format est le suivant :
--experiments="gcsfuse_buckets=CONFIG"
Remplacez les éléments suivants :
CONFIG : liste d'entrées Cloud Storage séparées par des points-virgules, où chaque entrée est l'une des suivantes :
BUCKET_NAME : nom d'un bucket Cloud Storage.
Exemple :dataflow-samples Si vous omettez le mode du bucket, il est traité comme étant en lecture seule.
BUCKET_NAME:MODE : nom d'un bucket Cloud Storage et son mode associé, où MODE est ro (lecture seule) ou rw (lecture et écriture).
Dans cet exemple, la spécification du mode garantit les éléments suivants :
gs://read-bucket1 est installé en mode lecture seule.
gs://read-bucket2 est installé en mode lecture seule.
gs://write-bucket1 est installé en mode lecture/écriture.
Le code du pipeline Beam peut accéder à ces buckets à l'adresse /var/opt/google/gcs/BUCKET_NAME.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Process ML data using Dataflow and Cloud Storage FUSE\n\nThis page describes how to use\n[Cloud Storage FUSE](/storage/docs/cloud-storage-fuse/overview) with Dataflow\nto process datasets for machine learning (ML) tasks.\n\nWhen working with ML tasks, Dataflow can be used for processing large\ndatasets. However, some common software libraries used for ML, like OpenCV, have\ninput file requirements. They frequently require files to be accessed as if they\nare stored on a local computer's hard drive, rather than from cloud-based\nstorage. This requirement creates difficulties and delays. As a solution,\npipelines can either use special I/O connectors for input or download files onto\nthe Dataflow virtual machines (VMs) before processing. These solutions\nare frequently inefficient.\n\nCloud Storage FUSE provides a way to avoid these inefficient solutions.\nCloud Storage FUSE lets you mount your Cloud Storage buckets onto the\nDataflow VMs. This makes the files in Cloud Storage appear as if they\nare local files. As a result, the ML software can access them directly without\nneeding to download them beforehand.\n\nBenefits\n--------\n\nUsing Cloud Storage FUSE for ML tasks offers the following benefits:\n\n- Input files hosted on Cloud Storage can be accessed in the Dataflow VM using local file system semantics.\n- Because the data is accessed on-demand, the input files don't have to be downloaded beforehand.\n\nSupport and limitations\n-----------------------\n\n- To use Cloud Storage FUSE with Dataflow, you must configure worker VMs with [external IP addresses](/dataflow/docs/guides/routes-firewall#internet_access_for) so that they meet the internet access requirements.\n\nSpecify buckets to use with Cloud Storage FUSE\n----------------------------------------------\n\nTo specify a Cloud Storage bucket to mount to a VM, use the\n[`--experiments`](/dataflow/docs/reference/pipeline-options) flag. To specify\nmultiple buckets, use a semicolon delimiter (`;`) between bucket names.\n\nThe format is as follows: \n\n --experiments=\"gcsfuse_buckets=\u003cvar translate=\"no\"\u003eCONFIG\u003c/var\u003e\"\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eCONFIG\u003c/var\u003e: a semicolon-delimited list of\n Cloud Storage entries, where each entry is one of the following:\n\n 1. \u003cvar translate=\"no\"\u003eBUCKET_NAME\u003c/var\u003e: A Cloud Storage bucket name.\n For example, `dataflow-samples`. If you omit the bucket mode, the bucket\n is treated as read-only.\n\n 2. \u003cvar translate=\"no\"\u003eBUCKET_NAME\u003c/var\u003e`:`\u003cvar translate=\"no\"\u003eMODE\u003c/var\u003e: A\n Cloud Storage bucket name and its associated mode, where `MODE` is\n either `ro` (read-only) or `rw` (read-write).\n\n For example: \n\n --experiments=\"gcsfuse_buckets=read-bucket1;read-bucket2:ro;write-bucket1:rw\"\n\n In this example, specifying the mode assures the following:\n - `gs://read-bucket1` is mounted in read-only mode.\n - `gs://read-bucket2` is mounted in read-only mode.\n - `gs://write-bucket1` is mounted in read-write mode.\n\n Beam pipeline code can access these buckets at\n `/var/opt/google/gcs/`\u003cvar translate=\"no\"\u003eBUCKET_NAME\u003c/var\u003e."]]