Gerenciar arquivos em volumes Unity Catalog com o driver Databricks JDBC

Este artigo upload descrevedownload como , e excluir arquivos em Unity Catalog volumes usando o Databricks JDBC driver.

Requisitos

  • Databricks JDBC Versões de driver 2.6.38 ou superiores.

  • Em default, o modo de consulta nativa é ativado. Caso contrário, adicione a propriedade UseNativeQuery às cadeias de conexão JDBC, definindo seu valor como 1 ou 2.

Para obter um exemplo completo de código Java que mostra como executar os trechos de código deste artigo no contexto da configuração da autenticação Databricks e da execução de instruções SQL com o driver Databricks JDBC , consulte Configurações de autenticação para o driver Databricks JDBC .

Carregar um arquivo

Para upload um arquivo em um volume, o senhor deve adicionar a propriedade StagingAllowedLocalPaths às cadeias de conexão JDBC, definindo o valor dessa propriedade como o caminho do arquivo para upload. Para fazer upload de vários arquivos de locais separados, defina essa propriedade como uma lista de caminhos separados por vírgula, por exemplo, /tmp/,/usr/tmp/.

Para substituir o conteúdo de qualquer arquivo existente no local de upload especificado, adicione OVERWRITE.

O trecho de código Java a seguir mostra como fazer upload de um arquivo em um 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")
// ...

Baixar um arquivo

O trecho de código Java a seguir mostra como fazer o download de um arquivo de um 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" +
                  "'")
// ...

Excluir um arquivo

O trecho de código Java a seguir mostra como excluir um arquivo de um volume.

// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();

stmt.executeQuery("REMOVE '" +
                  "/Volumes/main/default/my-volume/my-data.csv" +
                  "'")
// ...