Databricks JDBC Driver を使用して Unity カタログ ボリューム内のファイルを管理する
この記事では、Databricks JDBC Driverを使用して、Unity Catalog ボリューム ファイルをアップロード、ダウンロード、および削除する方法について説明します。
要件
- Databricks JDBC Driver バージョン 2.6.38 以上。
- 既定では、ネイティブ クエリ モードが有効になっています。 それ以外の場合は、
UseNativeQuery
プロパティを JDBC 接続文字列に追加し、その値を1
または2
に設定します。
Azure Databricks 認証を設定し、Databricks JDBC Driver を使用して SQL ステートメントを実行するというコンテキストでこの記事のコード スニペットを実行する方法を示す完全な Java コード例については、「Databricks JDBC Driver の認証設定」を参照してください。
ファイルをアップロードする
ファイルをボリュームにアップロードするには、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" +
"'")
// ...