【问题标题】:SNOW PIPE status - LastRecievedMessageTimestamp > LastForwardedMessageTImestamp. are messages not forwarded?SNOWPIPE 状态 - LastRecievedMessage 时间戳 > LastForwardedMessage 时间戳。消息没有转发吗?
【发布时间】:2021-11-09 07:07:18
【问题描述】:

雪管状态:

  • 我通常通过查看 LastForwardedMessageTImestamp > LastRecievedMessageTimestamp 来验证“接收和转发数据”是否已完成。
  • 在此管道状态下,LastRecievedMessageTimestamp 大于 LastForwardedMessageTImestamp。 这是否意味着 SQS 没有将消息转发到 SNOWPIPE?

【问题讨论】:

    标签: snowflake-cloud-data-platform snowflake-schema


    【解决方案1】:

    通常,您的 notification_channel 对于您帐户中的所有 PIPES 都是相同的。 所有管道都链接到同一个 SQS 队列,因此它们都会在触发文件通知时收到消息。这就是为什么您的所有管道在给定时间都应该具有相同的 lastReceivedMessageTimestamp 的原因。

    只有当消息与管道定义中配置的位置/模式匹配时,管道才会将消息转发到给定的 COPY 指令。

    【讨论】:

      【解决方案2】:

      您可以阅读以下内容以获取有关管道状态的更多信息:

      https://docs.snowflake.com/en/sql-reference/functions/system_pipe_status.html

      lastReceivedMessageTimestamp:

      从队列中收到的最后一条消息的时间戳。 请注意,此消息可能不适用于特定管道,例如,如果与消息关联的路径/前缀与管道定义中的路径/前缀不匹配。此外,自动摄取管道仅使用由创建的数据对象触发的消息。

      lastForwardedMessageTimestamp:

      最后一个“创建对象”事件消息的时间戳,带有被转发到管道的匹配路径/前缀。

      我认为它解释了为什么 lastReceivedMessageTimestamp 可能大于 lastForwardedMessageTimestamp。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-18
        相关资源
        最近更新 更多