栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Kafka JSON格式转换

Kafka JSON格式转换

源数据格式:
{
 	"funcName": "test",
 	"data": {
  		"snapshots": [{
  			"content_type": "application/x-gzip-compressed-jpeg",
   			"url": "https://blog.csdn.net/xianpanjia4616"
  			 }],
 	 "audio": [{
   			"content_type": "audio/wav",
   			"url": " https://bss.csdn.net/m/topic/blog_star2020/detail?username=xianpanjia4616"
	 	 	}]
 		},
	"resultMap": {
  		"result": {
  			"cover": "/data/test/log.txt"
    		},
  		"isSuccess": true
 		},
 	"meta": {
  		"video_type": "normal"
 	},
 	"type": 2,
 	"timestamp": 1610549997263,
 	"arr": [{
  		"address": "北京市海淀区",
  		"city": "beijing"
 		}, {
  		"address": "北京市海淀区",
  		"city": "beijing"
 		}, {
  		"address": "北京市海淀区",
 	 	"city": "beijing"
 		}],
 	"map": {
  		"flink": 456
 		},
 	"doublemap": {
  		"inner_map": {
   			"key": 123
  			}
 		}
}
DDL:
CREATE TABLE kafka_source (
    funcName STRING,
    data ROW>,audio ARRAY>>,
    resultMap ROW<`result` MAP,isSuccess BOOLEAN>,
    meta  MAP,
    `type` INT,
    `timestamp` BIGINT,
    arr ARRAY>,
    map MAP,
    doublemap MAP>,
    proctime as PROCTIME()
) WITH ()
解析
select
funcName,
doublemap['inner_map']['key'],
count(data.snapshots[1].url),
`type`,
TUMBLE_START(proctime, INTERVAL '30' second) as t_start
from kafka_source
group by TUMBLE(proctime, INTERVAL '30' second),funcName,`type`,doublemap['inner_map']['key']
注意事项:

1.Json 中的每个 {} 都需要用 Row 类型来表示
2.Json 中的每个 [] 都需要用 Arrary 类型来表示
3.数组的下标是从 1 开始的不是 0 如上面 SQL 中的 data.snapshots[1].url
4.关键字在任何地方都需要加反引号 如上面 SQL 中的 type

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号