我正在将Azure Databricks工作区中的当前配置单元元存储区表迁移到Unity Catalog(UC),遇到了与git clone to a Volume相关的问题。
所以我的集群设置将是这样的:
- DBR 13.3 LTS
- 模式:共享(启用UC)
所以之前,在我的非UC启用集群中,我会在notebook中有一个像下面这样的单元格,以git克隆我的repo到DBFS tmp位置:
!git clone https://[email protected]/repo_path /tmp/repo
字符串
但是现在,由于我启用了UC集群,我想在卷内克隆repo,这样我就可以删除notebook开头的repo目录(dbutils.fs.rm("/Volumes/catalogname/schemaname/volumename/tmp/repo", True)
可以工作),如下所示:
!git clone https://[email protected]/repo_path /Volumes/catalogname/schemaname/volumename/tmp/repo
型
但似乎在克隆时卡在Resolving deltas
步骤中。
有没有人遇到过这个问题,并且找到了解决方案?我在想,也许git clone现在必须以不同的方式完成,或者我的最后一个选择是在init脚本中包含git clone命令,并使启用UC的集群在启动时运行它。
1条答案
按热度按时间14ifxucb1#
找到了一个解决最初发布的问题的解决方法。我已经运行了一个修改的CI/CD Azure devops管道,在我的情况下,它运行在我需要克隆的同一个存储库上,但也可以克隆外部存储库。
首先,我在构建阶段包含了一个新任务,将仓库复制到一个目录中,因此该任务将目录发布到工件中:
字符串
然后,第二部分是在部署阶段(您也需要下载工件步骤),我包含了一个AzureFileCopy@5任务,该任务将该目录(又名. my repository)复制到我的ADLS(Azure Data Lake Storage)位置,该位置与我的Databrick的UC卷可以访问的位置相同,因此我可以在UC卷中看到我的存储库,如下所示:
型