Как разобрать Json в Kinesis Analytics SQL запрос - PullRequest
0 голосов
/ 05 марта 2020

Как разобрать Json в Kinesis Analytics SQL запрос.

У меня есть потоковые данные, полученные от Kinesis Stream, в столбце я json хотел подготовить некоторые элементы Json

Пример. В теле столбца у меня ниже Json

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

Я хочу извлечь deviceStatus из json, что-то вроде ниже

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";

1 Ответ

1 голос
/ 07 марта 2020

Я сгенерировал схему с 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";
...