Skip to main content

Manage files in Unity Catalog volumes with the Databricks JDBC Driver (Simba)

note

This page applies to Databricks JDBC driver versions below version 3. For version 3 and above, see Databricks JDBC Driver.

This page describes how to upload, download, and delete files in Unity Catalog volumes using the Databricks JDBC Driver.

Requirements

  • Databricks JDBC Driver version 2.6.38 or above
  • Native query mode enabled (default). If disabled, add UseNativeQuery=1 or UseNativeQuery=2 to your connection string.

For a complete Java example with authentication setup, see Authentication settings for the Databricks JDBC Driver (Simba).

Upload a file

To upload a file, add the StagingAllowedLocalPaths property to your connection string with the path of the file to upload. For multiple source locations, use a comma-separated list (for example, /tmp/,/usr/tmp/).

important

In multi-tenant environments where users control the JDBC URL (such as BI tools or developer services), set StagingAllowedLocalPaths to a sandbox location or non-existent path. This prevents users from writing arbitrary files and interfering with the service's internal deployment.

To overwrite an existing file, add OVERWRITE to the statement.

Java
// ...
p.put("StagingAllowedLocalPaths", "/tmp/");

Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();

stmt.executeQuery("PUT '" +
"/tmp/my-data.csv" +
"' INTO '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"' OVERWRITE")
// ...

Download a file

Use GET to download a file from a volume to a local path:

Java
// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();

stmt.executeQuery("GET '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"' TO '" +
"/tmp/my-downloaded-data.csv" +
"'")
// ...

Delete a file

Use REMOVE to delete a file from a volume:

Java
// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();

stmt.executeQuery("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")
// ...