clickhouse创建kafka引擎表

1 创建日志明细表

create table default.yinew_detail

(
account String , appId String , appVersion String , carrier String , deviceId String , deviceType String , 
eventId String ,
ip String ,
latitude Float64 ,
longitude Float64 , netType String , osName String , osVersion String , 
properties Map(String,String), 
releaseChannel String, resolution String, sessionId String, 
timeStamp Int64 , INDEX u (deviceId) TYPE minmax GRANULARITY 3, INDEX t (timeStamp) TYPE minmax GRANULARITY 3

) ENGINE = MergeTree()

ORDER BY (deviceId,timeStamp)
;

特别注意:clickhouse只在v21.1.2.15及之后版本支持Map类型,并且需要

set allow_experimental_map_type = 1;

2创建kafka引擎表

create table default.event_detail_kafka

(
account String , appId String , appVersion String , carrier String , deviceId String , deviceType String , eventId String ,
ip String ,
latitude Float64 ,
longitude Float64 , netType String , osName String , osVersion String , properties Map(String,String), releaseChannel String, resolution String, sessionId String, 
timeStamp Int64
) ENGINE = Kafka('linux01:9092,linux02:9092,linux03:9092','app_log','group1','JSONEachRow');

其中’linux01:9092,linux02:9092,linux03:9092’ 为kafka集群,'app_log’为kafka的topic,'group1’为消费者组,'JSONEachRow’为日志格式.

3创建物化视图,将kafka引擎表关联到日志明细表

create MATERIALIZED VIEW event_view TO yinew_detail

as
select

account , appId , appVersion , carrier , deviceId , deviceType , eventId ,
ip ,
latitude ,
longitude , netType , osName , osVersion , properties , releaseChannel , resolution , sessionId , 
timeStamp

from event_detail_kafka
;

4开启kafka生产者,往kafka写数据

在这里插入图片描述

5通过检查明细表数据量检验结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值