gerenciar arquivos em volumes Unity Catalog com o Databricks JDBC Driver (Simba)
Este artigo se aplica ao driver Databricks JDBC , abaixo da versão 3. Para o driver JDBC Databricks mais recente, versão 3 e acima, consulte Driver JDBC Databricks.
Este artigo descreve upload como, download e excluir arquivos em Unity Catalog volumes usando o Databricks JDBCdriver.
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 como1ou2.
Para um exemplo completo de código Java mostrando como executar os trechos de código deste artigo no contexto de configuração da autenticação Databricks e execução de instruções SQL com o driver JDBC Databricks , consulte Configurações de autenticação para o driver JDBC Databricks (Simba).
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/.
Se o serviço de controle de atualização ( JDBC ) estiver configurado em um ambiente multitenant (como ferramentas BI ou serviço de desenvolvedor) e os usuários controlarem o URL completo JDBC, o serviço deve definir a propriedade de conexão StagingAllowedLocalPaths para um local sandbox ou um caminho inexistente. Isso impede que os usuários criem arquivos arbitrários e interfiram na implantação interna do serviço.
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" +
"'")
// ...