2016-09-19 37 views
3

我正在將U-SQL活動作爲Azure數據工廠中的管道的一部分在定義的時間片上運行。 U-SQL活動運行一系列U-SQL腳本,它們讀入並處理存儲在Azure Data Lake中的數據。雖然數據在本地運行中成功處理,但它在Azure Data Factory雲環境中運行時會拋出系統內存異常。內存不足異常使用Azure數據工廠運行U-SQL活動

輸入數據大約爲200MB,這不應該是一個有問題的處理,因爲之前已經處理了更大的數據集。

假設內存管理根據需要進行擴展,在Azure雲環境中看到內存不足異常是令人驚訝的,以下是在同一輸入數據上執行兩次運行的異常快照,唯一的區別在於:它們發生。

Exception Snapshot - 1

Exception Snapshot - 2

任何援助表示高度讚賞,感謝。

進一步更新:在進一步的調查觀察使用可變skipNRow跳過標題行:1再解決這個問題,後面片段我們的u-SQL代碼有一個環路上的日期比較條件,其可能的循環沒有終止,因爲標題行列的日期時間轉換無效,因爲片段正在處理DateTime類型的行列作爲輸入。理想情況下,應該給出無效的日期時間格式異常,但我們會看到內存異常。

+0

哎呀,所以你的循環沒有無限循環保護?例如僞代碼'如果loopCount> 99 break' – wBob

回答

1

它看起來像用戶代碼中的東西導致異常,你可以嘗試在VS中運行失敗的頂點調試功能。您可以在VS中打開失敗的作業,並且它會在作業概述中給出一個錯誤欄,讓您啓動該過程。它會將失敗的部分下載到桌面上並讓您逐步完成。