如何在Databricks Repos的notebook内访问Repo元数据
结论
完全可以实现,你可以直接通过Databricks内置的dbutils工具获取Repo的关联元数据,无需引入额外依赖。
具体实现方法
你可以通过dbutils.notebook.getContext系列接口获取对应信息,常用字段的获取方式如下:
- 获取当前Repo所属分支名:
dbutils.notebook.entry_point.getDbutils().notebook().getContext().notebookRepoBranch().get() - 获取Repo的远程Git地址:
dbutils.notebook.entry_point.getDbutils().notebook().getContext().notebookRepoUrl().get() - 获取Repo在Databricks工作区的根路径:
dbutils.notebook.entry_point.getDbutils().notebook().getContext().notebookRepoRootPath().get()
可直接运行的示例代码
为了避免当前notebook未关联Repo时调用报错,建议添加异常捕获逻辑:
try: # 读取Repo关联元数据 repo_branch = dbutils.notebook.entry_point.getDbutils().notebook().getContext().notebookRepoBranch().get() repo_git_url = dbutils.notebook.entry_point.getDbutils().notebook().getContext().notebookRepoUrl().get() repo_workspace_path = dbutils.notebook.entry_point.getDbutils().notebook().getContext().notebookRepoRootPath().get() print(f"当前工作分支:{repo_branch}") print(f"关联Git仓库地址:{repo_git_url}") print(f"仓库工作区根路径:{repo_workspace_path}") except Exception as e: print("当前notebook未关联任何Git仓库,无法获取Repo元数据:", str(e))
注意事项
- 上述接口仅支持Databricks Runtime 11.3 LTS及更高版本,更低版本Runtime未开放对应元数据能力
- 只有被纳入Repo管理的notebook才能获取到有效值,存放在个人工作区、未关联Repo的notebook调用上述方法会抛出异常
内容的提问来源于stack exchange,提问作者Stanislav Žoldak
相关产品推荐
相关产品推荐

