Поделиться через


Управление файлами в томах каталога Unity с помощью драйвера JDBC Databricks

В этой статье описывается, как отправлять, скачивать и удалять файлы в томах каталога Unity с помощью драйвера JDBC Databricks.

Требования

  • Databricks JDBC Driver версии 2.6.38 или более поздней версии.
  • По умолчанию режим собственного запроса включен. В противном случае добавьте UseNativeQuery свойство в строка подключения JDBC, задав значение или 1 2значение.

Полный пример кода Java, показывающий, как запустить фрагменты кода этой статьи в контексте настройки проверки подлинности Azure Databricks и выполнения инструкций SQL с помощью драйвера JDBC Databricks см. в разделе "Параметры проверки подлинности" для драйвера JDBC Databricks.

Отправка файла

Чтобы отправить файл в том, необходимо добавить StagingAllowedLocalPaths свойство в JDBC строка подключения, задав значение этого свойства в путь к отправке файла. Чтобы отправить несколько файлов из отдельных расположений, задайте для этого свойства список путей, разделенных запятыми, например /tmp/,/usr/tmp/.

Чтобы переопределить содержимое любого существующего файла в указанном расположении отправки, добавьте OVERWRITE.

В следующем фрагменте кода 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")
// ...

Скачивание файла

В следующем фрагменте кода 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" +
                  "'")
// ...

Удаление файла

В следующем фрагменте кода Java показано, как удалить файл из тома.

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

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