2017-01-02 131 views
0

我試圖從外部Azure Sql Db讀取CREATE EXTERNAL TABLE xyz ....FROM LOCATION "dbo.xyz"SELECT * FROM ExternalDataSource EXECUTE @"SELECT a,b,c FROM dbo.xyz WHERE DATALENGTH(a)<128000"方法,並且得到的行大小太大(來自遠程數據源的行大於4194304字節。 )錯誤。當我嘗試查找大於此值的行時,由Jaime的答案here啓發的查詢不會產生任何結果。Azure數據湖外部數據源:行大小太大

我試圖通過執行一個遠程查詢來獲取rowize小於4MB的行以及大字符串具有小於128KB的數據長度的列來限制行集,但我仍然得到相同的錯誤。

我的印象是,如果我在Sql Db端執行遠程查詢以將行集限制爲Azure Data Lake可以容納的內容,那我就沒問題,但似乎並不如此。我可以申請一個合理的解決方法嗎?

乾杯!

回答

0

首先,即使使用遠程EXECUTE示例,您是否還會觀察到錯誤?

其次,您在ExternalDataSource上設置的REMOTABLE_TYPES是什麼?

第三,最好給我們一個鏈接到工作進一步調查。請隨時通過usql(at)Microsoft與我們聯繫。

+0

謝謝Michael!遠程執行示例產生了相同的結果。 REMOTABLE_TYPES是(bool,byte,sbyte,short,ushort,int,uint,long,ulong,decimal,float,double,string,DateTime)在作業url上,有沒有辦法在搜索到特定的錯誤之前,你的信息。有這麼多,我可能需要相當長的一段時間才能找到它。 – chi

+0

我想你可以通過一個簡單的查詢界面瀏覽Visual Studio中的作業列表(不知道它是否提供了一個簡單的方法來檢查特定的錯誤)或者使用Powershell SDK編寫更多的程序化枚舉。 這確實看起來像我想調查的問題。如果否則可以提供repro腳本(一個用於在SQLDB中生成一些測試數據的T-SQL腳本,然後是一個repro U-SQL腳本,我也可以嘗試重新制作它)。 –