1

我正在数据块工作区中开发我的代码。通过与 Repos 的集成,我使用 Azure DevOps 对我的代码进行版本控制。

我想使用 Azure Pipelines 将我的代码部署到新的测试/生产环境。要将文件复制到新环境,我使用了 databricks 命令行界面。我运行(databricks-cli配置后)

git checkout main
databricks workspace import_dir . /test

将文件从 VM 复制到新的 databricks 工作区。但是,该import_dir语句仅复制以某些扩展名结尾的文件(例如,不是.txt文件,因此我的 requirements.txt 没有被复制)并删除扩展名,将所有内容转换为笔记本。

这很成问题:我对其他 python 文件使用相对导入,但是这些文件被转换为笔记本,因此导入不再起作用。有什么办法可以避免删除扩展?以及如何复制所有文件而不是仅复制具有某些扩展名的文件?

4

1 回答 1

3

如果您正在使用,databricks workspace import_dir那么它将数据导入到仅支持 Scala/Python/R 中的源代码的 Databricks 工作区。仅 Databricks Repos 支持任意文件,它是 Databricks 中的一个单独实体,与 Databricks 工作区略有不同。

如果您想将代码更改推广到 UAT/生产中,那么您可以继续使用 Repos - 在该环境中创建相应的存储库(例如,使用databricks repos create),然后使用databricks repos update命令推广更改。您可以在以下演示中找到详细说明,该演示展示了如何在 Repos 中的笔记本上执行 CI/CD,以及如何将代码推广到生产环境。

于 2022-01-06T15:15:23.267 回答