ML-Daten mit Dataflow und Cloud Storage FUSE verarbeiten
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird beschrieben, wie Sie Cloud Storage FUSE mit Dataflow verwenden, um Datasets für Aufgaben im Bereich des maschinellen Lernens (ML) zu verarbeiten.
Bei ML-Aufgaben kann Dataflow zur Verarbeitung großer Datasets verwendet werden. Einige gängige Softwarebibliotheken, die für maschinelles Lernen verwendet werden, z. B. OpenCV, haben jedoch Anforderungen an Eingabedateien. Häufig muss auf Dateien zugegriffen werden, als wären sie auf der Festplatte eines lokalen Computers gespeichert, und nicht in einem cloudbasierten Speicher. Diese Anforderung führt zu Schwierigkeiten und Verzögerungen. Als Lösung können Pipelines entweder spezielle I/O-Connectors für die Eingabe verwenden oder Dateien vor der Verarbeitung auf die Dataflow-VMs herunterladen. Diese Lösungen sind häufig ineffizient.
Cloud Storage FUSE bietet eine Möglichkeit, diese ineffizienten Lösungen zu vermeiden.
Mit Cloud Storage FUSE können Sie Ihre Cloud Storage-Buckets auf den Dataflow-VMs bereitstellen. Dadurch werden die Dateien in Cloud Storage so angezeigt, als wären sie lokale Dateien. Die ML-Software kann daher direkt darauf zugreifen, ohne sie vorher herunterladen zu müssen.
Vorteile
Die Verwendung von Cloud Storage FUSE für ML-Aufgaben bietet die folgenden Vorteile:
Auf Eingabedateien, die in Cloud Storage gehostet werden, kann in der Dataflow-VM mit der Semantik des lokalen Dateisystems zugegriffen werden.
Da auf die Daten bei Bedarf zugegriffen wird, müssen die Eingabedateien nicht im Voraus heruntergeladen werden.
Unterstützung und Einschränkungen
Wenn Sie Cloud Storage FUSE mit Dataflow verwenden möchten, müssen Sie Worker-VMs mit externen IP-Adressen konfigurieren, damit sie die Anforderungen für den Internetzugriff erfüllen.
Buckets für die Verwendung mit Cloud Storage FUSE angeben
Verwenden Sie das Flag --experiments, um einen Cloud Storage-Bucket anzugeben, der auf einer VM bereitgestellt werden soll. Wenn Sie mehrere Buckets angeben möchten, verwenden Sie ein Semikolon (;) als Trennzeichen zwischen den Bucket-Namen.
Das Format dafür ist:
--experiments="gcsfuse_buckets=CONFIG"
Ersetzen Sie Folgendes:
CONFIG: Eine durch Semikolons getrennte Liste von Cloud Storage-Einträgen, wobei jeder Eintrag einer der folgenden ist:
BUCKET_NAME: Ein Cloud Storage-Bucket-Name.
Beispiel: dataflow-samples. Wenn Sie den Bucket-Modus weglassen, wird der Bucket als schreibgeschützt behandelt.
BUCKET_NAME:MODE: Ein Cloud Storage-Bucket-Name und der zugehörige Modus, wobei MODE entweder ro (schreibgeschützt) oder rw (Lese-/Schreibzugriff) ist.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-18 (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."]]