edd*_*P23 5 apache-kafka apache-kafka-streams
我是Kafka Streams的新手,我一直在阅读有关如何设置Kafka Streams应用程序的文档.
我不清楚,数据是如何处理的 - 存储在内存中的内容以及存储在磁盘上的内容.我已经看到RocksDB在某处提到过,但在流文档中却没有.
我试图解决的问题如下.我有2个Kafka主题,这两个键值存储类型都保留了每个键的最旧值.在我的流应用程序中,我想要加入这两个主题并将连接输出回kafka,以后可以被某个接收器使用.我担心的是,不清楚联接的执行方式.这两个主题都有GB数据,因此不可能适合Streams App内存.
您可以将每个主题读取为 aKTable并执行表-表连接:
KTable table1 = builder.table("topic-1");
KTable table2 = builder.table("topic-2");
KTable joinResult = table1.join(table2, ...);
joinResult.to("output-topic");
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅: http://docs.confluence.io/current/streams/developer-guide.html#ktable-ktable-join 另请查看示例: https: //github.com/confluenceinc/examples/tree/ 3.3.0-post/kafka-streams
对于运行时,这两个主题都将在 RocksDB 状态存储中具体化。RocksDB 能够溢出到磁盘。另请注意,单个 RocksDB 实例仅需要保存单个输入分区的数据。比较http://docs.confluence.io/current/streams/architecture.html#parallelism-model
| 归档时间: |
|
| 查看次数: |
4679 次 |
| 最近记录: |