我正在使用Azure Data Lake Analytics处理大量小的JSON文件,并且希望将结果保存到最大大小为例如128MB的多个JSON文件中(如果需要)
有可能吗?
我知道,有一个选项可以编写自定义输出程序,但是它只能逐行写入,因此我没有有关整个文件大小的信息。 (我猜)。
U-SQL中有FILE.LENGTH()
属性,它为我提供了每个提取文件的大小。是否可以使用它重复调用不同文件的输出,并仅将适合我的大小限制的文件传递给它?
谢谢您的帮助
答案 0 :(得分:0)
以下是您可以使用FILE.LENGTH进行操作的示例。
@yourData =
EXTRACT
// ... columns to extract
, file_size = FILE.LENGTH()
FROM "/mydata/{*}" //input files path
USING Extractors.Csv();
@res =
SELECT *
FROM @yourData
WHERE file_size < 100000; //Your file size