【发布时间】:2019-05-09 17:01:13
【问题描述】:
我创建了一个主流,其值为数组。我会得到一个数组字段并将其流式传输到 ne ksql 流。
首先我创建了主流:
CREATE STREAM runtime_master_stream
(timestamp BIGINT,
opcuaObject VARCHAR,
value array<DOUBLE>)
WITH (KAFKA_TOPIC='runtime_master', VALUE_FORMAT='JSON');
输出是:
{"ROWTIME":1557317077577,"ROWKEY":"\u0000\u0000\u0001j�T�I","timestamp":1557317069589,"opcuaObject":"DatBetrZ.BetrZStdOM","value":[19.737154,512.0,320.18024,423.87027,399.99384,292.1198,450.821]}
然后我创建一个新的流来获取数组字段:
CREATE STREAM runtime_std_om_all_knife_stream
WITH (TIMESTAMP='timestamp',
PARTITIONS=4,
VALUE_FORMAT='JSON') AS
SELECT
timestamp,
opcuaObject,
value[0] AS knife1,
value[1] AS knife02,
value[2] AS knife03,
value[3] AS knife04,
value[4] AS knife05,
value[5] AS knife05,
value[6] AS knife06
FROM RUNTIME_MASTER_STREAM
WHERE opcuaObject ='DatBetrZ.BetrZStdOM';
输出:
{"ROWTIME":1557317170312,"ROWKEY":"\u0000\u0000\u0001j�V4�","TIMESTAMP":1557317162337,"OPCUAOBJECT":"DatBetrZ.BetrZStdOM","KNIFE1":19.737154,"KNIFE02":512.0,"KNIFE03":320.18024,"KNIFE04":42
3.87027,"KNIFE05":400.02216,"KNIFE06":292.1198,}
我需要的是一个 ksql 流中的这个输出示例:
{"ROWTIME":1557317170312,"ROWKEY":"\u0000\u0000\u0001j�V4�","TIMESTAMP":1557317162337,"OPCUAOBJECT":"Knife1","VALUE":19.737154}
{"ROWTIME":1557317170313,"ROWKEY":"\u0000\u0000\u0001j�V4�","TIMESTAMP":1557317162337,"OPCUAOBJECT":"Knife02","VALUE":19.737154}
{"ROWTIME":1557317170312,"ROWKEY":"\u0000\u0000\u0001j�V4�","TIMESTAMP":1557317162337,"OPCUAOBJECT":"Knife03","VALUE":19.737154}
{"ROWTIME":1557317170313,"ROWKEY":"\u0000\u0000\u0001j�V4�","TIMESTAMP":1557317162337,"OPCUAOBJECT":"Knife04","VALUE":19.737154}
{"ROWTIME":1557317170312,"ROWKEY":"\u0000\u0000\u0001j�V4�","TIMESTAMP":1557317162337,"OPCUAOBJECT":"Knife05","VALUE":19.737154}
{"ROWTIME":1557317170313,"ROWKEY":"\u0000\u0000\u0001j�V4�","TIMESTAMP":1557317162337,"OPCUAOBJECT":"Knife06","VALUE":39.737154}
知道如何在 kafka ksql 中使用一个流获取此输出吗?
【问题讨论】:
标签: ksqldb