fs 命令组

注意

此信息适用于 Databricks CLI 版本 0.205 及更高版本。 Databricks CLI 目前处于公共预览版阶段。

Databricks CLI 的使用须遵守 Databricks 许可Databricks 隐私声明,包括任何数据使用规定。

Databricks CLI 中的fs命令组允许在 Unity 目录中自动执行,并自动执行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”选项。

如果省略 file:/,则 cp 命令将采用 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