2017-02-21 39 views
2

ADF项目当我尝试从Visual Studio天青部署ADF项目中的错误,我得到的错误:当我尝试部署具有依赖性

21.02.2017 13:03:32- Publishing Project 'MyProj.DataFactory'.... 
21.02.2017 13:03:32- Validating 10 json files 
21.02.2017 13:03:37- Publishing Project 'MyProj.DataFactory' to Data Factory 'MyProjDataFactory' 
21.02.2017 13:03:37- Starting upload of Dependency D:\Sources\MyProjDataFactory\Dependencies\ParseMyData.usql 

的依赖是Azure的数据湖分析U型SQL脚本。

存储在azure中的依赖关系在哪里?

UPDATE:

当我尝试协调为U-SQL存储过程而不是脚本的Visual Studio的验证trows我的错误上构建:

enter image description here

回答

3

你有几个的选择。

1)将USQL文件存储在Azure Blob存储中。在这种情况下,您需要Azure数据工厂中的链接服务才能使用Blob。然后手动上传文件或将该文件添加到数据工厂的Visual Studio项目依赖项中。不幸的是,这将意味着USQL在ADF项目中变成静态的,并且不以任何方式与您的ADL项目链接,所以要小心。

2)最简单的方法就是直接在ADF JSON中直接排列USQL代码。这又意味着您需要手动刷新ADL项目中的代码。

3)我的首选方法 ...在Azure Data Lake Analytics服务中将USQL创建为存储过程。然后使用[database]。[schema]。[procname]引用JSON中的proc。您也可以将参数传递给ADF的proc。例如时间片。这也假定您已经将ADL设置为ADF中的链接服务。

希望这会有所帮助。

我有一篇博客文章第三选项,如果你有兴趣的合格PARAMS这里:http://www.purplefrogsystems.com/paul/2017/02/passing-parameters-to-u-sql-from-azure-data-factory/

感谢

+0

谢谢。我喜欢第三方案。这就是我要使用的。但只是为了清楚。你能解释一些关于第一种选择的更多信息吗?如果我将U-SQL脚本作为VS的ADF项目中的依赖项添加,并尝试将此项目部署到Azure,则会出现有关访问权限的错误,它会在哪里尝试存储依赖项?而且我应该拥有部署依赖项目的权利(无需依赖项即可成功部署)。谢谢。 – churupaha

+0

欢迎您。好点子。在JSON活动中,您需要使用属性“scriptLinkedService”,指的是一些blob存储链接服务。这告诉ADF在哪里从您的依赖项上载脚本文件。接下来,在门户中,转到您的ADL分析服务并将blob存储添加为数据源。以及ADL存储。这为它提供了运行USQL文件所需的访问权限。您的赞成票和标记以上作为您的问题答案,将不胜感激。 –

+0

我投了票,但现在我的选票是隐形的。 – churupaha