// if you want to parameterize the whole path
DECLARE EXTERNAL @in = "/default/input.csv";
// if you have standard output path that you want to optionally overwrite and a user specified output file
DECLARE EXTERNAL @outdir = "/defaultoutput";
DECLARE EXTERNAL @outfile = "output.csv";
DECLARE @out = @outdir + "/" + @outfile;
@data = EXTRACT .... FROM @in USING ....;
...
OUTPUT @res TO @out USING ...;
2 回答
目前,U-SQL支持基URI的概念,但目前硬编码为默认的ADLS帐户的根 . 您可以在http://aka.ms/adlfeedback处将请求设置为将基URI设置为其他值,或者使用一些脚本参数化来自行构建 . 由于脚本可以有许多输入或输出位置,因此将其作为系统配置选项会增加太多的复杂性 .
您可以按如下方式参数化U-SQL脚本:
以上内容也可以包装成一个程序并存储在帐户中 .
注意:我们正在开发一种功能,可以在没有U-SQL语句的情况下对声明和引用进行分组,并将它们存储在元数据中以供将来重用 . 这将有助于您的方案减少“锅炉板” .
提交时,您可以在前面添加实际路径
wBob回复中的ADF示例正在为您做前置 . 其他工具和SDK目前正在定义他们的参数传递模型(除了你自己做前置) .
这是否满足您的需求?
可以使用Azure数据工厂按照here和here运行参数化的U-SQL查询 . 输入和输出文件夹参数化的管道示例启动:
您可以在部署ADF作业时读取配置文件,例如使用Powershell .