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