sync 命令

Note

此信息适用于 Databricks CLI 版本 0.205 及更高版本。 The Databricks CLI is in Public Preview.

Databricks CLI use is subject to the Databricks License and Databricks Privacy Notice, including any Usage Data provisions.

The sync command group within the Databricks CLI enables one-way synchronization of local code and file changes in a directory on your local development machine to a folder in your remote Azure Databricks workspace.

Note

  • sync 无法将远程 Azure Databricks 工作区中的文件夹的文件更改同步回本地开发计算机上的目录。
  • sync 只能将文件更改从本地开发计算机同步到 Azure Databricks 工作区中的工作区用户(/Users) 文件。 It cannot synchronize to DBFS (dbfs:/) files. To synchronize file changes from a local development machine to DBFS (dbfs:/) in your Azure Databricks workspace, use the dbx sync utility.

databricks sync

将本地目录同步到工作区目录。

databricks sync [flags] SRC DST

Arguments

SRC

    源目录路径

DST

    目标目录路径

选项

--dry-run

    模拟同步执行而不进行实际更改

--exclude strings

    要从同步中排除的模式(可以多次指定)

--exclude-from string

    包含要从同步中排除的模式的文件(每行一个模式)

--full

    执行完全同步(默认值为增量)

--include strings

    要包含在同步中的模式(可以多次指定)

--include-from string

    包含要包含同步模式的文件(每行一个模式)

--interval duration

    文件系统轮询间隔 (对于 --watch) (默认 1s)

--watch

    监视本地文件系统的更改

Global flags

Examples

以下部分演示如何使用 sync 命令。

以增量方式将本地文件更改同步到远程目录

若要执行本地目录中的文件更改到远程 Azure Databricks 工作区中的文件夹的单个增量单向同步,请运行命令 sync,如下所示:

databricks sync <local-directory-path> <remote-directory-path>

例如,若要将本地当前工作目录中命名为 my-local-folder 的文件夹中的所有文件更改进行一次性的单向增量同步到远程工作空间中的 my-workspace-folder 文件夹,请运行以下命令:

databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder

在此示例中,只有自上次运行 sync 命令以来发生的文件更改才会同步到 /Users/someone@example.com/my-workspace-folder。 默认情况下,将使用调用方的 DEFAULT 配置文件中的工作区 URL 来确定要同步到的远程工作区。

仅同步特定文件

若要包含或排除根据指定模式同步的特定文件,请使用 --include--include-from--exclude--exclude-from 选项。

databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --exclude-from .gitignore

Note

如果要同步捆绑包中的文件,请改用 sync 配置映射。 See sync.

以下示例从同步中排除某些文件模式:

databricks sync --exclude "*.pyc" --exclude "__pycache__" ./my-local-folder /Users/someone@example.com/my-workspace-folder

将本地文件更改完全同步到远程目录

若要将本地目录中的文件更改执行一次完整的单向同步到远程 Azure Databricks 工作区中的文件夹,不论上次运行 sync 命令的时间如何,请使用 --full 选项,例如:

databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --full

将本地文件更改连续同步到远程目录

若要在本地目录中启用文件更改的连续单向同步,请对远程 Azure Databricks 工作区中的文件夹使用 --watch 此选项,例如:

databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --watch

单向同步将持续到从终端停止该命令为止(通常是通过按 Ctrl + cCtrl + z 来停止)。

默认情况下,将每秒轮询可能的同步事件一次。 若要更改此间隔,请使用 --interval 选项以及轮询的秒数,后接字符 s。例如,若要轮询 5 秒,请使用:

databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --watch --interval 5s

更改同步进度输出格式

默认情况下,同步进度信息以文本格式输出到终端。 若要指定同步进度输出格式,请使用 --output 选项,并指定 text(默认值,如果未另行指定 --output)或 json,例如:

databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --output json

同步文件操作预览

若要预览同步而不实际执行文件同步作,请使用 --dry-run 选项,例如:

databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --dry-run
Warn: Running in dry-run mode. No actual changes will be made.
Action: PUT: test.txt
Uploaded test.txt
Initial Sync Complete

Global flags

--debug

  是否启用调试日志记录。

-h--help

    显示 Databricks CLI、相关命令组或相关命令的帮助。

--log-file 字符串

    一个字符串,表示要将输出日志写入到的文件。 如果未指定此标志,则默认会将输出日志写入到 stderr。

--log-format 格式

    日志格式类型或 textjson。 默认值是 text

--log-level 字符串

    一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。

-o, --output 类型

    命令输出类型或 textjson。 默认值是 text

-p, --profile 字符串

    用于运行命令的文件中配置文件 ~/.databrickscfg 的名称。 如果未指定此标志,则如果存在,则使用命名 DEFAULT 的配置文件。

--progress-format 格式

    显示进度日志的格式: defaultappendinplacejson

-t, --target 字符串

    如果适用,要使用的捆绑包目标