我遇到了U SQL脚本的问题。我试图从目录中获取当天创建的文件。文件名的日期格式为 yyyyMMdd
。但是,当我尝试提取数据而不是只采用一天文件时,我得到目录中的所有文件。我使用下面的脚本。
DECLARE @file_set_path string ="/XXXX/Sample_{date:yyyy}{date:MM}{date:dd}{*}.csv";
@searchlog =
EXTRACT PART_NUMBER string, date DateTime FROM @file_set_path USING Extractors.Tsv(skipFirstNRows:1);
有人可以帮我解决这个问题。
答案 0 :(得分:1)
您可以使用Date
对象的DateTime
属性来比较日期,而不包括时间组件,如下所示:
DECLARE @file_set_path string ="/Sample_{date:yyyy}{date:MM}{date:dd}{*}.csv";
DECLARE @now DateTime = DateTime.Now;
@searchlog =
EXTRACT PART_NUMBER string,
date DateTime
FROM @file_set_path
USING Extractors.Csv(skipFirstNRows : 1);
@output =
SELECT *,
@now AS now,
date.Date AS x,
@now.Date AS y
FROM @searchlog
WHERE date.Date == @now.Date;
OUTPUT @output
TO "/output/output.csv"
USING Outputters.Csv();
注意,我注意到你正在使用带有Csv文件的Tsv提取器。只有一列或者这可能是拼写错误可能无关紧要?