Skip to content

issue #7567 : VFS support for Databricks UC Volumes (Files API)#7575

Merged
hansva merged 4 commits into
apache:mainfrom
mattcasters:issue-7567
Jul 20, 2026
Merged

issue #7567 : VFS support for Databricks UC Volumes (Files API)#7575
hansva merged 4 commits into
apache:mainfrom
mattcasters:issue-7567

Conversation

@mattcasters

Copy link
Copy Markdown
Contributor

Fixes #7567

Summary

Add Apache Commons VFS support for Databricks Unity Catalog Volumes and Workspace files via the workspace Files API, with named connection metadata (MinIO-style).

Functionality

  • Databricks VFS Connection metadata (FILE_STORAGE): name = URI scheme; references Databricks Connection for host + PAT; optional root path so scheme:///input maps to {root}/input
  • VFS provider: list / read / write / mkdir / rename (copy+delete) / delete directories (recursive without invalid ?recursive query param)
  • RestDatabricksFilesClient: shared Files API client; Jobs client delegates Volume/Workspace upload paths
  • WireMock unit tests for client and FileObject ops
  • Docs: VFS + metadata pages; Hop-side only — not for Native Spark Dataset I/O / bulk data landings
  • Move Files: log full exception stack on move failures (helps diagnose VFS errors)

Out of scope / notes

  • Classic DBFS VFS not exposed (deploy still has DBFS fallback for non-Volume paths)
  • Files API is single-stream HTTP — not intended as a bulk object-store client for Spark big data

Test plan

  • ./mvnw -pl plugins/tech/databricks test
  • Manual: named VFS + root path; create folders; copy file; move file; delete empty folders
  • CI on this PR

Add a named Databricks VFS connection (scheme = metadata name, auth via
Databricks Connection, optional root path) and Commons VFS provider over
the workspace Files API for browse/read/write/list/mkdir/rename/delete.
Extract RestDatabricksFilesClient for Jobs deploy and VFS; log Move Files
exceptions with full stack; document Hop-side vs Spark path dialect.
…sed SVGs

Replace the simplified connection icon with the Databricks brand mark and
remove unused job-run/job-wait/logo SVG duplicates.
Publish MainSpark exported metadata for named VFS schemes, cache Files
API last_modified on VFS children, and skip mtime pre-filter only when
known so Caching File locations on Volumes list correctly in the GUI.

Document the Caching File + db-volume pattern with screenshots and
cross-links from VFS, execution location, and Execution Information.
@mattcasters
mattcasters marked this pull request as ready for review July 19, 2026 18:37
@hansva
hansva merged commit 775b7bd into apache:main Jul 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

VFS support for Databricks Unity Catalog Volumes (Files API)

2 participants