2017-09-19 28 views
1

在數據湖中,我有帶模式yyyyMM_data.csv的文件名。現在我想讀取前3天的數據。我正在使用下面的代碼 -當文件名稱模式沒有日期部分時,USQL讀取最後n天

DECLARE @ReportDate DateTime= DateTime.Parse("05/08/2017"); 
DECLARE @FeatureSummaryInput [email protected]"/FolderPath/{InputFileDate:yyyy}{InputFileDate:MM}_data.csv"; 

@FeaturedUsed = 
    EXTRACT Id string,InputFileDate DateTime 
    FROM @FeatureSummaryInput 
    USING Extractors.Csv(silent : true, skipFirstNRows : 1); 

@FeaturedUsed= 
    SELECT * 
      FROM @FeaturedUsed 
    WHERE InputFileDate BETWEEN @ReportDate.AddDays(-3) AND @ReportDate; 

如果我運行上面的代碼,它運行空輸入。請讓我知道如果我失去了一些東西。爲什麼它不讀取正確的文件?

看起來好像我們需要在文件名模式中必須有「day」來工作。

回答

0

可能我錯過了一些東西,但是,如果您投InputFileDateDateTime它默認爲月份的第一個,因爲沒有指定日期。對於您的測試ReportDate設置爲05/08/2017,您的WHERE條款基本上評估爲Between 2017-08-02 And 2017-08-05,這永遠不會成立。

你認爲哪天你的文件加入yyyyMM

相關問題