我有一个 U-SQL 作业,它从 2 个 .tsv 和 2 个 .csv 文件中提取数据,选择一些特征并执行一些简单的转换,然后再输出到 ADL 中的 csv/tsv 文件。
但是,当我尝试在 SELECT 语句中添加进一步的转换时,由于特别是一个 SELECT 语句,这项工作似乎需要更长的时间来运行(10+ 分钟对 1 分钟)。
我相信这是由于“年月”列的计算,我基本上使用串联将日期列转换为我需要的格式。
下面是快速运行的作业:
@StgCrime =
SELECT CrimeID,
[Month],
ReportedBy,
FallsWithin,
Longitude,
Latitude,
Location,
LSOACode,
LSOAName,
CrimeType,
LastOutcome,
Context
FROM @ExtCrime;
OUTPUT @StgCrime
TO "CrimeOutput/Crimes.csv"
USING Outputters.Csv(outputHeader:true);
而需要更长的时间的工作:
@StgCrime =
SELECT CrimeID,
String.Concat([Month].Substring(0, 4),[Month].Substring(5, 2)) AS YearMonth,
ReportedBy AS ForceName,
Longitude,
Latitude,
Location,
LSOACode,
CrimeType,
LastOutcome
FROM @ExtCrime;
OUTPUT @StgCrime
TO @OCrime
USING Outputters.Csv(outputHeader:true);
Vertex视图的区别:
谁能帮我澄清一下?当然,一个转换不应该导致作业运行时间的增加吗?
被查询的数据文件由 1066 个 csv 文件组成,总共约 2.5GB。