2017-02-21 32 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