Databricks Git 文件夹的错误和故障排除
请按照以下指南响应常见错误消息或排查 Databricks Git 文件夹的问题。
Invalid credentials
请尝试以下做法:
确认 Git 集成设置(“设置”>“关联帐户”)是否正确。
- 必须输入 Git 提供程序的用户名和令牌。
确认已在“设置”>“关联帐户”中选择了正确的 Git 提供程序。
确保你的个人访问令牌或应用密码具有正确的存储库访问权限。
如果在 Git 提供程序上启用了 SSO,请为 SSO 授权你的令牌。
使用命令行 Git 测试令牌。 替换尖括号中的文本字符串:
git clone https://<username>:<personal-access-token>@github.com/<org>/<repo-name>.git
Secure connection...SSL problems
如果无法从 Azure Databricks 访问 Git 服务器,会发生此错误。 要访问专用 Git 服务器,请与你的 Azure Databricks 帐户团队联系
<link>: Secure connection to <link> could not be established because of SSL problems
Microsoft Entra ID 凭据错误
Encountered an error with your <ms-entra-id> credentials. Please try logging out of <ms-entra-id> and logging back in.
如果你的团队最近转为使用多重身份验证 (MFA) 策略,则可能会发生此错误。 若要解决此问题,必须通过转到 portal.azure.cn
并注销来注销 Microsoft Entra ID。重新登录时,你应该会收到使用 MFA 登录的提示。
如果这不起作用,请尝试从所有 Azure 服务完全注销,然后再尝试再次登录。
超时错误
成本高昂的操作(例如克隆大型存储库或签出大型分支)可能会造成超时错误,但操作可能会在后台完成。 如果工作区在当时负载较重,还可以稍后重试。
若要使用大型存储库,请尝试稀疏签出。
404 错误
如果在尝试打开非笔记本文件时遇到 404 错误,请尝试等待几分钟,然后重试。 启用工作区与 webapp 选取配置标志之间存在几分钟的延迟。
分离的头状态
如果符合以下情况,Databricks Git 文件夹可以进入分离的头状态:
- 删除了远程分支。 Databricks 试图通过将这些更改应用到默认分支来恢复分支上未提交的本地更改。 如果默认分支发生冲突的更改,Databricks 会将更改应用于默认分支的快照(分离的头)。
- 用户或服务主体使用
update repo
API签出标记上的远程存储库。
若要从此状态进行恢复:
- 单击
create branch
按钮,根据当前提交创建新分支,或使用“选择分支”下拉列表签出现有分支。 - 如果要保留更改,请提交和推送。 若要放弃更改,请单击“更改”下的三点菜单。
解决笔记本名称冲突
创建存储库或拉取请求时,具有相同或类似文件名的不同笔记本可能会导致错误,例如 Cannot perform Git operation due to conflicting names
或 A folder cannot contain a notebook with the same name as a notebook, file, or folder (excluding file extensions).
即使使用不同的文件扩展名,也可能会发生命名冲突。 例如,以下两个文件冲突:
notebook.ipynb
notebook.py
修复名称冲突
- 对导致错误状态的笔记本、文件或文件夹进行重命名。
- 如果在克隆存储库时发生此错误,则需要重命名远程 Git 存储库中的笔记本、文件或文件夹。
错误建议重新定位
There was a problem with deleting folders. The repo could be in an inconsistent state and re-cloning is recommended.
此错误表示在从存储库中删除文件夹时出现问题。 这可能会使存储库处于不一致的状态,在该状态下,应该已删除的文件夹仍存在。 如果发生此错误,Databricks 建议删除存储库并重新克隆,以重置其状态。
No experiment...found
或 MLflow UI 错误
使用在 3.72 平台发布之前最后一次记录到的 MLflow 笔记本试验时,可能会看到 Azure Databricks 错误消息 No experiment for node found
或 MLflow 错误。
若要解决此错误,请在与该试验关联的笔记本中记录新运行。
注意
这仅适用于笔记本试验。 不支持在 Git 文件夹中创建新试验。
笔记本显示为已修改,但没有任何可见的用户编辑
如果笔记本的每一行都在没有用户编辑的情况下被修改,则可能是行尾符发生了变化。 Databricks 使用 linux 样式的 LF 换行符,这可能与从 Windows 系统提交的文件中的行尾符不同。
如果笔记本显示已修改,但看不到任何明显的用户编辑,则“修改”可能会更改为通常不可见的“行尾”字符。 在不同的操作系统和文件格式中,行尾符可能有所不同。
若要诊断此问题,请检查是否具有 .gitattributes
文件。 如果这样做:
- 则它不能包含
* text eol=crlf
。 - 如果未将 Windows 用作环境,请移除该设置。 本机开发环境和 Databricks 都使用 Linux 行尾符。
- 如果使用的是 Windows,请将设置更改为
* text=auto
。 Git 现在会在内部存储所有具有 Linux 样式行尾符的文件,但会自动签出特定于平台的(如 Windows)行尾符。
如果已将包含 Windows 行尾符的文件提交到 Git 中,请执行以下步骤:
- 清除所有未完成的更改。
- 使用上述建议更新
.gitattributes
文件。 提交更改。 - 运行
git add --renormalize
。 提交并推送所有更改。