立即更新到changelog的apachesamza flush表

chhkpiq4  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(401)

如果我在samza中为rocksdb表指定changelog backing。是否有配置来更新对变更日志的异步写入时间?我想缩短时间。我在配置引用中看不到任何内容。
我想要的场景是在桥接遗留jms连接之后从流写入changelog。这个遗留连接提供了部分更新,我想将部分更新合并到一个更完整的消息中,在samza流应用程序中构建这些消息的缓存,并将它们写在changelog中。
如果我使用配置为 stores.store-name.changelog 然后,它将写入changelog,并最终更改samzeapi表。但是对于我的需求来说不够快,所以我想配置传播到changelog的最大等待时间。
或者,使用 withSideInputs 每次引导我的表,然后使用 sendTo 更新速度会更快,我可以保持 LocalStore 读取和写入缓存,并始终将changelog作为黄金源。
我希望changelog写得也很快的原因是因为其他应用程序正在读取这个changelog。

zu0ti5jz

zu0ti5jz1#

是的,您可以在配置中配置它将更改提交到changelog的时间:

task.commit.ms

文件
当提交发生时,将刷新对存储的写入:

profileTable.put(message.key, message.value)

在这个提交毫秒配置之前,关于这个较大的输入量的一个注解似乎会导致到changelog主题的更改。同时也要注意不要放得太低,因为这样会大大降低整体的速度,同时增加交易量。
您还可以使用低级api来提交特定流任务taskcoordinator提供的提交api来手动提交。

相关问题