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