Hantera filer i Unity Catalog-volymer med Databricks JDBC-drivrutinen
Den här artikeln beskriver hur du laddar upp, laddar ned och tar bort filer i Unity Catalog-volymer med hjälp av Databricks JDBC-drivrutinen.
Krav
- Databricks JDBC Driver version 2.6.38 eller senare.
- Som standard är det interna frågeläget aktiverat. Annars lägger du till
UseNativeQuery
egenskapen i JDBC-anslutningssträng och anger dess värde till1
eller2
.
Ett fullständigt Java-kodexempel som visar hur du kör den här artikelns kodfragment i samband med att konfigurera Azure Databricks-autentisering och köra SQL-instruktioner med Databricks JDBC-drivrutinen finns i Autentiseringsinställningar för Databricks JDBC-drivrutinen.
Ladda upp en fil
Om du vill ladda upp en fil till en volym måste du lägga till StagingAllowedLocalPaths
egenskapen i JDBC-anslutningssträng och ange den här egenskapens värde till sökvägen till filen som ska laddas upp. Om du vill ladda upp flera filer från separata platser anger du den här egenskapen till en kommaavgränsad lista med sökvägar, till exempel /tmp/,/usr/tmp/
.
Om du vill åsidosätta innehållet i en befintlig fil på den angivna uppladdningsplatsen lägger du till OVERWRITE
.
Följande Java-kodfragment visar hur du laddar upp en fil till en volym.
// ...
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")
// ...
Ladda ned en fil
Följande Java-kodfragment visar hur du laddar ned en fil från en volym.
// ...
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" +
"'")
// ...
Ta bort en fil
Följande Java-kodfragment visar hur du tar bort en fil från en volym.
// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();
stmt.executeQuery("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")
// ...