Empfehlungen für Dateien in Volumes und Arbeitsbereichsdateien
Wenn Sie Daten oder Dateien in Azure Databricks hochladen oder speichern, können Sie diese Dateien mit Unity Catalog-Volumes oder -Arbeitsbereichsdateien speichern. Dieser Artikel enthält Empfehlungen und Anforderungen für die Verwendung dieser Speicherorte. Weitere Informationen zu Volumes und Arbeitsbereichsdateien finden Sie unter Was sind Unity Catalog-Volumes? und Was sind Arbeitsbereichsdateien?.
Databricks empfiehlt die Verwendung von Unity Catalog-Volumes zum Speichern von Daten, Bibliotheken und Buildartefakten. Speichern Sie Notebooks, SQL-Abfragen und Codedateien als Arbeitsbereichsdateien. Sie können Arbeitsbereichsdateiverzeichnisse als Git-Ordner für die Synchronisierung mit Remote-Git-Repositorys konfigurieren. Weitere Informationen finden Sie unter Git-Integration für Databricks-Git-Ordner. Kleine Datendateien, die für Testszenarien verwendet werden, können auch als Arbeitsbereichsdateien gespeichert werden.
Die folgenden Tabellen enthalten spezifische Empfehlungen für Dateien, je nach Dateityp oder erforderlichen Funktionen.
Wichtig
Das Databricks File System (DBFS) ist auch für die Dateispeicherung verfügbar, wird jedoch nicht empfohlen, da alle Arbeitsbereichsbenutzer Zugriff auf Dateien in DBFS haben. Weitere Informationen finden Sie unter DBFS.
Dateitypen
In der folgenden Tabelle finden Sie Speicherempfehlungen für Dateitypen. Außer den Beispielen in dieser Tabelle unterstützt Databricks viele weitere Dateiformate.
Dateityp | Empfehlung |
---|---|
Databricks-Objekte wie Notebooks und Abfragen | Als Arbeitsbereichsdateien speichern |
Strukturierte Datendateien wie Parquet-Dateien und ORC-Dateien | In Unity Catalog-Volumes speichern |
Halbstrukturierte Datendateien wie Textdateien (.csv , .txt ) und JSON-Dateien (.json ) |
In Unity Catalog-Volumes speichern |
Unstrukturierte Datendateien wie Bilddateien (.png , .svg ), Audiodateien (.mp3 ) und Dokumentdateien (.pdf , .docx ) |
In Unity Catalog-Volumes speichern |
Rohdatendateien, die für die Ad-hoc- oder frühzeitige Untersuchung von Daten verwendet werden | In Unity Catalog-Volumes speichern |
Operative Daten wie Protokolldateien | In Unity Catalog-Volumes speichern |
Große Archivdateien wie ZIP-Dateien (.zip ) |
In Unity Catalog-Volumes speichern |
Quellcodedateien wie Python-Dateien (.py ), Java-Dateien (.java ) und Scala-Dateien (.scala ) |
Ggf. als Arbeitsbereichsdateien mit anderen verwandten Objekten speichern, z. B. Notebooks und Abfragen. Databricks empfiehlt, diese Dateien zur Versionskontrolle und Änderungsnachverfolgung in einem Git-Ordner zu verwalten. |
Buildartefakte und Bibliotheken wie Python-Wheels (.whl ) und JAR-Dateien (.jar ) |
In Unity Catalog-Volumes speichern |
Konfigurationsdateien | Konfigurationsdateien, die für verschiedene Arbeitsbereiche benötigt werden, in Unity Catalog-Volumes speichern, aber als Arbeitsbereichsdateien speichern, wenn es sich um Projektdateien in einem Git-Ordner handelt. |
Funktionsvergleich
In der folgenden Tabelle wird der Funktionsumfang von Arbeitsbereichsdateien und Unity Catalog-Volumes verglichen.
Funktion | Arbeitsbereichsdateien | Unity Catalog-Volumes |
---|---|---|
Zugriff auf Dateien | Der gegenseitige Zugriff auf Arbeitsbereichsdateien ist nur innerhalb desselben Arbeitsbereichs möglich. | Der Zugriff auf Dateien ist global über Arbeitsbereiche möglich. |
Programmgesteuerter Zugriff | Der Zugriff auf Dateien ist folgendermaßen möglich: – Spark-APIs - FUSE - dbutils - REST-API - Databricks SDKs - Databricks-Befehlszeilenschnittstelle |
Der Zugriff auf Dateien ist folgendermaßen möglich: – Spark-APIs - FUSE - dbutils - REST-API - Databricks SDKs - Databricks SQL Connectors - Databricks-Befehlszeilenschnittstelle - Databricks Terraform-Anbieter |
Databricks-Ressourcenbundles | Standardmäßig werden alle Dateien in einem Bundle, die Bibliotheken und Databricks-Objekte wie Notebooks und Abfragen umfassen, sicher als Arbeitsbereichsdateien bereitgestellt. Die Berechtigungen werden in der Bundlekonfiguration definiert. | Bundles können so angepasst werden, dass Bibliotheken bereits in Volumes eingeschlossen werden, wenn die Bibliotheken den Grenzwert für die Größe von Arbeitsbereichsdateien überschreiten. Weitere Informationen finden Sie unter Bibliotheksabhängigkeiten für Databricks-Ressourcenbundles. |
Dateiberechtigungsebene | Berechtigungen gelten auf Git-Ordnerebene, wenn sich die Datei in einem Git-Ordner befindet, andernfalls werden Berechtigungen auf Dateiebene festgelegt. | Berechtigungen gelten auf Ebene des Volumes. |
Verwaltung von Berechtigungen | Berechtigungen werden von ACLs des Arbeitsbereichs verwaltet und sind auf den enthaltenden Arbeitsbereich beschränkt. | Metadaten und Berechtigungen werden von Unity Catalog verwaltet. Diese Berechtigungen gelten für alle Arbeitsbereiche, die Zugriff auf den Katalog haben. |
Einbinden von externem Speicher | Das Einbinden von externem Speicher wird nicht unterstützt | Bietet die Möglichkeit, auf bereits vorhandene Datasets im externen Speicher zu verweisen, indem ein externes Volume erstellt wird. Weitere Informationen finden Sie unter Was sind Unity Catalog-Volumes?. |
UDF-Unterstützung | Nicht unterstützt | Das Schreiben von UDFs wird mithilfe von Volumes-FUSE unterstützt |
Dateigröße | Kleinere Dateien mit weniger als 500 MB wie Quellcodedateien (.py , .md , .yml ) neben Notebooks speichern. |
Sehr große Datendateien mit Grenzwerten speichern, die von Clouddienstanbietern bestimmt werden. |
Upload und Download | Unterstützung für Upload und Download von bis zu 10 MB. | Unterstützung für Upload und Download von bis zu 5 MB. |
Unterstützung für Tabellenerstellung | Tabellen können nicht mit Arbeitsbereichsdateien als Speicherort erstellt werden. | Tabellen können aus Dateien in einem Volume erstellt werden, indem COPY INTO , Autoloader oder andere Optionen ausgeführt werden, die in Erfassen von Daten in einem Databricks-Lakehouse beschrieben werden. |
Verzeichnisstruktur und Dateipfade | Dateien werden in geschachtelten Verzeichnissen organisiert, die jeweils über ein eigenes Berechtigungsmodell verfügen: – Benutzerstammverzeichnisse, eines für jeden Benutzer und Dienstprinzipal im Arbeitsbereich – Git-Ordner – Freigegeben |
Dateien werden in geschachtelten Verzeichnissen innerhalb eines Volumes organisiert Siehe Wie können Sie auf Daten in Unity Catalog zugreifen? |
Dateiverlauf | Verwenden Sie Git-Ordner in Arbeitsbereichen, um Dateiänderungen nachzuverfolgen. | Überwachungsprotokolle sind verfügbar. |