Google cloud dataflow 在处理主输入时,更新/刷新侧输入数据或传递一些可在转换中访问的附加数据集

Google cloud dataflow 在处理主输入时,更新/刷新侧输入数据或传递一些可在转换中访问的附加数据集,google-cloud-dataflow,Google Cloud Dataflow,我正在尝试创建一个流数据流管道。 我需要访问一些额外的数据来处理从pubsub接收到的主要输入。如果我使用端输入,那么在一段时间后(比如1天),我需要更新缓存的端输入数据。 或者是否有任何方法以列表或映射的形式将附加数据传递给转换,以便我可以使用第三方缓存管理器刷新此数据 谢谢。以下是一些可能性: 如果您可以将对侧输入的更改表示为无限制的PCollection更改(例如通过订阅更改通知主题),那么您应该能够将更新添加到作为侧输入查看的PCollection,只要您能够容忍陈旧数据。侧输入的更新和

我正在尝试创建一个流数据流管道。 我需要访问一些额外的数据来处理从pubsub接收到的主要输入。如果我使用端输入,那么在一段时间后(比如1天),我需要更新缓存的端输入数据。 或者是否有任何方法以列表或映射的形式将附加数据传递给转换,以便我可以使用第三方缓存管理器刷新此数据


谢谢。

以下是一些可能性:

  • 如果您可以将对侧输入的更改表示为无限制的
    PCollection
    更改(例如通过订阅更改通知主题),那么您应该能够将更新添加到作为侧输入查看的
    PCollection
    ,只要您能够容忍陈旧数据。侧输入的更新和缓存在更新时没有定义延迟,但肯定会少于一天

  • 如果您没有更改通知主题,您仍然可以编写自己的
    UnboundedSource
    ,该数据流将轮询更新。这可能有点复杂

  • 无界数据源
    类似,在apachebeam(孵化)中,在
    DoFn
    中有一项关于支持带有回调的计时器的积极工作,因此您可能希望遵循

  • 您还可以在传入的主输入数据上驱动自己的缓存


  • 根据其他细节,可能有其他方法。您可能需要考虑如何“等待”新值准备就绪。对于特定窗口,任何主输入都将等待侧输入具有该窗口的值。但是,一旦侧输入有一个值,就不再需要等待,只需要尽最大努力进行最终更新。

    您的意思是希望主输入暂停并等待侧输入更新吗?或者你的意思是,当没有收到输入时,你想向输入端发送新数据?谢谢你的评论,等等。。。我需要更新问题,以便更好地理解我的要求。