Bestanden in Unity Catalog-volumes beheren met het Databricks JDBC-stuurprogramma
In dit artikel wordt beschreven hoe u bestanden uploadt, downloadt en verwijdert in Unity Catalog-volumes met behulp van het Databricks JDBC-stuurprogramma.
Vereisten
- Databricks JDBC-stuurprogrammaversies 2.6.38 of hoger.
- Standaard is de systeemeigen querymodus ingeschakeld. Anders voegt u de eigenschap toe
UseNativeQuery
aan de JDBC-verbindingsreeks, stelt u de waarde1
in op of2
.
Zie verificatie-instellingen voor het Databricks JDBC-stuurprogramma voor een volledig Voorbeeld van Java-code waarin wordt getoond hoe u de codefragmenten van dit artikel uitvoert in de context van het instellen van Azure Databricks-verificatie en het uitvoeren van SQL-instructies met het Databricks JDBC-stuurprogramma.
Een bestand uploaden
Als u een bestand wilt uploaden naar een volume, moet u de StagingAllowedLocalPaths
eigenschap toevoegen aan de JDBC-verbindingsreeks, waarbij u de waarde van deze eigenschap instelt op het pad van het bestand dat u wilt uploaden. Als u meerdere bestanden van afzonderlijke locaties wilt uploaden, stelt u deze eigenschap in op een door komma's gescheiden lijst met paden, bijvoorbeeld /tmp/,/usr/tmp/
.
Als u de inhoud van een bestaand bestand in de opgegeven uploadlocatie wilt overschrijven, voegt u dit toe OVERWRITE
.
In het volgende Java-codefragment ziet u hoe u een bestand uploadt naar een volume.
// ...
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")
// ...
Een bestand downloaden
In het volgende Java-codefragment ziet u hoe u een bestand downloadt van een volume.
// ...
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" +
"'")
// ...
Een bestand verwijderen
In het volgende Java-codefragment ziet u hoe u een bestand van een volume verwijdert.
// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();
stmt.executeQuery("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")
// ...