【问题标题】:Matillion Grid Iterator Running Random Job orderMatillion Grid Iterator 运行随机作业顺序
【发布时间】:2021-04-14 10:03:01
【问题描述】:

我在“查询结果到网格”组件中有类似于以下内容的 SQL:-

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

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

为了纠正这个问题,我在“查询结果到网格”组件和“网格迭代器”组件之间添加了一个 Python 组件,该组件使用以下代码:-

l_BATCH_IDS = context.getGridVariable('BATCH_IDS')

l_BATCH_IDS.sort()

context.updateGridVariable('BATCH_IDS',l_BATCH_IDS)

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

有没有其他人遇到过这个问题,请您提出根本问题是什么?

【问题讨论】:

    标签: sql sql-order-by matillion


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复。是的,它默认为顺序并且已经设置为这个。更重要的是,即使它处于并发模式,那么强制网格变量排序的修复也不会起作用,因为这是在网格迭代器之前应用的。鉴于强制排序每次都有效并且这是唯一的更改,那么问题必须出在其他地方。不过,您似乎是对的;这是一个 Matillion 错误。
    猜你喜欢
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多