我想從我的資源庫僅提取3天以內(2015/10/01至2015/10/03)的數據。以下邏輯將首先提取Test文件夾內的所有文件,然後在「選擇」語句中將其分爲3天,因此執行時間太長。 是否有可能只提取文件3天,而不提取所有文件。僅提取U-SQL中的必需文件
DROP VIEW IF EXISTS dbo.Read;
CREATE VIEW IF NOT EXISTS dbo.Read AS
EXTRACT
ControllerID int?,
ParameterID int?,
MeasureDate DateTime,
Value float,
date DateTime
FROM
"adl://eclwpsdatalake.azuredatalakestore.net/Test/{date:yyyy}/{date:M}/{date:d}/Testfile.csv"
USING Extractors.Csv(silent:true,quoting : true, nullEscape : "/N");
@res =
SELECT * FROM dbo.Read
WHERE date BETWEEN DateTime.Parse("2015/07/01") AND DateTime.Parse("2015/07/03");
OUTPUT @res
TO "adl://eclwpsdatalake.azuredatalakestore.net/WPS/TestMusigma/loop.csv"
USING Outputters.Csv();
謝謝你的回答。它正在工作,但如果我使用「之間」,它會提取所有日期(日期不在於開始日期和結束日期之間的謊言),然後過濾400天。 – Bond
嗨邦德。如果您使用BETWEEN並且作業圖顯示了所有文件(而不是僅適用於謂詞的那些文件),請將鏈接發送至電子郵件作業(Microsoft的usql),以便我們調查? –