【发布时间】:2019-02-15 10:34:53
【问题描述】:
我有一个 kafka 主题,主题中的每条消息都有纬度/经度和事件时间戳。创建了一个引用主题的流,并希望使用 geo_distance 计算 2 点之间的距离。 例子
GpsDateTime lat lon
2016-11-30 22:38:36, 32.685757, -96.735942
2016-11-30 22:39:07, 32.687347, -96.732841
2016-11-30 22:39:37, 32.68805, -96.729726
我想在上面的流上创建一个新流并用距离丰富它。
GpsDateTime lat lon Distance
2016-11-30 22:38:36, 32.685757, -96.735942 0
2016-11-30 22:39:07, 32.687347, -96.732841 0.340
2016-11-30 22:39:37, 32.68805, -96.729726 0.302
是否可以使用 KSQL 达到预期的效果?或者如何在处理新消息时参考之前的消息?
【问题讨论】:
-
我知道你可以做时间窗口,所以如果事件在 30 秒前到来,你可以像这样将两条消息组合在一起,但我不确定你是否可以引用 KSQL 中的其他行,这可能需要 Kafka Streams
-
如何在 Kafka steaming 或 spark streaming 中实现?我们有方法/函数来引用上一行吗?
-
我也不是很熟悉,但是这两个工具都允许您在一个时间窗口内访问一批记录。如果您可以按到达时间的顺序单独迭代/索引这些元素,我不确定
标签: apache-kafka confluent-platform ksqldb