当我从portal / visual studio运行U SQL脚本时,它遵循准备,排队,运行,结束等阶段。在所有这些阶段的幕后究竟发生了什么?在开发和生产环境中从visual studio / portal运行作业时,是否会有任何执行时间差异?我们需要计算速度并记录脚本在生产中所需的时间。最后,目标是将这些脚本作为数据工厂活动在生产中运行。
答案 0 :(得分:2)
我认为会有差异,因为我认为您的开发环境可能会以比生产环境更低的资源使用率(作业和作业内部的并行度更低)运行。否则应该没有区别。
请注意,我们仍在努力提高效果,如果您遇到特定问题,请告诉我们。
阶段大致如下(我可能错过了一些部分):
准备:包括编译,优化,Codegen,准备执行图和所需资源,并将作业放入队列。
排队:一旦作业位于队列的顶部并且资源可用于启动作业,作业就会在队列中执行。这可以通过设置可以并行运行的最大作业数来影响(可以通过“调用”支持/我们设置的设置)。
正在运行:实际执行作业。这将受资源影响:作业上指定的最大并行数,网络带宽,存储访问(限制,带宽)。
最终确定:清理并将结果拼接成文件,“密封”表格文件。这可能会更昂贵,具体取决于您写入数据的位置(例如,ADL比WASB更快)。