我可以使用`U-SQL的EXTRACT过滤从CSV文件加载的数据吗?我知道我们可以使用EXTRACT后select中的where条件来限制数据。但是,我想在使用' EXTRACT'
时过滤它我有巨大的CSV
文件。我不想将所有内容加载到第一个数据集中。
e.g。 我在数据集中有很多自动声明。我希望在我提取过程中对其进行过滤。它基于数据集中的日期。
答案 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();