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 Connect 或 az 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.