理论上,假设有一个源偶尔发出浮点值。此外,在任何给定点,都有一个乘数M,应应用于该源的值;但是M可以改变,而且关键的是,我可能只会在很久以后发现变化——甚至可能不会“按变化顺序”
"Values": (timestamp, floating point value) - the values from the source, tagged with their emission time.
"Multipliers": (timestamp, floating point multiplier) - indicates M changed to this floating point multiplier at this timestamp.
然后,我会尝试使用标准流处理框架创建一个输出主题,比如“结果”,该主题将两个流连接起来,并且仅将值中的每个值与由乘数确定的当前乘数相乘。
使用kafka和主流处理器实现/构建这一点的一些技术是什么?
例子:
开始
Values = [(1, 2.4), (2, 3.6), (3, 1.0), (5, 2.2)]
Multipliers = [(1, 1.0)]
Results = [(1, 2.4), (2, 3.6), (3, 1.0), (5, 2.2)]
Values = [(1, 2.4), (2, 3.6), (3, 1.0), (5, 2.2)]
Multipliers = [(1, 1.0), (4, 2.0)]
Results = [(1, 2.4), (2, 3.6), (3, 1.0), (5, 4.4)]
Values = [(1, 2.4), (2, 3.6), (3, 1.0), (5, 2.2), (7, 5.0)]
Multipliers = [(1, 1.0), (4, 2.0), (2, 3.0)]
Results = [(1, 2.4), (2, 10.8), (3, 3.0), (5, 4.4), (7, 10.0)]