На данный момент U-SQL не поддерживает динамический U-SQL, хотя, если вы считаете, что это важная недостающая функция, вы можете опубликовать запрос функции здесь:
https://feedback.azure.com/forums/327234-data-lake
Похоже, что уже есть аналогичный запрос, за который вы можете проголосовать здесь.
В качестве обходного пути вы можете динамически сгенерировать U-SQL, а затем запустить сценарий отдельно либо вручную, либо с помощью одного из SDK, например, с помощью Powershell, .net. Простой пример:
//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);
Другими примерами динамического U-SQL (или, точнее, динамически сгенерированного U-SQL) являются здесь и здесь.
person
wBob
schedule
21.08.2017