Databricks JDBC Driver を使用して Unity Catalog ボリューム内のファイルを管理する
この記事では、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" +
"'")
// ...