【问题标题】:How do we access a file in github repo inside our azure databricks notebook我们如何在 azure databricks notebook 中访问 github repo 中的文件
【发布时间】:2021-09-20 11:59:02
【问题描述】:

我们有一个要求,我们需要访问托管在 Azure Databricks 笔记本中的 github 私有存储库中的文件。 目前我们正在使用 curl 命令使用用户的个人访问令牌来执行此操作。

curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: 
application/vnd.github.v3.raw' -O -L 
https://api.github.com/repos/*owner*/*repo*/contents/*path*

有什么方法可以避免使用 PAT 并使用部署密钥或其他任何东西?

【问题讨论】:

  • 一种选择是使用 git(带有 ssh 密钥)克隆整个 repo 并提取文件。但是 git 不支持只克隆一个文件,所以如果 repo 很大,你会遇到问题
  • @SamBob 我想要的文件是托管在 github 上的 CSV 文件。默认情况下,databricks 工作区在克隆后不会在 repo 中显示 csv 文件

标签: github access-token databricks azure-databricks spark-notebook


【解决方案1】:

从 2021 年夏季开始,databricks 引入了 git repos 功能的集成。 更多信息在这里:https://docs.microsoft.com/en-us/azure/databricks/repos

如果您在 repo 中添加您的文件(excel、json 等),那么您可以使用相对路径来访问它并读取它。

例如pd.read_excel("./test_data.xlsx")

请注意,您需要一个具有 8.4+(或 9.1+?)版本的数据块的集群

您还可以通过执行以下命令来测试您当前的工作目录是什么。 os.getcwd()

如果你已经正确集成了 repo,那么你的结果应该是这样的:

/Workspace/Repos/george@myemail.com/REPO_FOLDER/analysis

否则它将类似于:/databricks/driver

【讨论】:

  • 真的,从 8.4 开始就可以使用了
  • 也许,不确定确切的版本。我可以更新答案
【解决方案2】:

集成 Git 和 azure databricks。

这个documentation 展示了如何集成 Git 和 azure databricks

第一步:获取文件的原始 URL。

第二步:使用wget访问文件:

wget https://github.com/githubtraining/hellogitworld/blob/master/resources/labels.properties

【讨论】:

  • repo 是私有 repo,我要读取的文件是 csv 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 2020-10-01
  • 2022-10-04
  • 2020-09-21
  • 2021-05-10
相关资源
最近更新 更多