Condividi tramite


Gestire i file in Unity Catalogvolumes con il driver JDBC di Databricks

Questo articolo descrive come caricare, scaricare ed eliminare file in Unity Catalogvolumes 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, set questa proprietà in un list delimitato da virgole di percorsi, 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" +
                  "'")
// ...