微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

直接从 Azure Databricks 访问 Azure DevOps Git 文件

如何解决直接从 Azure Databricks 访问 Azure DevOps Git 文件

我们有一个 CSV 文件存储在 ADO (Azure DevOps) Git 存储库中。我运行了 Azure Databricks 集群,在工作区中我有一个 python 代码来读取这个 CSV 文件并将其转换为一个 spark 数据帧。但是每次文件发生更改时,我都必须从 ADO Git 手动下载它并上传到 Databricks 工作区。我使用以下命令来验证文件是否已上传:-

dbutils.fs.ls ("/FileStore/tables")

它列出了我的文件。然后我使用以下 Python 代码将此 CSV 转换为 Spark 数据帧:

file_location = "/FileStore/tables/MyFile.csv"
file_type = "csv"
# CSV options
infer_schema = "true"
first_row_is_header = "true"
delimiter = ","
# The applied options are for CSV files. For other file types,these will be ignored.
df = spark.read.format(file_type) \
  .option("inferSchema",infer_schema) \
  .option("header",first_row_is_header) \
  .option("sep",delimiter) \
  .load(file_location)

因此,每次 ADO Git 存储库中的文件发生更改时,都会涉及此手动步骤。是否有任何 Python 函数可以直接指向 ADO Git 的 master 分支中的文件副本?

解决方法

您有 2 个选择,具体取决于哪种对您来说更简单:

  1. 使用 Azure DevOps Python API 访问 Git 树中的 file (called item in API)。因为这个文件只能从驱动节点访问,所以你需要使用dbutils.fs.cp将文件从驱动节点复制到/FileStore/tables
  2. 在您的 Git 存储库中设置构建管道,该管道仅在提交特定文件时触发,如果发生更改,请使用 Databricks CLIdatabrics fs cp ... 命令)将文件直接复制到 DBFS。这里有一个 example 并没有完全按照您的意愿行事,但可以用作灵感。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?