Azure Databricks 中的外部属性文件

External Properties File in Azure Databricks

我们有一个完整的 Spark 应用程序,它从属性文件中删除了很多参数。现在我们想将应用程序移动到 Azure 笔记本格式。整个代码工作正常,并通过硬编码参数给出预期结果。但是也可以在 Azure Databricks Notebook 中使用外部属性文件吗?如果可以,那么我们需要在哪里放置属性文件??

使用 Databricks Jobs REST API 可能会出现 providing/returning 个参数,可以找到更多信息,例如这里:https://docs.databricks.com/dev-tools/api/latest/examples.html#jobs-api-example

您可以使用 Databricks DBFS Filestore,Azure Databricks 笔记本可以从这里访问用户的文件。

要上传您拥有的属性文件,您可以使用 2 个选项

  1. 使用wget,

    import sys
    "wget -P /tmp/ http://<your-repo>/<path>/app1.properties"
    dbutils.fs.cp("file:/tmp/app1.properties", "dbfs:/FileStore/configs/app1/")
    
  2. 使用dbfs.fs.put,(可能是一次性activity创建此文件)

    dbutils.fs.put("FileStore/configs/app1/app1.properties", "prop1=val1\nprop2=val2")
    

要导入属性文件值,

properties = dict(line.strip().split('=') for line in open('/dbfs/FileStore/configs/app1/app1.properties'))

希望对您有所帮助!!