好的,这就是我在做什么。我有一个U-SQL脚本,它执行以下操作。
步骤1.将记录插入到txn表中' A'说"处理开始",记录步骤2的开始。 步骤2.从文件中提取 第3步。插入表格' B'使用步骤2中的行集。 步骤4.将记录插入到txn表中' A'说"处理结束",记录步骤2的成功执行。
当我编写上述代码时,我希望上述步骤将按照上述顺序执行。令我惊讶的是,当我仔细查看代数时,我开始明白查询优化器会拖拽我的所有任务,并按以下方式运行它。
所以我在这里的问题是如何确保步骤2,步骤3仅在步骤1之后执行?到目前为止,我对第4步并不感到困扰。我也可以在下面运行,但我希望还有其他一些选择。 工作1(步骤1) 工作2(步骤2,3) 工作3(步骤4)
请你帮忙吗?
答案 0 :(得分:2)
U-SQL旨在优化您的查询,以便可以跨多个节点进行扩展 - 从而有效地执行查询。您所观察到的是设计,在您的代码中,因为步骤1和2之间没有依赖关系,所以有机会并行执行它们。
我能想到的一个选项是以某个顺序执行它们是为了引入对步骤2中步骤1的结果的依赖。
话虽如此,如果您正在查看顺序执行模式,我很好奇为什么选择U-SQL(专为大型并行应用程序设计)。