gpt4 book ai didi

azure - Azure Data Lake 中的 U-SQL 输出

转载 作者:行者123 更新时间:2023-12-04 13:22:11 24 4
gpt4 key购买 nike

如果我不知道表包含多少个不同的键值,是否可以根据列值自动将表拆分为多个文件?是否可以将键值放入文件名中?

最佳答案

这是我们的top ask (之前也是 asked on stackoverflow :)。我们目前正在努力,希望在夏天之前推出。

在那之前您必须编写一个脚本生成器。我倾向于使用 U-SQL 来生成脚本,但您也可以使用 Powershell 或 T4 等来生成脚本。

这是一个例子:

假设您要为下表/行集 @x 中的列 name 编写文件:

name | value1 | value2
-----+--------+-------
A | 10 | 20
A | 11 | 21
B | 10 | 30
B | 100 | 200

您将编写一个脚本来生成如下所示的脚本:

@x = SELECT * FROM (VALUES( "A", 10, 20), ("A", 11, 21), ("B", 10, 30), ("B", 100, 200)) AS T(name, value1, value2);

// Generate the script to do partitioned output based on name column:

@stmts =
SELECT "OUTPUT (SELECT value1, value2 FROM @x WHERE name == \""+name+"\") TO \"/output/"+name+".csv\" USING Outputters.Csv();" AS output
FROM (SELECT DISTINCT name FROM @x) AS x;

OUTPUT @stmts TO "/output/genscript.usql"
USING Outputters.Text(delimiter:' ', quoting:false);

然后,您获取genscript.usql,预先计算@x并提交,以将数据分区到两个文件中。

关于azure - Azure Data Lake 中的 U-SQL 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42636855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com