clickhouse创建单机表,本地表,分布式表,集群表

1.创建单机表:

单机环境下建单机表:

CREATE TABLE database.order
(
`Type` String COMMENT '数据类型',
`Subtype` String COMMENT '子类',
`Successflag` String COMMENT '0-失败;2-成功',
`Client` String COMMENT 'andriod/IOS',
`Version` String COMMENT '版本信息',
`Macid` String COMMENT 'macid',
`Ip` String COMMENT 'IPV6地址',
`Pin` String COMMENT 'PIN',
`Time` String COMMENT '时间',
`Origindata` String COMMENT 'Origindata',
`Succflag` String COMMENT 'T/F',
`LowerCaseClient` String COMMENT '客户端类型:小写',
`FormatTime` String COMMENT '时间',
`OccurTime` String COMMENT '发生时间',
`IndexTime` String COMMENT '检索时间',
`IpType` String COMMENT 'IPV4/IPV6',
`Code` Int64 COMMENT 'CODE信息',
`Message` String COMMENT 'message',
`Region` String COMMENT '区域信息',
`Province` String COMMENT '省份',
`City` String COMMENT '城市名字',
`District` String COMMENT '区',
`Provinceid` String COMMENT '省会编号',
`Cityid` String COMMENT '城市编号',
`Districtid` String COMMENT '区编号',
`Operators` String COMMENT '操作人',
`Orderdate` Date COMMENT '订单日期',
`OrderTime` DateTime COMMENT '订单时间',
`CreateTime` DateTime DEFAULT now() COMMENT '创建时间'
)
ENGINE = MergeTree()
PARTITION BY toYYYYMMDD(Orderdate)
ORDER BY (Type, Subtype, Successflag, Province, Operators)

2.建本地表+集群表

集群表一般是要和本地表和分布式表一起使用,集群表指clickhouse搭建了集群环境,非单机环境。

CREATE TABLE database.order_local on cluster cluster01
(
`Type` String COMMENT '数据类型',
`Subtype` String COMMENT '子类',
`Successflag` String COMMENT '0-失败;2-成功',
`Client` String COMMENT 'andriod/IOS',
`Version` String COMMENT '版本信息',
`Macid` String COMMENT 'macid',
`Ip` String COMMENT 'IPV6地址',
`Pin` String COMMENT 'PIN',
`Time` String COMMENT '时间',
`Origindata` String COMMENT 'Origindata',
`Succflag` String COMMENT 'T/F',
`LowerCaseClient` String COMMENT '客户端类型:小写',
`FormatTime` String COMMENT '时间',
`OccurTime` String COMMENT '发生时间',
`IndexTime` String COMMENT '检索时间',
`IpType` String COMMENT 'IPV4/IPV6',
`Code` Int64 COMMENT 'CODE信息',
`Message` String COMMENT 'message',
`Region` String COMMENT '区域信息',
`Province` String COMMENT '省份',
`City` String COMMENT '城市名字',
`District` String COMMENT '区',
`Provinceid` String COMMENT '省会编号',
`Cityid` String COMMENT '城市编号',
`Districtid` String COMMENT '区编号',
`Operators` String COMMENT '操作人',
`Orderdate` Date COMMENT '订单日期',
`OrderTime` DateTime COMMENT '订单时间',
`CreateTime` DateTime DEFAULT now() COMMENT '创建时间'
)
ENGINE = MergeTree()
PARTITION BY toYYYYMMDD(Orderdate)
ORDER BY (Type, Subtype, Successflag, Province, Operators)

3.建分布式表

CREATE TABLE database.order on cluster cluster01
(
`Type` String COMMENT '数据类型',
`Subtype` String COMMENT '子类',
`Successflag` String COMMENT '0-失败;2-成功',
`Client` String COMMENT 'andriod/IOS',
`Version` String COMMENT '版本信息',
`Macid` String COMMENT 'macid',
`Ip` String COMMENT 'IPV6地址',
`Pin` String COMMENT 'PIN',
`Time` String COMMENT '时间',
`Origindata` String COMMENT 'Origindata',
`Succflag` String COMMENT 'T/F',
`LowerCaseClient` String COMMENT '客户端类型:小写',
`FormatTime` String COMMENT '时间',
`OccurTime` String COMMENT '发生时间',
`IndexTime` String COMMENT '检索时间',
`IpType` String COMMENT 'IPV4/IPV6',
`Code` Int64 COMMENT 'CODE信息',
`Message` String COMMENT 'message',
`Region` String COMMENT '区域信息',
`Province` String COMMENT '省份',
`City` String COMMENT '城市名字',
`District` String COMMENT '区',
`Provinceid` String COMMENT '省会编号',
`Cityid` String COMMENT '城市编号',
`Districtid` String COMMENT '区编号',
`Operators` String COMMENT '操作人',
`Orderdate` Date COMMENT '订单日期',
`OrderTime` DateTime COMMENT '订单时间',
`CreateTime` DateTime DEFAULT now() COMMENT '创建时间'
)
ENGINE = Distrubute(cluster01,database,order_local,rand())
PARTITION BY toYYYYMMDD(Orderdate)
ORDER BY (Type, Subtype, Successflag, Province, Operators)

其中,以上 Distrubute引擎的参数解释如下:
cluster01:集群名称,要根据搭建ck集群的环境配置给出;
database:库名;
order_local:本地表名;
rand():随机函数,表示随机的请求ck所在服务器的机器,做到随机轮询。

4.建集群表

集群表一定要有集群环境,查询集群名称,使用on cluster 关键字就可以在每台服务器上创建了。

on cluster cluster01

猜你喜欢

转载自blog.csdn.net/m0_37899908/article/details/121435965