【发布时间】:2020-11-27 23:25:23
【问题描述】:
假设我有一个包含股票价格的流。每条记录由
代码
价格
例如
- AAPL,102.23
- FB,23.34
- AAPL,101.99
- AMZN,45.43
- ...
我需要获取 AAPL 的最后 60 条价格记录。我不想使用时间窗口 - 只是最近 60 条记录。
【问题讨论】:
-
我觉得ksql做不到,但是kafkacat可以
标签: apache-kafka ksqldb
假设我有一个包含股票价格的流。每条记录由
代码
价格
例如
我需要获取 AAPL 的最后 60 条价格记录。我不想使用时间窗口 - 只是最近 60 条记录。
【问题讨论】:
标签: apache-kafka ksqldb
您可以构建一个表格来跟踪每个代码的最近 60 个价格,使用类似的东西:
CREATE TABLE RECENT_PRICES AS
SELECT
tickerId,
LATEST_BY_OFFSET(price, 60) AS PRICES
FROM TICKS
GROUP BY tickerId;
PRICES 列将是一个 ARRAY<DECIMAL(?, ?)>,其中包含最新的 60 个价格。
注意:这是最新的偏移量,而不是时间戳。所以乱序数据可能会导致问题。
【讨论】: