Vad är arbetsytefiler?

Arbetsytefiler är de filer som lagras och hanteras i Databricks arbetsytans filsystem. Arbetsytefiler kan vara nästan alla typer av filer. Vanliga exempel är följande:

  • Anteckningsböcker (.ipynb)
  • Källanteckningsböcker (.py, .sql, .r och .scala)
  • SQL-frågor (.dbquery.ipynb)
  • Instrumentpaneler (.lvdash.json)
  • Aviseringar (.dbalert.json)
  • Python-filer (.py) som används i anpassade moduler
  • YAML-konfiguration (.yaml eller .yml)
  • Markdown-filer (.md), till exempel README.md
  • Textfiler (.txt) eller andra små datafiler (.csv)
  • Bibliotek (.whl, .jar)
  • Loggfiler (.log)

Anmärkning

Genie-utrymmen och experiment kan inte vara arbetsytefiler.

Rekommendationer om hur du arbetar med filer finns i Rekommendationer för filer i volymer och arbetsytefiler.

Ditt Azure Databricks-arbetsytefilträd kan innehålla mappar som är kopplade till en Git-lagringsplats med namnet "Databricks Git-mappar". Git-mappar har några ytterligare filtypsbegränsningar. En lista över filtyper som stöds i Git-mappar (tidigare "Repos") finns i Tillgångstyper som stöds av Git-mappar.

Viktigt!

Arbetsytefiler är aktiverade överallt som standard i Databricks Runtime version 11.2. För produktionsarbetsbelastningar använder du Databricks Runtime 11.3 LTS eller senare. Kontakta arbetsytans administratör om du inte kan komma åt den här funktionen.

Vad kan du göra med arbetsytefiler?

Azure Databricks tillhandahåller funktioner som liknar lokal utveckling för många filtyper för arbetsytor, inklusive en inbyggd filredigerare. Alla användningsfall för alla filtyper stöds inte.

Du kan skapa, redigera och hantera åtkomst till arbetsytefiler med hjälp av välbekanta mönster från notebook-interaktioner. Du kan använda relativa sökvägar för biblioteksimporter från arbetsytefiler, ungefär som lokal utveckling. Mer information finns i:

Init-skript som lagras i arbetsytefiler har ett särskilt beteende. Du kan använda arbetsytefiler för att lagra och referera till init-skript i alla Databricks Runtime-versioner. Se Lagra init-skript i arbetsytefiler.

Anmärkning

I Databricks Runtime 14.0 och senare är den aktuella standardkatalogen (CWD) för kod som körs lokalt katalogen som innehåller anteckningsboken eller skriptet som körs. Det här är en ändring i beteendet från Databricks Runtime 13.3 LTS och nedan. Se Vad är standard för nuvarande arbetskatalog?.

Begränsningar

  • Om arbetsflödet använder källkod som finns på en fjärransluten Git-lagringsplats kan du inte skriva till den aktuella katalogen eller skriva med hjälp av en relativ sökväg. Skriv data till andra platsalternativ.
  • Du kan inte använda git kommandon när du sparar till arbetsytefiler. Det går inte att skapa .git kataloger i arbetsytefiler.
  • Läsning från arbetsytefiler med Spark-körverktyg (till exempel spark.read.format("csv").load("file:/Workspace/Users/<user-folder>/data.csv")) stöds inte vid serverlös beräkning.
  • Exekutorer kan inte skriva till arbetsytefiler.
  • Symlinks stöds endast för målkataloger under rotmappen /Workspace, till exempel os.symlink("/Workspace/Users/someone@example.com/Testing", "Testing").
  • Det går inte att komma åt arbetsytefiler från användardefinierade funktioner (UDF:er) i kluster med standardåtkomstläge på Databricks Runtime 14.2 och nedan.
  • Notebook-filer stöds endast som arbetsytefiler på Databricks Runtime 16.2 och senare och på serverlös miljö 2 och senare.
  • Det går inte att importera en notebook-fil som en Python-modul på Databricks Runtime 16.0 och senare. Ändra i stället notebook-formatet, eller om du vill att koden ska importeras, omstrukturera anteckningsboken till en Python-fil.
  • Frågor, aviseringar och instrumentpaneler stöds endast som arbetsytefiler på Databricks Runtime 16.4 och senare och i serverlös miljö 2 och senare. Dessutom kan dessa arbetsytefiler inte byta namn.
  • Endast notebook-filer och filer stöder visning och redigering med hjälp av filsystemkommandon, till exempel %sh ls.
  • Användning av dbutils.fs kommandon för att komma åt arbetsytefiler stöds inte vid serverlös beräkning. Använd en %sh cell i notebook-filer eller språkspecifika kommandon, till exempel shutil i Python när du kör notebook-filer på serverlös beräkning.

Storleksgräns för fil

  • Filsstorleken i arbetsytan är begränsad till 500MB. Åtgärder som försöker ladda ned eller skapa filer som är större än den här gränsen misslyckas.

Behörighetsgräns för filåtkomst

Behörighet att komma åt filer i mappar under /Workspace upphör att gälla efter 36 timmar för interaktiv beräkning och efter 30 dagar för jobb. Databricks rekommenderar att du kör långa processer som jobb om de behöver filåtkomst för /Workspace.

Aktivera arbetsytefiler

Om du vill aktivera stöd för icke-notebook-filer på din Databricks-arbetsyta anropar du REST API:et /api/2.0/workspace-conf från en notebook-fil eller annan miljö med åtkomst till databricks-arbetsytan. Arbetsytefiler är aktiverade som standard.

Om du vill aktivera eller återaktivera stöd för filer som inte är notebook-filer på databricks-arbetsytan anropar du /api/2.0/workspace-conf och hämtar värdet för enableWorkspaceFileSystem-nyckeln. Om den är inställd på trueär filer som inte är notebook-filer redan aktiverade för din arbetsyta.

I följande exempel visas hur du kan anropa det här API:et från en notebook-fil för att kontrollera om arbetsytefiler är inaktiverade och i så fall återaktivera dem.

Exempel: Notebook för återaktivering av stöd för Databricks-arbetsytafiler

Hämta anteckningsbok