我可以从Azure Data Lake U-SQL中的CSV文件中检索有限的数据集吗?

时间:2018-05-24 14:24:45

标签: azure u-sql

我可以使用`U-SQL的EXTRACT过滤从CSV文件加载的数据吗?我知道我们可以使用EXTRACT后select中的where条件来限制数据。但是,我想在使用' EXTRACT'

时过滤它

我有巨大的CSV文件。我不想将所有内容加载到第一个数据集中。

e.g。 我在数据集中有很多自动声明。我希望在我提取过程中对其进行过滤。它基于数据集中的日期。

2 个答案:

答案 0 :(得分:1)

答案是肯定的。但是,只能将列修剪推入提取器中。由于在使用Csv提取器提取数据之前没有为数据分配语义,因此将在生成的行集上应用过滤器。有很多例子告诉你如何这样做。 Here是其中一个动手实验的例子。

答案 1 :(得分:0)

是的,您可以过滤从csv文件加载的数据。你可以这样做:

 @log =
     EXTRACT UserId          int,
             StartDate       DateTime,
             Location        string,
              ....
              ....
             Url             string
     FROM "/Samples/Data/Log.csv"
     USING Extractors.csv();

 @result =
     SELECT Location, Url, StartDate
     FROM @log
     WHERE StartDate >= DateTime.Parse("2017/01/6") AND StartDate <= DateTime.Parse("2018/06/08");

 OUTPUT @result   
 TO "/output/cleanlog.csv"
 USING Outputters.Csv();