clickhouse创建外部字典表
clickhouse创建外部字典表
本次使用mysql的数据,利用ck的Dictionary 引擎创建外部字典表
1.创建配置XML
将外部字典配置文件拷贝到每台集群服务器clickhouse的配置目录下:
/etc/clickhouse-server/下,和config.xml同级,配置如下:
以设备字典为例device_dictionary.xml
<dictionaries>
<dictionary>
<name>device</name>
<source>
<mysql>
<port>3306</port>
<user>root</user>
<password>12345</password>
<replica>
<host>193.123.33.10</host>
<priority>1</priority>
</replica>
<db>map</db>
<table>device</table>
</mysql>
</source>
<lifetime>
# 字典数据存活时间
<min>300</min>
<max>360</max>
</lifetime>
<layout>
<hashed />
</layout>
<structure>
<id>
<name>id</name>
</id>
<attribute>
<name>typeid</name>
<type>UInt8</type>
<null_value></null_value>
</attribute>
<attribute>
<name>arid</name>
<type>UInt64</type>
<null_value></null_value>
</attribute>
<attribute>
<name>remark</name>
<type>String</type>
<null_value></null_value>
</attribute>
</structure>
</dictionary>
</dictionaries>
2.建表语句
CREATE TABLE db.device_all on cluster comm_cluster ( id UInt64 COMMENT 设备id, typeid UInt8, areaid UInt64 COMMENT 设备地址id, remark String)ENGINE = Dictionary(device);
