我正在databricks工作区中开发代码。使用与Repos的集成,我使用Azure DevOps来版本控制我的代码。
我想使用Azure Pipelines将我的代码部署到新的测试/生产环境中。为了将文件复制到新环境中,我使用databricks命令行接口。我运行(databricks-cli
配置后(
git checkout main
databricks workspace import_dir . /test
以将文件从VM复制到新的databricks工作空间。但是,import_dir
语句只复制以某些扩展名结尾的文件(例如,不复制.txt
文件,因此不会复制我的requirements.txt(,并删除扩展名,将所有内容转换为笔记本。
这很有问题:我对其他python文件使用了相对导入,但这些文件被转换为笔记本,因此导入不再有效。是否有任何方法可以避免删除扩展?如何复制所有文件,而不是只复制具有特定扩展名的文件?
如果您使用databricks workspace import_dir
,那么它将数据导入到只支持Scala/Python/R中源代码的Databricks工作区中。对任意文件的支持仅适用于Databricks Repos,它是Databrickss内部的一个独立实体,与DatabricksWorkspace有点不同。
如果您想将代码更改提升到UAT/production中,那么您可以继续使用Repos——在该环境中创建相应的存储库(例如,使用databricks repos create
(,然后使用databricks repos update
命令提升更改。您可以在下面的演示中找到详细的说明,该演示显示了如何在回购中的笔记本电脑上执行CI/CD,以及如何将代码推广到生产中。