Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questa pagina si applica alle versioni del driver JDBC di Databricks precedenti alla versione 3. Per la versione 3 e successive, vedere Driver JDBC di Databricks.
Questa pagina descrive come caricare, scaricare ed eliminare file nei volumi di Unity Catalog usando il driver JDBC di Databricks.
Requisiti
- Driver JDBC di Databricks versione 2.6.38 o successiva
- Modalità query nativa abilitata (impostazione predefinita). Se disabilitato, aggiungere
UseNativeQuery=1oUseNativeQuery=2alla stringa di connessione.
Per un esempio Java completo con l'installazione dell'autenticazione, vedere Impostazioni di autenticazione per il driver JDBC di Databricks (Simba).
Caricare un file
Per caricare un file, aggiungere la StagingAllowedLocalPaths proprietà alla stringa di connessione con il percorso del file da caricare. Per più percorsi di origine, usare un elenco delimitato da virgole , ad esempio /tmp/,/usr/tmp/.
Importante
Negli ambienti multi-tenant in cui gli utenti controllano l'URL JDBC, come nel caso di strumenti di business intelligence o servizi per sviluppatori, impostare StagingAllowedLocalPaths su un percorso sandbox o un percorso inesistente. Ciò impedisce agli utenti di scrivere file arbitrari e interferire con la distribuzione interna del servizio.
Per sovrascrivere un file esistente, aggiungere OVERWRITE all'istruzione .
// ...
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")
// ...
Scaricare un file
Usare GET per scaricare un file da un volume in un percorso locale:
// ...
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" +
"'")
// ...
Eliminare un file
Usare REMOVE per eliminare un file da un volume:
// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();
stmt.executeQuery("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")
// ...