擅长:python、mysql、java
<p>这个问题有两个方面:</p>
<ol>
<li>从存储过程中检索返回值</li>
<li>在Databricks活动中使用返回值</li>
</ol>
<p>第1部分:
请尝试从查找活动中使用存储过程,而不是从存储过程活动中使用。不同之处在于,查找活动希望返回数据,并将其公开。存储过程活动不需要返回数据,因此可能不会公开任何返回的值。(请参阅查找活动设置中“使用查询”下的“存储过程”选项。)</p>
<p>要简化开发/故障排除过程,请将设置变量活动连接到查找活动。Lookup活动返回数组中的数据,因此让我们使用数组类型变量。<code>@activity('Lookup1').output.value</code>。你知道吗</p>
<p>数组不适合在Databricks活动中使用,因此让我们从数组中提取路径。使用字符串类型变量将第二个集合变量活动连接到第一个集合变量活动。使用调试运行并检查第一组变量activity的输出;确定是否存在键值对。在我的测试用例中,我有一个键值对,其中键是空字符串。<code>@string(first(variables('arrayoutput'))[''])</code></p>
<p>第2部分:
既然第二个变量包含路径,那么让我们参数化并使用Databricks活动。如果路径不是以“/”开头,则需要在Databricks Notebook活动的设置中的Notebook path中预先使用此动态表达式<code>@concat('/',variables('singleoutput'))</code>。你知道吗</p>