Pular para o conteúdo principal

gerenciar arquivos em volumes Unity Catalog com o Databricks JDBC Driver (Simba)

nota

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 como 1 ou 2.

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/.

important

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.

Java
// ...
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.

Java
// ...
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.

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

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