Verwalten von Dateien in Unity Catalogvolumes mit dem Databricks NTFS-Treiber
Dieser Artikel beschreibt das Hochladen, Herunterladen und Löschen von Dateien in Unity Catalog Volumes mit dem Databricks JDBC-Treiber.
Anforderungen
- Databricks JDBC Treiber-Versionen 2.6.38 oder höher.
- Standardmäßig ist der systemeigene Abfragemodus aktiviert. Fügen Sie andernfalls der JDBC-Verbindungszeichenfolge
UseNativeQuery
Eigenschaft hinzu, und legen Sie dessen Wert auf1
oder2
.
Ein vollständiges Java-Codebeispiel, das zeigt, wie die Codeausschnitte dieses Artikels im Kontext der Einrichtung der Azure Databricks-Authentifizierung und der Ausführung von SQL-Anweisungen mit dem Databricks JDBC-Treiber ausgeführt werden, finden Sie unter Authentifizierungseinstellungen für den Databricks JDBC-Treiber.
Hochladen einer Datei
Um eine Datei auf ein Volume hochzuladen, müssen Sie die StagingAllowedLocalPaths
-Eigenschaft zu Ihrer JDBC-Verbindungszeichenfolge hinzufügen und den Wert dieser Eigenschaft auf den Pfad der hochzuladenden Datei setzen. Wenn Sie mehrere Dateien von separaten Speicherorten hochladen möchten, legen Sie diese Eigenschaft auf eine durch Trennzeichen getrennte Liste von Pfaden fest, z. B. /tmp/,/usr/tmp/
.
Um den Inhalt einer vorhandenen Datei im angegebenen Uploadspeicherort außer Kraft zu setzen, fügen Sie OVERWRITE
hinzu.
Der folgende Java-Codeausschnitt zeigt, wie eine Datei in ein Volume hochgeladen wird.
// ...
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")
// ...
Herunterladen einer Datei
Der folgende Java-Codeausschnitt zeigt, wie eine Datei von einem Volume heruntergeladen wird.
// ...
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" +
"'")
// ...
Löschen einer Datei
Der folgende Java-Codeausschnitt zeigt, wie eine Datei von einem Volume gelöscht wird.
// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();
stmt.executeQuery("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")
// ...