clickhouse 的hdfs表引擎和mysql表引擎

hdfs表引擎
1.模式一:使用hdfs表引擎读写hdfs上的数据,也就是说写入到表引擎的数据会直接写到hdfs对应的文件中,读取数据也是直接读取hdfs上的文件

create table hdfs_rw_tableA(id uint32, name String) engine=HDFS('hdfs://name.domain.com:port/clickhouse/hdfs_rw_tableA','CSV')

2.模式二:正常使用到hdfs数据时,我们一般都是以外挂表的形式来使用,也就是hdfs上的数据是由其他系统写入的,clickhouse只是读取hdfs文件的数据,然后进行加工处理

create table hdfs_tableA(id uint32, name String) engine=HDFS('hdfs://name.domain.com:port/clickhouse/tableA/data*.csv','CSV')

通过hdfs表引擎作为桥梁,我们就可以使用select * from hdfs_tableA读取hdfs文件上的数据

mysql表引擎

clickhouse的mysql表引擎可以和远端的mysql数据库表建立联系,这样如果远端的mysql表数据非常大的时候就可以利用clickhouse表引擎的olap能力进行数据查询,该过程步骤如下:
a. create table click_house_tableA (id int32, message string) engine = mysql(‘host’,‘port’,‘tableName’); 创建成功后就可以查询数据了,但是这里仅仅只是建立了一层代理,还没能利用到clickhouse自身的表引擎,所以需要进行第二步
b. 创建物化视图 create materialized view clickhouse_view_tableA(int int32, message string) engine=MergeTree() order by id AS select * from click_house_tableA , 这样物化视图clickhouse_view_tableA就可以被用来作为查询的表了,这样当通过mysql表引擎向远端mysql写入数据时,物化视图就可以同步数据了

缺点:mysql表引擎只是把数据插入的远端的mysql表,而不是从把远端的mysql表插入的数据同步过来.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值