如何在2个U-SQL脚本之间传递变量

时间:2018-10-22 06:39:26

标签: azure azure-data-lake u-sql

我正在尝试使用另一个表中的值来过滤表中的值。由于USQL不允许在WHERE IN语句中使用另一个表,因此我的想法是使用usql函数创建值列表,然后将其传递给我的主脚本。

关于如何传递必要变量的任何想法?如果还有其他方法可以解决这个问题,我也很感兴趣。

2 个答案:

答案 0 :(得分:0)

您应该尝试在USQL中使用SEMIJOIN或ANTISEMIJOIN过滤数据集。它的usql处理IN / NOT IN的方式

选中this

答案 1 :(得分:0)

我最终编写了2个c#函数作为代码,以在单个脚本中实现我想要的功能。第一个功能实际上检查输入表中我需要的值并创建一个列表。我使用此函数在usql脚本的开头声明一个变量。然后,我们将此列表作为第二个函数的输入,该第二个函数处理工作表中的值。

这是我当前的解决方案,效果很好。我仍然对U-SQL还是陌生的,因此,如果有一种更简便的方法,我想学习它,请随时为该线程做贡献。