注释
此信息适用于 Databricks CLI 版本 0.205 及更高版本。 Databricks CLI 目前处于公共预览阶段。
Databricks CLI 的使用须遵守 Databricks 许可和 Databricks 隐私声明,包括任何数据使用规定。
sync
CLI 中的命令组允许将本地代码和本地开发计算机上的目录中的文件更改单向同步到远程 Azure Databricks 工作区中的文件夹。
注释
-
sync
无法将远程 Azure Databricks 工作区中的文件夹的文件更改同步回本地开发计算机上的目录。 -
sync
只能将文件更改从本地开发计算机同步到 Azure Databricks 工作区中的工作区用户(/Users
) 文件。 它无法同步到 DBFS (dbfs:/
)文件。 若要将文件更改从本地开发计算机同步到 Azure Databricks 工作区中的 DBFS (dbfs:/
),请使用 dbx sync 实用工具。
databricks 同步
将本地目录同步到工作区目录。
databricks sync [flags] SRC DST
论据
SRC
源目录路径
DST
目标目录路径
选项
--dry-run
模拟同步执行而不进行实际更改
--exclude strings
要从同步中排除的模式(可以多次指定)
--exclude-from string
包含要从同步中排除的模式的文件(每行一个模式)
--full
执行完全同步(默认值为增量)
--include strings
要包含在同步中的模式(可以多次指定)
--include-from string
包含用于同步的模式的文件(每行一个模式)
--interval duration
文件系统轮询间隔 (对于 --watch) (默认 1s)
--watch
监视本地文件系统的更改
例子
以下部分演示如何使用 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
注释
如果要同步捆绑包中的文件,请改用 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
全局标志
--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
字符串
如果适用,要使用的捆绑包目标