0
我想使用U-SQL創建一個視圖。視圖的名稱只能在編譯時使用DECLARE函數來定義。在u-sql上創建一個帶有標識符作爲變量的視圖
當我嘗試在創建視圖語句中使用該變量時,Visual Studio會引發語法錯誤。
是否有解決方法?
我想使用U-SQL創建一個視圖。視圖的名稱只能在編譯時使用DECLARE函數來定義。在u-sql上創建一個帶有標識符作爲變量的視圖
當我嘗試在創建視圖語句中使用該變量時,Visual Studio會引發語法錯誤。
是否有解決方法?
U型SQL不支持動態U型SQL在這一點上,雖然如果你覺得這是一個重要的缺失功能,您可以發佈一個功能要求在這裏:
https://feedback.azure.com/forums/327234-data-lake
看起來已經有一個類似的請求,你可以投票here。
作爲一種解決方法,您可以動態生成U-SQL,然後單獨手動或使用其中一個SDK運行腳本,例如使用Powershell,.net。一個簡單的例子:動態U形SQL的(或更精確地,U-SQL動態生成的)
//Dynamic U-SQL
DECLARE @viewName string = "dbo.vw_yourViewName";
// Create dynamic U-SQL
@usql =
SELECT *
FROM (VALUES
("USE DATABASE yourDatabase;"),
(String.Format("DROP VIEW IF EXISTS {0};", @viewName)),
(String.Format("CREATE VIEW IF NOT EXISTS {0} AS EXTRACT col1 int, col2 string, col3 string, col4 string, col5 string FROM \"/input/input44.txt\" USING Extractors.Csv();", @viewName))
) AS x (usql);
// Output the statements in the correct sort order
OUTPUT @usql
TO "/output/dynamic.usql"
USING Outputters.Text(delimiter:' ', quoting:false);