メインコンテンツまでスキップ

Databricks JDBCドライバー (Simba) を使用してUnity Catalogボリューム内のファイルを管理する

注記

このページは、バージョン 3 未満の Databricks JDBC ドライバー バージョンに適用されます。バージョン 3 以上については、 Databricks JDBC ドライバーを参照してください。

このページでは 、Unity CatalogDatabricksJDBCドライバー を使用して ボリューム 内のファイルをアップロード、ダウンロード、および削除する方法について説明します。

必要条件

  • Databricks JDBC ドライバー バージョン 2.6.38 以上
  • ネイティブ クエリ モードが有効 (デフォルト)。無効になっている場合は、接続文字列にUseNativeQuery=1またはUseNativeQuery=2を追加します。

認証設定を含む完全な Java の例については、 「Databricks JDBC ドライバー (Simba) の認証設定」を参照してください。

ファイルのアップロード

ファイルをアップロードするには、アップロードするファイルのパスを含むStagingAllowedLocalPathsプロパティを接続文字列に追加します。ソースの場所が複数ある場合は、カンマ区切りのリストを使用します (例: /tmp/,/usr/tmp/ )。

重要

ユーザーが JDBC URL (BI ツールや開発者サービスなど) を制御するマルチテナント環境では、 StagingAllowedLocalPathsサンドボックスの場所または存在しないパスに設定します。これにより、ユーザーが任意のファイルを書き込んだり、サービスの内部展開を妨害したりすることが防止されます。

既存のファイルを上書きするには、ステートメントに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")
// ...

ファイルのダウンロード

ボリュームからローカル パスにファイルをダウンロードするには、 GETを使用します。

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" +
"'")
// ...

ファイルを削除する

ボリュームからファイルを削除するには、 REMOVEを使用します。

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

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