如何使用U-SQL合并文件N天

时间:2018-08-28 09:05:44

标签: u-sql

我想合并7天文件中的数据,并使用U-SQL对它们执行一些操作。 ADLS上的文件夹结构-/sample/data/YYYY/MM/DD.1.csv 例如今天是03/03/2018(DD / MM / YYYY),那么我想选择2017年12月27日至2018年2月1日之间的数据。

在U-SQL中如何实现?

1 个答案:

答案 0 :(得分:0)

您应该在文件路径中使用虚拟列。
例如:

 DECLARE @path = "/sample/data/{FileDate:yyyy}/{FileDate:MM}/{FileDate:dd}.1.csv
 DECLARE @startDate = new DateTime(2017,12,27);
 DECLARE @endDate = new DateTime(2018,01,02);

 @data = EXTRACT 
     column1 string,
    column2 string,
    FileDate DateTime
    from @path
USING Extractors.Csv(); //or which extractor you are using


OUTPUT(
SELECT * FROM @data
WHERE FileDate BETWEEN @startDate AND @endDate)
TO "/sample/data/appended.csv
USING Outputters.Text(delimiter : ';', outputHeader : true); //output this in your csv file

此代码应提取您日期范围内的所有数据。 附言我不确定是否写了好的文件名,请检查一下。 希望这会帮助你。 Here您可以找到有关虚拟列的文档。