有什么办法可以减少 U-SQL 的准备时间吗?
Is there any way to minimize U-SQL preparation time?
我的 U-SQL 作业的准备时间大约为 30 秒。有可能降低吗?
我的代码如下:
USE DATABASE x;
USE SCHEMA y;
@results = SELECT RowKey
FROM y.tableName
WHERE USQLApplication2.queryHelper.func().Contains(PartitionKey) AND TimestampTicks < new System.DateTime(2016,12,30).Ticks
AND TimestampTicks > new System.DateTime(2016,12,29).Ticks;
OUTPUT @results TO "/data/output.csv"
USING Outputters.Csv();
准备时间主要包括脚本的编译、优化和code-generation。由于 U-SQL 目前在批处理模式下是 运行,因此系统针对准备过程中花费的时间进行了优化,以缩短处理大量数据的 运行 时间。
在您的情况下,根据提供的脚本,我认为对 user-defined 函数的调用可能会增加准备时间。让我与团队确认内联函数调用是否可以在该阶段节省一些时间。
编辑:
根据你在另一个线程中的问题,你似乎有一个高度分区的 table。如果那是正确的,那么访问分区和合并它们的编译也将增加准备时间。我们有一个积压项目来改进这方面。
我的 U-SQL 作业的准备时间大约为 30 秒。有可能降低吗?
我的代码如下:
USE DATABASE x;
USE SCHEMA y;
@results = SELECT RowKey
FROM y.tableName
WHERE USQLApplication2.queryHelper.func().Contains(PartitionKey) AND TimestampTicks < new System.DateTime(2016,12,30).Ticks
AND TimestampTicks > new System.DateTime(2016,12,29).Ticks;
OUTPUT @results TO "/data/output.csv"
USING Outputters.Csv();
准备时间主要包括脚本的编译、优化和code-generation。由于 U-SQL 目前在批处理模式下是 运行,因此系统针对准备过程中花费的时间进行了优化,以缩短处理大量数据的 运行 时间。
在您的情况下,根据提供的脚本,我认为对 user-defined 函数的调用可能会增加准备时间。让我与团队确认内联函数调用是否可以在该阶段节省一些时间。
编辑: 根据你在另一个线程中的问题,你似乎有一个高度分区的 table。如果那是正确的,那么访问分区和合并它们的编译也将增加准备时间。我们有一个积压项目来改进这方面。