Compartilhar via


Gerenciar arquivos em volumes do Catálogo do Unity com o Driver JDBC do Databricks

Este artigo descreve como carregar, baixar e excluir arquivos em volumes do Catálogo do Unity usando o Driver JDBC do Databricks.

Requisitos

  • Driver JDBC do Databricks versão 2.6.38 ou superiores.
  • Por padrão, o modo de consulta nativo está habilitado. Caso contrário, adicione a propriedade UseNativeQuery à cadeia de conexão JDBC, definindo seu valor como 1 ou 2.

Para obter um exemplo de código Java completo mostrando como executar os snippets de código deste artigo no contexto de configurar a autenticação do Azure Databricks e executar instruções SQL com o Driver JDBC do Databricks, confira Configurações de autenticação para o Driver JDBC do Databricks.

Fazer upload de um arquivo

Para carregar um arquivo em um volume, você deve adicionar a propriedade StagingAllowedLocalPaths à cadeia de conexão JDBC, definindo o valor dessa propriedade para o caminho do arquivo a ser carregado. Para carregar vários arquivos de locais separados, defina essa propriedade como uma lista separada por vírgulas de caminhos, por exemplo /tmp/,/usr/tmp/.

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

O snippet de código Java a seguir mostra como carregar 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 snippet de código Java a seguir mostra como baixar 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 snippet 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" +
                  "'")
// ...