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

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

注記

この記事は、Databricks JDBC Simba ドライバーに適用されます。 Databricks が開発した JDBC ドライバーについては、「 Databricks JDBC ドライバー (OSS)」を参照してください。

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

必要条件

  • Databricks JDBC ドライバー バージョン 2.6.38 以降。
  • デフォルトでは、ネイティブクエリモードは有効になっています。 それ以外の場合は、 UseNativeQuery プロパティをJDBC接続文字列に追加し、その値を 1 または 2に設定します。

Databricks 認証の設定と Databricks JDBC ドライバーでの SQL ステートメントの実行のコンテキストでこの記事のコード スニペットを実行する方法を示す完全な Java コード例については、「 Databricks JDBC ドライバーの認証設定」を参照してください。

ファイルのアップロード

ファイルをボリュームにアップロードするには、JDBC 接続文字列に StagingAllowedLocalPaths プロパティを追加し、このプロパティの値をアップロードするファイルのパスに設定する必要があります。 別々のロケーションから複数のファイルをアップロードするには、このプロパティをカンマで区切ったパスのリストに設定します (例: /tmp/,/usr/tmp/.

指定したアップロード・ロケーションにある既存のファイルの内容を上書きするには、 OVERWRITEを追加します。

次の Java コード スニペットは、ファイルをボリュームにアップロードする方法を示しています。

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 コード スニペットは、ボリュームからファイルをダウンロードする方法を示しています。

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 コード スニペットは、ボリュームからファイルを削除する方法を示しています。

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

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