Administración de archivos en volúmenes de Unity Catalog con el controlador JDBC de Databricks
Este artículo describe cómo cargar, descargar y eliminar archivos en volúmenes de Unity Catalog usando el controlador JDBC de Databricks.
Requisitos
- Controlador JDBC de Databricks versión 2.6.38 o posterior.
- De forma predeterminada, el modo de consulta nativa está habilitado. En caso contrario, agregue la propiedad
UseNativeQuery
a la cadena de conexión JDBC, estableciendo su valor en1
o2
.
Para ver un ejemplo completo de código Java que muestra cómo ejecutar los fragmentos de código de este artículo en el contexto de la configuración de la autenticación de Azure Databricks y la ejecución de instrucciones SQL con el controlador JDBC de Databricks, consulte Configuración de la autenticación para el controlador JDBC de Databricks.
Cargar un archivo
Para cargar un archivo en un volumen, debe agregar la propiedad StagingAllowedLocalPaths
a la cadena de conexión JDBC, estableciendo el valor de esta propiedad en la ruta de acceso del archivo que quiera cargar. Para cargar varios archivos desde ubicaciones distintas, establezca esta propiedad en una lista de rutas separadas por comas, por ejemplo /tmp/,/usr/tmp/
.
Para invalidar el contenido de cualquier archivo existente en la ubicación de carga especificada, agregue OVERWRITE
.
El siguiente fragmento de código Java muestra cómo cargar un archivo en un volumen.
// ...
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")
// ...
Descarga de un archivo
El siguiente fragmento de código Java muestra cómo descargar un archivo de un volumen.
// ...
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 un archivo
El siguiente fragmento de código Java muestra cómo eliminar un archivo de un volumen.
// ...
Connection conn = DriverManager.getConnection(url, p);
Statement stmt = conn.createStatement();
stmt.executeQuery("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")
// ...