clickhouse 六(使用mysql表引擎)

2021-10-24 23:03:21 字數 1887 閱讀 2407

官網描述:mysql引擎用於將遠端的mysql伺服器中的表對映到clickhouse中,並允許您對錶進行insert和select查詢,以方便您在clickhouse與mysql之間進行資料交換。

mysql資料庫引擎會將對其的查詢轉換為mysql語法併發送到mysql伺服器中,因此您可以執行諸如show tables或show create table之類的操作。

clickhouse使用mysql引擎可以與mysql資料庫中的資料表建⽴對映,並通過sql向其發起遠端查詢或插入資料,這是乙個非同步的過程,相當於ck起了乙個執行緒專門用於同步mysql的資料到ck,我們公司的應用主要在於同步mysql配置表的資訊,因為配置表常有修改的需求,而ck並不擅長修改記錄,且配置表的記錄往往在幾百條,配置表的同步往往是實時的

引擎定義:

create table [if not exists]

[db.]table_name [on cluster cluster]

( name1 [type1]

[default|materialized|alias expr1]

[ttl expr1],

name2 [type2]

[default|materialized|alias expr2]

[ttl expr2],

...) engine = mysql(

'host:port', 'database', 'table', 'user',

'password'

[, replace_query, 'on_duplicate_clause'])

;

引數含義:

database表示資料庫的名稱。

table表示需要對映的表名稱。

user表示mysql的⽤戶名。

password表示mysql的密碼。

replace_query預設為0,對應mysql的replace into語法。如果將它設定為1,則會⽤replace into代替insert into。

on_duplicate_clause預設為0,對應mysql的on duplicate key語法。如果需要使⽤該設定,則必須將replace_query設定成0。

建立一張mysql測試表:

create table `mysql_engine` (`

id`int(10) not null auto_increment,

`user_name`

varchar(255) character set utf8 default null,

`createdate`

datetime(6) default null on update current_timestamp(6),

primary key (`id

`) using btree

) engine=innodb auto_increment=1000 default charset=utf8 row_format=dynamic comment=

'測試表'

;

建立clickhouse表,並指定引擎為mysql:

create table mysql_engine

(id int32,

name string,

createdate datetime

) engine = mysql(

'127.0.0.1:3306', 'demo', 'mysql_engine', 'root', '123456'

);

即可完成建立

clickhouse的使用教程

在檔案末尾新增 soft nofile 65536 hard nofile 65536 soft nproc 131072 hard nproc 131072 安裝依賴檔案 示例clickhouse client q show databases clickhouse client d system...

click house函式的使用

格式 hdfs url,format,struct select toint32ornull id name jobfrom hdfs hdfs linux01 8020 doit18 user2.csv csv id string name string,job string 格式 file pa...

clickhouse簡單使用 函式整理

一 ddl 如果想按集群操作,需要借助zookeeper,在config.xml中新增配置 clickhouse task queue ddl 乙個節點建立表,會同步到各個節點 create table db.table on cluster cluster 新增 刪除 修改列 alter tabl...