apache-kafka - 可以在 Kafka Streams 中进行自我加入吗?
问题描述
我们将 Kafka Streams 视为解决飞行中比较的一种方式。具体来说,我们有数据以每秒约 15,000 个事务的顺序到达 Kafka 主题,我们希望在记录滚动时对它们进行比较操作。记录非常宽(1900 列左右),但比较操作发生在极少数列(~10-20)上。我们的比较窗口大约是一分钟。
场景将是这样的:
- 消息 1 在 00 秒到达时带有 foo、bar、foobar、barfoo、12、34 的值
- 消息 2 在 05 秒到达时带有 foo、bat、barbat、batbar、12、57 的值
- 消息 3 在 10 秒时到达,其值为 foo、bay、barbat、baybat、14、19
- 消息 4 在 15 秒时到达 foo, bar, foobar, barfoo, 12, 50
- 消息 5 在 40 秒时到达,其值为 bar、bat、barbat、batbar、14、18
- 消息 6 在 59 秒时到达,其值为 foo、bar、foobar、barfoo、12、36
我们希望能够读取流,确定消息 1、4 和 6 都符合我们的比较标准,然后丢弃消息 1 和 6,同时保留消息 4。
我在 2016 年 11 月发现 Gouzhang Wang 的评论建议通过处理器 API 实现这一点。这仍然是当前最好的方法吗?
解决方案
推荐阅读
- css - 如何使用媒体查询使 div 根据屏幕的高度/宽度显示/消失?
- ios - 在启用“内容视图”的 UICollectionViewCell 中,顶部、底部、左侧和右侧的“添加新约束”被禁用(灰显)
- javascript - Google Apps Script Web App POST“简单请求”莫名其妙地失败了 CORS 预检
- flutter - 如何在同一数据上同时使用两个不同的包
- python - 在 Anaconda for Python 3.6 中执行命令时遇到问题
- mongoose - 连接到集群并切换到另一个数据库
- kotlin - Recycler View 和 DialogFragment 苦苦挣扎(Kotlin)
- javascript - 多维数组上的数组映射
- javascript - 使用 SHEETJS 将 Excel 数据转换为 JSON
- algorithm - 建立一个历史最高得分排行榜