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