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
监视本地文件系统的更改
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 + c
或 Ctrl + 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
格式
日志格式类型或 text
json
。 默认值是 text
。
--log-level
字符串
一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。
-o, --output
类型
命令输出类型或 text
json
。 默认值是 text
。
-p, --profile
字符串
用于运行命令的文件中配置文件 ~/.databrickscfg
的名称。 如果未指定此标志,则如果存在,则使用命名 DEFAULT
的配置文件。
--progress-format
格式
显示进度日志的格式: default
、 append
、 inplace
或 json
-t, --target
字符串
如果适用,要使用的捆绑包目标