如何在数据工厂中给databricks文件路径

时间:2019-12-09 13:18:36

标签: python python-3.x azure-data-factory azure-data-factory-2 azure-databricks

2 个答案:

答案 0 :(得分:0)

确保在Databricks活动中指定了笔记本路径。

enter image description here

这是Azure Data Factory中的例外行为。

错误代码:3201

  • 消息:缺少必填字段:settings.task.notebook_task.notebook_path。
  • 原因:创作错误:未正确指定笔记本路径。
  • 建议:在Databricks活动中指定笔记本路径。

有关更多详细信息,请参阅“ Run a Databricks notebook with the Databricks Notebook activity in Azure Data Factory

希望这会有所帮助。

答案 1 :(得分:0)

这个问题有两个方面:

  1. 从存储过程中获取返回的值
  2. 在Databricks活动中使用返回的值

第1部分: 请尝试从“查找”活动而不是“存储的Proc”活动中使用存储的proc。区别在于,“查找活动”期望返回数据并将其公开。 Stored Proc Activity不需要返回数据,因此可能不会公开任何返回值。 (请参阅查阅活动设置中“使用查询”下的“存储过程”选项。)

为简化开发/故障排除过程,请将“设置变量”活动连接到“查找”活动。 Lookup活动返回数组中的数据,因此让我们使用数组类型变量。 @activity('Lookup1').output.value

数组不适合在Databricks活动中使用,因此让我们从数组中提取路径。使用字符串类型变量将第二个Set Variable活动连接到第一个Set Variable活动。使用Debug运行并检查第一个Set Variable活动的输出;确定是否有一个键值对。在我的测试案例中,我有一个键值对,其中键是空字符串。 @string(first(variables('arrayoutput'))[''])

第2部分: 现在,第二个变量包含路径,让我们参数化并使用Databricks活动。如果您的路径不是以“ /”开头,那么您将需要在Databricks Notebook活动的“设置”中的Notebook路径中将此动态表达式@concat('/',variables('singleoutput'))放在onw前面。