如何使用Data Lake Analytics将数据处理为具有最大大小的多个文件?

问题描述 投票:0回答:1

我正在使用Azure Data Lake Analytics处理大量小型JSON文件,我想将结果保存到多个JSON文件(如果需要),最大大小(例如128MB)

这有可能吗?

我知道,有一个选项可以编写自定义输出,但它只是逐行写入,因此我没有关于整个文件大小的信息。 (我猜)。

U-SQL中有FILE.LENGTH()属性,它给出了每个提取文件的大小。是否可以使用它重复调用不同文件的输出,并只传递适合我的大小限制的文件?

谢谢你的帮助

azure-data-lake u-sql
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.