DBFS CLI(旧版)

重要

本文档已过时,将来可能不会更新。

此信息适用于旧版 Databricks CLI 0.18 及更低版本。 Databricks 建议改用较新的 Databricks CLI 0.205 或更高版本。 请参阅什么是 Databricks CLI?。 若要查找你的 Databricks CLI 的版本,请运行 databricks -v

若要从 Databricks CLI 版本 0.18 或更低版本迁移到 Databricks CLI 版本 0.205 或更高版本,请参阅 Databricks CLI 迁移

运行 Databricks DBFS CLI 子命令,将其追加到 databricks fs(或别名 dbfs),并在所有 DBFS 路径前加上 dbfs:/。 这些子命令调用 DBFS API

databricks fs -h
Usage: databricks fs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with DBFS. DBFS paths are all prefixed
  with dbfs:/. Local paths can be absolute or local.

Options:
  -v, --version
  -h, --help     Show this message and exit.

Commands:
  cat        Shows the contents of a file. Does not work for directories.
  configure
  cp         Copies files to and from DBFS.
    Options:
      -r, --recursive
      --overwrite     Overwrites files that exist already.
  ls         Lists files in DBFS.
    Options:
      --absolute      Displays absolute paths.
      -l              Displays full information including size and file type.
  mkdirs     Makes directories in DBFS.
  mv         Moves a file between two DBFS paths.
  rm         Removes files from DBFS.
    Options:
      -r, --recursive

对于列出、移动或删除超过 1 万个文件的操作,强烈建议不要使用 DBFS CLI。

  • list 操作 (databricks fs ls) 会在大约 60 秒后超时。
  • move 操作 (databricks fs mv) 会在大约 60 秒后超时,可能导致只有一部分数据被移动。
  • delete 操作 (databricks fs rm) 会以增量方式删除成批的文件。

建议使用文件系统实用工具 (dbutils.fs) 在群集的上下文中执行此类操作。 dbutils.fs 涵盖 DBFS REST API 的功能范围,但仅限笔记本内部。 使用笔记本运行此类操作可提供更好的控制(例如选择性删除)和可管理性,并可自动执行定期作业。

限制

不支持将 Databricks DBFS CLI 用于启用了防火墙的存储容器。 Databricks 建议使用 Databricks Connectaz storage

列出文件内容

若要显示使用情况文档,请运行 databricks fs cat --help

databricks fs cat dbfs:/tmp/my-file.txt
Apache Spark is awesome!

复制文件

若要显示使用情况文档,请运行 databricks fs cp --help

databricks fs cp dbfs:/tmp/your_file.txt dbfs:/parent/child/grandchild/my_file.txt --overwrite

成功后,此命令不会显示任何内容。

列出有关文件和目录的信息

若要显示使用情况文档,请运行 databricks fs ls --help

databricks fs ls dbfs:/tmp --absolute -l
file  42408084  dbfs:/tmp/LoanStats.csv    1590005159000
file        40  dbfs:/tmp/file_b.txt       1603991038000
dir          0  dbfs:/tmp/hive                         0
dir          0  dbfs:/tmp/mlflow                       0
file       385  dbfs:/tmp/multi-line.json  1597770632000
dir          0  dbfs:/tmp/new                          0
dir          0  dbfs:/tmp/parent                       0
file       243  dbfs:/tmp/test.json        1597770628000
file        40  dbfs:/tmp/test_dbfs.txt    1603989162000

创建目录

若要显示使用情况文档,请运行 databricks fs mkdirs --help

databricks fs mkdirs dbfs:/tmp/new-dir

成功后,此命令不会显示任何内容。

移动文件

若要显示使用情况文档,请运行 databricks fs mv --help

databricks fs mv dbfs:/tmp/my-file.txt dbfs:/parent/child/grandchild/my-file.txt

成功后,此命令不会显示任何内容。

删除文件

若要显示使用情况文档,请运行 databricks fs rm --help

databricks fs rm dbfs:/tmp/parent/child/grandchild/my-file.txt
Delete finished successfully.