0

如何在 Kinesis Analytics SQL 查询中解析 Json。

我从 Kinesis Stream 接收到流数据,在列中我有 json 想要准备 Json 的一些元素

前任。在柱体中,我在 Json 下面

{"deviceStatus":"Active", "deviceId":"11111"}

我想从 json 中提取 deviceStatus,如下所示

CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "deviceStatus" VARCHAR(24));
CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
INSERT INTO "DESTINATION_SQL_STREAM" 
SELECT STREAM "body"."deviceStatus" FROM "SOURCE_SQL_STREAM_001";
4

1 回答 1

1

我已经生成了一个包含 2 列的模式 - deviceStatus - deviceId

我将每个 json 元素映射到每一列,如下面的文章所述。

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/sch-mapping.html#sch-mapping-json

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/about-json-path.html

并在 SQL 查询中使用它们,如下所示

 CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "deviceId" VARCHAR(16), "deviceStatus" VARCHAR(24));
 CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
 INSERT INTO "DESTINATION_SQL_STREAM" 
 SELECT STREAM "deviceId", "deviceStatus" FROM "SOURCE_SQL_STREAM_001";
于 2020-03-06T22:07:54.307 回答