Arbeiten mit dem Dateisystem

Das Workspaces-Dateisystem

Die im linken Bereich der Workspaces-Umgebung angezeigten Dateien stellen den Inhalt Ihres Workspace-Verzeichnisses dar, dem Arbeitsverzeichnis des Notebooks.

Das Workspaces-Dateisystem

Bei Ausführung von ls im Workspace-Verzeichnis werden alle Dateien und Ordner im Verzeichnis aufgelistet, einschließlich Notebooks und aller anderen Projektressourcen.

Referenzieren von Dateien

Sie können auf Dateien im aktuellen Workspace-Verzeichnis über den relativen Pfad verweisen. Sie möchten zum Beispiel in einem Notebook und einem Beispiel-Dataset lesen (in CSV), die sich in Ihrem Arbeitsbereich befinden:

ml-intent-prediction/
├── data/
│   └── sample_data.csv
├── notebooks/
│   └── analysis.ipynb
└── utilities.py
Copy

Führen Sie in einer Python-Zelle den folgenden Code aus:

import pandas as pd

df = pd.read_csv("../data/sample_data.csv")
df.head()
Copy

Einschränkungen

Das Schreiben von Dateien in das Workspace-Verzeichnis aus dem Code oder dem Terminal wird nicht unterstützt. Auch wenn das Schreiben von Dateien während einer Sitzung zu funktionieren scheint, ist nicht garantiert, dass es erfolgreich ist, und kann in zukünftigen Versionen fehlschlagen.

Das Beibehalten von Dateien im Workspace-Verzeichnis hat die folgenden Einschränkungen:

  • Dateien sind schreibgeschützt: Dateien unter /workspace/<workspace_hash> sind schreibgeschützt und können während der Ausführung des Notebooks nicht im Code aktualisiert werden.

  • Dateischreibvorgänge vom Code oder Terminal werden nicht unterstützt: Schreiben Sie Dateien nicht programmgesteuert in das Workspace-Verzeichnis. Verwenden Sie stattdessen Snowflake-Stagingbereiche für persistente Dateien (siehe Dateien beibehalten).

  • Nur Dateien, die über Snowsight hochgeladen oder erstellt wurden, bleiben erhalten: Nur Dateien, die über Snowsight hochgeladen oder erstellt werden, bleiben über Sitzungen hinweg erhalten.

  • Nur Sitzungssicht: Alle Dateien, die während einer Sitzung aus Code oder dem Terminal erstellt wurden, werden entfernt, wenn der Notebookdienst ausgesetzt wird. Diese Dateien werden nicht im linken Fensterbereich angezeigt.

Das /tmp-Verzeichnis des Containers

Für das /tmp-Verzeichnis können auch Lese-/Schreibvorgänge getätigt werden, und es eignet sich für Entwurfsarbeiten oder temporäre Daten, die nicht beibehalten werden müssen.

Ein Beispiel für das Schreiben einer Datei in /tmp:

file_path = "/tmp/sample.txt"

with open(file_path, "w") as f:
    f.write("Hello from Python!\\nThis is a sample file saved in /tmp.")

print(f"File written to {file_path}")
Copy

Um Dateien im /tmp-Verzeichnis aufzulisten, führen Sie Folgendes aus:

%%bash
cd /tmp
ls
Copy

Dateien beibehalten

Um Dateien für die spätere Verwendung zu speichern, schreiben Sie sie mit den Snowpark-Dateivorgangs-APIs in einen Snowflake-Stagingbereich mit Schreibzugriff.

Weitere Informationen zu den erforderlichen Berechtigungen für Stagingbereiche finden Sie unter Schreibzugriff. Informationen zu Snowpark -Dateivorgängen finden Sie unter Snowpark-Dateivorgang APIs.