Matillion 网格迭代器运行随机作业顺序

问题描述

我在“Query Result to Grid”组件中有类似于以下内容sql:-

SELECT JOB,BATCH_ID
FROM   ELT_JOBS
ORDER BY JOB,BATCH_ID ASC

这些值保存在名为“BATCHES”的网格变量中,尽管正确应用了“ORDER BY”,但当作业运行时,它以随机顺序运行:我希望第 1 到第 10 批按顺序运行,但相反它们以 5、3、6、10、1 等混乱的顺序运行。

为了更正此问题,我在“Query Result to Grid”组件和“Grid Iterator”组件之间添加一个 Python 组件,该组件使用以下代码:-

l_BATCH_IDS = context.getGridVariable('BATCH_IDS')

l_BATCH_IDS.sort()

context.updateGridVariable('BATCH_IDS',l_BATCH_IDS)

解决了问题,但它不应该首先发生。

有没有其他人遇到过这个问题,你能建议根本问题是什么吗?

解决方法

根据文档,“在顺序模式下,迭代将始终按照数据保存在网格变量中的相同顺序进行。”

如果您在并发模式下运行,那可能就是问题所在。否则,我怀疑这是您使用的 Matillion 版本中的错误

enter image description here