fs コマンド グループ

この情報は、Databricks CLI バージョン 0.205 以降に適用されます。 Databricks CLI は パブリック プレビュー段階です。

Databricks CLI 使用には、 Databricks ライセンス および Databricks プライバシー通知(使用データのプロビジョニングを含む)が適用されます。

Databricks CLI内のfsコマンド グループを使用すると、Unity Catalog 内のボリュームを自動化し、 Databricks ファイル システム (DBFS)オブジェクトを自動化できます。

fs コマンドを実行するには、コマンドを databricks fsに追加します。fs コマンドのヘルプを表示するには、 databricks fs -hを実行します。

fs コマンドでは、ボリューム パスがdbfs:/Volumesで始まる必要があり、DBFS 内のディレクトリおよびファイル パスがdbfs:/で始まる必要があります。

ディレクトリの内容を一覧表示する

ボリュームまたは DBFS 内のディレクトリの内容を一覧表示するには、 lsコマンドを使用します。 ディレクトリへのパスを指定します。 次の例では、指定されたボリュームのルートまたは DBFS ルートで見つかったオブジェクトの名前をリストします。

databricks fs ls dbfs:/Volumes/main/default/my-volume
databricks fs ls dbfs:/

オブジェクトのタイプ、サイズ、エポック以降のミリ秒単位の変更時間、オブジェクトの名前などの完全な情報を表示するには、 --longまたは-lオプションを使用します。 次の例では、指定されたボリュームのルートまたは DBFS ルート内のtmpディレクトリで見つかったオブジェクトの完全な情報をリストします。

databricks fs ls dbfs:/Volumes/main/default/my-volume -l
databricks fs ls dbfs:/tmp -l

オブジェクト全体のパスを表示するには、 --absolute オプションを使用します。 次の例では、指定されたボリュームのルートまたは DBFS ルート内のtmpディレクトリにあるオブジェクトの完全な情報とオブジェクトのフル パスをリストします。

databricks fs ls dbfs:/Volumes/main/default/my-volume -l --absolute
databricks fs ls dbfs:/tmp -l --absolute

ファイルの内容を出力する

ファイルの内容を出力するには、 catコマンドを使用します。 DBFS内のファイルへのパスを指定します。 次の例では、指定されたボリュームのルートまたは DBFS ルート内のtmpディレクトリにあるbabynames.csvという名前のファイルの内容を出力します。

databricks fs cat dbfs:/Volumes/main/default/my-volume/babynames.csv
databricks fs cat dbfs:/tmp/babynames.csv

次の例では、ファイルではなくディレクトリの内容を出力しようとすると、エラーが返されます。

databricks fs cat dbfs:/Volumes/main/default/my-volume
databricks fs cat dbfs:/tmp

ディレクトリを作成する

ディレクトリを作成するには、 mkdirコマンドを使用します。 ボリュームまたはDBFSに作成するディレクトリへのパスを指定します。 ディレクトリがすでに存在する場合は、何も起こりません。 次の例では、指定されたボリュームのルート内、または DBFS ルート内のtmpという名前のディレクトリにsquirrel-dataという名前のディレクトリを作成します。

databricks fs mkdir dbfs:/Volumes/main/default/my-volume/squirrel-data
databricks fs mkdir dbfs:/tmp/squirrel-data

ディレクトリまたはファイルをコピーする

ディレクトリまたはファイルをコピーするには、 cp コマンドを使用します。 コピーするソースディレクトリまたはファイルへのパスとそのコピー先を指定します。 ローカル ファイル システムと DBFS の間でディレクトリとファイルをコピーしたり、DBFS パス間でディレクトリとファイルをコピーしたりできます。 既存のファイルを上書きするには、 --overwrite オプションを使用します。 ディレクトリ内のファイルを再帰的にコピーするには、 --recursive または -r オプションを使用します。

cp コマンドは、file:/ を省略した場合、file:/を想定します。

次の例では、 squirrel-dataという名前のディレクトリとその内容を、ローカル ファイルシステム パスから、指定されたボリュームのルートまたは DBFS ルート内のsquirrelsディレクトリにコピーします。

databricks fs cp /Users/<username>/squirrel-data dbfs:/Volumes/main/default/my-volume/squirrels -r
databricks fs cp /Users/<username>/squirrel-data dbfs:/squirrels -r

次の例では、 squirrels.csvという名前のファイルを、ローカル ファイルシステム パスから、指定されたボリュームのルートまたは DBFS ルート内のsquirrel-dataという名前のディレクトリにコピーします。 ファイルが宛先に既に存在する場合は、上書きされます。

databricks fs cp /Users/<username>/squirrels.csv dbfs:/Volumes/main/default/my-volume/squirrel-data --overwrite
databricks fs cp /Users/<username>/squirrels.csv dbfs:/squirrel-data --overwrite

ディレクトリを削除する

ディレクトリを削除するには、 rmコマンドを使用します。 DBFS 内の既存のディレクトリへのパスを指定します。 次の例では、指定されたボリュームのルートまたは DBFS ルート内のtmpディレクトリからsquirrel-dataという名前のディレクトリを削除します。

databricks fs rm dbfs:/Volumes/main/default/my-volume/squirrel-data
databricks fs rm dbfs:/tmp/squirrel-data

ディレクトリが存在しない場合は何も起こらず、エラーは返されません。

ディレクトリは存在するが空でない場合は、エラーが返されます。 空でないディレクトリとその内容をすべて削除するには、 --recursive または -r オプションを使用します。 次の例では、指定されたボリュームのルートまたは DBFS ルート内のtmpディレクトリから、 squirrel-dataという名前の空でないディレクトリを削除します。

databricks fs rm dbfs:/Volumes/main/default/my-volume/squirrel-data -r
databricks fs rm dbfs:/tmp/squirrel-data -r