我在 Azure Databricks 上有两个 ML 项目,它们的工作方式几乎相同,只是它们用于不同的客户端。本质上,我想使用一些管理系统,这样我就可以在不同的项目中共享和重用相同的代码。(即存储特征工程有用函数的python文件,执行类似初始数据预处理的Databricks笔记本,一些配置文件等)同时,如果在共享代码中进行了更新,则需要与所有使用代码的项目。
我知道对于 Git,我们可以使用子模块来执行此操作,其中我们将公共代码存储在存储库 C 中,并将其作为子模块添加到存储库 A 和存储库 B。但问题是 Azure Databricks 不支持子模块。此外,它只支持最大 200 MB 的工作分支,所以我也不能做 Monorepo(即在一个存储库中拥有所有代码)。我正在考虑为共享的 Python 文件创建一个包,但我也有一些我想分享的核心版本的笔记本,我认为它们不可能构建为一个包?
有没有其他方法可以在 Databricks 上执行此操作,以便我可以重用代码而不仅仅是复制和粘贴?