Rekommendationer för filer i volymer och arbetsytefiler
När du laddar upp eller sparar data eller filer till Azure Databricks kan du välja att lagra dessa filer med hjälp av Unity Catalog-volymer eller arbetsytefiler. Den här artikeln innehåller rekommendationer och krav för att använda dessa platser. Mer information om volymer och arbetsytefiler finns i Vad är Unity Catalog-volymer? och Vad är arbetsytefiler?.
Databricks rekommenderar att du använder Unity Catalog-volymer för att lagra data, bibliotek och skapa artefakter. Lagra notebook-filer, SQL-frågor och kodfiler som arbetsytefiler. Du kan konfigurera filkataloger för arbetsytan som Git-mappar för synkronisering med fjärranslutna Git-lagringsplatser. Se Git-integrering för Databricks Git-mappar. Små datafiler som används för testscenarier kan också lagras som arbetsytefiler.
Tabellerna nedan innehåller specifika rekommendationer för filer, beroende på din typ av fil- eller funktionsbehov.
Viktigt!
Databricks-filsystemet (DBFS) är också tillgängligt för fillagring, men rekommenderas inte eftersom alla arbetsyteanvändare har åtkomst till filer i DBFS. Se DBFS.
Filtyper
Följande tabell innehåller lagringsrekommendationer för filtyper. Databricks stöder många filformat utöver vad som anges i den här tabellen som exempel.
Filtyp | Rekommendation |
---|---|
Databricks-objekt, till exempel notebook-filer och frågor | Lagra som arbetsytefiler |
Strukturerade datafiler, till exempel Parquet-filer och ORC-filer | Lagra i Unity Catalog-volymer |
Halvstrukturerade datafiler, till exempel textfiler (.csv , .txt ) och JSON-filer (.json ) |
Lagra i Unity Catalog-volymer |
Ostrukturerade datafiler, till exempel bildfiler (.png , .svg ), ljudfiler (.mp3 ) och dokumentfiler (.pdf , .docx ) |
Lagra i Unity Catalog-volymer |
Rådatafiler som används för att följa eller utforska tidiga data | Lagra i Unity Catalog-volymer |
Driftdata, till exempel loggfiler | Lagra i Unity Catalog-volymer |
Stora arkivfiler, till exempel ZIP-filer (.zip ) |
Lagra i Unity Catalog-volymer |
Källkodsfiler, till exempel Python-filer (.py ), Java-filer (.java ) och Scala-filer (.scala ) |
Lagra som arbetsytefiler, om tillämpligt, med andra relaterade objekt, till exempel notebook-filer och frågor. Databricks rekommenderar att du hanterar dessa filer i en Git-mapp för versionskontroll och ändringsspårning av dessa filer. |
Skapa artefakter och bibliotek, till exempel Python-hjul (.whl ) och JAR-filer (.jar ) |
Lagra i Unity Catalog-volymer |
Konfigurationsfiler | Lagra konfigurationsfiler som behövs för arbetsytor i Unity Catalog-volymer, men lagra dem som arbetsytefiler om de är projektfiler i en Git-mapp. |
Jämförelse av funktioner
I följande tabell jämförs funktionserbjudandena för arbetsytefiler och Unity Catalog-volymer.
Funktion | Arbetsytefiler | Unity Catalog-volymer |
---|---|---|
Åtkomst till filer | Arbetsytefiler är endast tillgängliga för varandra på samma arbetsyta. | Filer är globalt tillgängliga på arbetsytor. |
Programmatisk åtkomst | Filer kan nås med hjälp av: – Spark-API:er - SÄKRING - dbutils - REST-API - Databricks SDK:er - Databricks CLI |
Filer kan nås med hjälp av: – Spark-API:er - SÄKRING - dbutils - REST-API - Databricks SDK:er - Databricks SQL-anslutningsappar - Databricks CLI - Databricks Terraform-provider |
Databricks-tillgångspaket | Som standard distribueras alla filer i ett paket, som innehåller bibliotek och Databricks-objekt som notebook-filer och frågor, på ett säkert sätt som arbetsytefiler. Behörigheter definieras i paketkonfigurationen. | Paket kan anpassas för att inkludera bibliotek som redan finns i volymer när biblioteken överskrider storleksgränsen för arbetsytefiler. Se Beroenden för Biblioteksberoenden för Databricks-tillgångspaket. |
Filbehörighetsnivå | Behörigheter finns på Git-mappnivå om filen finns i en Git-mapp, annars anges behörigheter på filnivå. | Behörigheterna är på volymnivå. |
Behörighetshantering | Behörigheter hanteras av arbetsyte-ACL :er och är begränsade till den innehållande arbetsytan. | Metadata och behörigheter hanteras av Unity Catalog. Dessa behörigheter gäller för alla arbetsytor som har åtkomst till katalogen. |
Extern lagringsmontering | Stöder inte montering av extern lagring | Ger möjlighet att peka på befintliga datauppsättningar på extern lagring genom att skapa en extern volym. Se Vad är Unity Catalog-volymer?. |
UDF-stöd | Stöds inte | Skrivning från UDF:er stöds med hjälp av Volumes FUSE |
Filstorlek | Lagra mindre filer som är mindre än 500 MB, till exempel källkodsfiler (.py , .md , .yml ) som behövs tillsammans med notebook-filer. |
Lagra mycket stora datafiler vid gränser som bestäms av molntjänstleverantörer. |
Ladda upp och ladda ned | Stöd för uppladdning och nedladdning upp till 10 MB. | Stöd för att ladda upp och ladda ned upp till 5 GB. |
Stöd för att skapa tabeller | Det går inte att skapa tabeller med arbetsytefiler som plats. | Tabeller kan skapas från filer i en volym genom att köra COPY INTO , Autoloader eller andra alternativ som beskrivs i Mata in data i ett Databricks lakehouse. |
Katalogstruktur och filsökvägar | Filerna är ordnade i kapslade kataloger, var och en med sin egen behörighetsmodell: – Hemkataloger för användare, en för varje användare och tjänstens huvudnamn på arbetsytan – Git-mappar -Delad |
Filer ordnas i kapslade kataloger i en volym Se Hur kan du komma åt data i Unity Catalog?. |
Filhistorik | Använd Git-mappen i arbetsytor för att spåra filändringar. | Granskningsloggar är tillgängliga. |