clickhouse--JSON解析案例

JSON解析案例

clickhouse加载文件类型
json解析字符串函数

--建表
drop table if exists tb_ods_log;
create table tb_ods_log(line String)engine=Log();

--导入数据
clickhouse-client --port 9500 --password lekeBigdata -q 'insert into tb_ods_log format JSONAsString' <event.log
select * from tb_ods_log limit 1;
┌─line────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ 
{"account":"14d9TM","appId":"cn.doitedu.app1","appVersion":"2.0","carrier":"C"deviceId":"KV1ABkbMqqwn","deviceType":"REDMI-
5","eventId":"adClick","ip":"180.62.91.180","latitude":25.213352855705107,"longitude":100.58718180057615,"netType":"WIFI","osName":"android","osVersion":"6.5","properties":
{"adCampain":"7","adId":"6","adLocation":"3","pageId":"41"},"releaseChannel":""resolution":"1024*768","sessionId":"rGeXt8NOrD1","timeStamp":1602063058368}    
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

--解析account,deviceId,ip,sessionId,eventId,properties,timestamp
with 
visitParamExtractString(line,'account') as account,
visitParamExtractString(line,'deviceId') as deviceId,
visitParamExtractString(line,'ip') as ip,
visitParamExtractString(line,'sessionId') as sessionId,
visitParamExtractString(line,'eventId') as eventId,
visitParamExtractRaw(line,'properties') as properties,
visitParamExtractInt(line,'timestamp') as timestamp
select account,deviceId,ip,sessionId,eventId,properties,timestamp from tb_ods_log;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值