繁体   English   中英

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

[英]Accessing Azure DevOps Git file directly from Azure Databricks

我们有一个 CSV 文件存储在 ADO (Azure DevOps) Git 存储库中。 I have Azure Databricks cluster running, and in the workspace I have a python code to read and transform this CSV file into a spark dataframe. 但是每次文件发生更改时,我都必须从 ADO Git 手动下载并上传到 Databricks 工作区。 我使用以下命令来验证文件是否已上传:-

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

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

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 function 使用它可以直接指向 ADO Git 的主分支中的文件副本?

您有 2 个选择,具体取决于对您来说更简单的方法:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM