Condividi tramite


Gestire i file nei volumi di Unity Catalog con il driver JDBC di Databricks

Questo articolo descrive come caricare, scaricare ed eliminare file in Unity Catalog volumi usando il driver JDBC Databricks.

Requisiti

  • Databricks JDBC Driver versioni 2.6.38 o successive.
  • Per impostazione predefinita, la modalità query nativa è abilitata. In caso contrario, aggiungere UseNativeQuery la proprietà al stringa di connessione JDBC, impostandone il valore su 1 o 2.

Per un esempio di codice Java completo che illustra come eseguire i frammenti di codice di questo articolo nel contesto della configurazione dell'autenticazione di Azure Databricks e dell'esecuzione di istruzioni SQL con il driver JDBC di Databricks, vedere Impostazioni di autenticazione per il driver JDBC di Databricks.

Caricare un file

Per caricare un file in un volume, è necessario aggiungere la StagingAllowedLocalPaths proprietà al stringa di connessione JDBC, impostando il valore di questa proprietà sul percorso del file da caricare. Per caricare più file da percorsi separati, impostare questa proprietà su un elenco di percorsi separati da virgola, ad esempio /tmp/,/usr/tmp/.

Per eseguire l'override del contenuto di qualsiasi file esistente nel percorso di caricamento specificato, aggiungere OVERWRITE.

Il frammento di codice Java seguente illustra come caricare un file in un 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")
// ...

Scaricare un file

Il frammento di codice Java seguente illustra come scaricare un file da un 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" +
                  "'")
// ...

Eliminare un file

Il frammento di codice Java seguente illustra come 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" +
                  "'")
// ...