【问题标题】:How to override a stream's primary key properties or incremental replication key in Meltano?如何在 Meltano 中覆盖流的主键属性或增量复制键?
【发布时间】:2022-10-05 01:23:43
【问题描述】:

有时我们想要覆盖流的键属性(主键)或其增量复制键。在 Meltano 中执行此操作的最佳方法是什么?

【问题讨论】:

    标签: meltano singer-io


    【解决方案1】:

    在您的 Meltano yaml 文件中,您可以使用 metadata 额外配置添加 key-properties 和/或 replication-key 覆盖。

    文档参考:https://docs.meltano.com/concepts/plugins#metadata-extra

    示例 yaml 代码:

    extractors:
    - name: tap-postgres
      metadata:
        some_stream_id:
          table-key-properties: [id]
          replication-key: created_at
          replication-method: INCREMENTAL
    

    此示例将主键设置为id,将复制键设置为created_at

    关于通配符的更新 (2022-03-30)

    根据@visch 的评论,还可以在流名称中使用通配符来一次匹配多个流。例如在这些示例中:

    extractors:
    - name: tap-postgres
      metadata:
        "*":
          # set all streams to "full table" mode
          replication-method: FULL_TABLE
    

    和:

    extractors:
    - name: tap-postgres
      metadata:
        "*":
          # ignore primary keys for all streams
          table-key-properties: []
    

    【讨论】:

    • 对于测试和刚从歌手或新水龙头开始,我喜欢使用元数据:'*':复制方法:FULL_TABLE 这样我就可以看到数据并在以后找出复制的东西。意识到评论很难阅读,gitlab.com/vischous/oracle2mssql/-/blob/master/oracle2mssql/… 更容易阅读
    • 谢谢,@visch!我已经使用这个例子更新了我的答案。
    • @aaronsteers 你能纠正你的答案吗?显然,它已从 key-properties 重命名为 table-key-properties。至少在 2.7.0 版本中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2017-08-13
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多