ksql: 创建 table 并根据时间戳过滤今天的数据
ksql: create table and filter today's data based on timestamp
我刚接触KSQL,只是想知道如何提取今天的数据进行聚合?假设我有以下架构的计数数据流:
Field | Type
-----------------------------
ROWTIME | BIGINT
ROWKEY | VARCHAR(STRING)
TS | BIGINT
COUNT | BIGINT
如何创建一个 table 来输出今天 COUNT
总和的快照,其中 TS
是使用 KSQL 的 UNIX 时间戳?
您可以使用 TIMESTAMPTOSTRING
udf 将 TS
值更改为您想要的日期格式,然后执行求和。这是一种方法:
CREATE STREAM mystream1 AS SELECT TIMESTAMPTOSTRING(TS, 'yyyy-MM-dd') AS TS, COUNT_VAL FROM mystream;
SELECT TS, sum(COUNT_VAL) FROM mystream1 GROUP BY TS;
您可能需要重命名流中的 COUNT
列,因为它是 KSQL 中的函数名称。如果您想在 window 上执行此操作,您还可以添加 WINDOW。
我刚接触KSQL,只是想知道如何提取今天的数据进行聚合?假设我有以下架构的计数数据流:
Field | Type
-----------------------------
ROWTIME | BIGINT
ROWKEY | VARCHAR(STRING)
TS | BIGINT
COUNT | BIGINT
如何创建一个 table 来输出今天 COUNT
总和的快照,其中 TS
是使用 KSQL 的 UNIX 时间戳?
您可以使用 TIMESTAMPTOSTRING
udf 将 TS
值更改为您想要的日期格式,然后执行求和。这是一种方法:
CREATE STREAM mystream1 AS SELECT TIMESTAMPTOSTRING(TS, 'yyyy-MM-dd') AS TS, COUNT_VAL FROM mystream;
SELECT TS, sum(COUNT_VAL) FROM mystream1 GROUP BY TS;
您可能需要重命名流中的 COUNT
列,因为它是 KSQL 中的函数名称。如果您想在 window 上执行此操作,您还可以添加 WINDOW。