Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
Esta página aplica-se às versões do driver JDBC da Databrick abaixo da versão 3. Para a versão 3 e superior, veja o Driver JDBC do Databricks.
Esta página descreve como carregar, descarregar e eliminar ficheiros em volumes do Catálogo Unity usando o driver JDBC Databricks.
Requisitos
- Databricks JDBC Driver versão 2.6.38 ou superior
- Modo de consulta nativo ativado (predefinido). Se estiver desativado, adicione
UseNativeQuery=1ouUseNativeQuery=2à sua cadeia de ligação.
Para um exemplo completo em Java com configuração de autenticação, consulte Definições de Autenticação para o Driver JDBC Databricks (Simba).
Carregar um ficheiro
Para carregar um ficheiro, adiciona a StagingAllowedLocalPaths propriedade à tua string de ligação com o caminho do ficheiro a carregar. Para múltiplas localizações de fonte, use uma lista separada por vírgulas (por exemplo, /tmp/,/usr/tmp/).
Importante
Em ambientes de múltiplos inquilinos onde os utilizadores controlam o URL JDBC (como ferramentas de BI ou serviços de programação), defina StagingAllowedLocalPaths para uma localização sandbox ou caminho inexistente. Isto impede que os utilizadores escrevam ficheiros arbitrários e interfiram com a implementação interna do serviço.
Para sobrescrever um ficheiro existente, adicione OVERWRITE à instrução.
// ...
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
Use GET para descarregar um ficheiro de um volume para um caminho local:
// ...
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
Use REMOVE para eliminar um ficheiro de um volume:
// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();
stmt.executeQuery("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")
// ...