Partilhar via


Gerencie arquivos no Unity Catalogvolumes com o Databricks JDBC Driver

Este artigo descreve como carregar, baixar e excluir arquivos no Unity Catalogvolumes usando o Databricks JDBC Driver.

Requisitos

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

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

Carregar um ficheiro

Para carregar um arquivo em um volume, você deve adicionar a StagingAllowedLocalPaths propriedade à 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, set essa propriedade a uma list de caminhos separada por vírgula, por exemplo, /tmp/,/usr/tmp/.

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

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

Transferir um ficheiro

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

Eliminar um ficheiro

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" +
                  "'")
// ...