无需使用 C# 即可在 U-SQL 中实现循环 (while/for)。如果没有,任何人都可以共享 c# 语法来在 u-sql 中实现循环。
我正在提取从特定日期到某个日期的文件,但现在我通过手动写入文件路径来提取该文件。
DROP VIEW IF EXISTS dbo.ReadingConsolidated;
CREATE VIEW IF NOT EXISTS dbo.ReadingConsolidated
AS
EXTRACT
ControllerID int?,
sensorID int?,
MeasureDate DateTime,
Value float
FROM
"adl://datalake.azuredatalakestore.net/2015/7/1/Reading.csv",
"adl://datalake.azuredatalakestore.net/2015/7/2/Reading.csv",
"adl://datalake.azuredatalakestore.net/2015/7/3/Reading.csv",
"adl://datalake.azuredatalakestore.net/2015/7/4/Reading.csv",
"adl://datalake.azuredatalakestore.net/2015/7/5/Reading.csv",
"adl://datalake.azuredatalakestore.net/2015/7/6/Reading.csv",
"adl://datalake.azuredatalakestore.net/2015/7/7/Reading.csv"
注意:这些文件存在于不同的文件夹中。
使用循环可以实现上述事情吗?
执行此操作的正确方法是使用虚拟列,然后依赖分区消除这样只有与谓词匹配的文件才会被实际读取(您可以在工作图).
CREATE VIEW IF NOT EXISTS dbo.ReadingConsolidated
AS
EXTRACT
ControllerID int?,
ParameterID int?,
MeasureDate DateTime,
Value float,
date DateTime
FROM
"adl://datalake.azuredatalakestore.net/{date:yyyy}/{date:M}/{date:d}/Reading.csv";
@res =
SELECT * FROM dbo.ReadingConsolidated
WHERE date BETWEEN DateTime.Parse("2015/07/01") AND DateTime.Parse("2016/07/07");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)