赞
踩
1.ClickHouse简单部署
SSE 4.2
指令集,因此,系统必须支持SSE 4.2
指令集。SSE 4.2
指令集grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
结果为:
SSE 4.2 supported
因为本人较懒,所以直接使用rpm安装,如需要其他部署方式可参考博客
- sudo yum install yum-utils
- sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
- sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
1.2 安装
sudo yum install clickhouse-server clickhouse-client
至此clickhouse单节点部署完毕,参考博客:http://(6条消息) clickhouse-单节点部署_与数据交流的路上的博客-CSDN博客
2.ClickHouse简单使用
本文主要是外表的创建,如需了解更多的操作,请参考博客:http://clickhouse入门教程,基础命令 - 简书 (jianshu.com)
2.0启动clockhouse服务
systemctl staart clickhouse.server
2.1 登录客户端
clickhouse-client --host localhost --port 9000 --user default
host
: 指定ip,可省略使用默认值localhost,可缩写为h
port
: 指定端口号,可省略user
: 登录用户,省缺值为default,可缩写为u
multiline
: 允许终端执行多行命令,可缩写m
2.2 创建库
create database if not exists test;
2.3创建表
- create table if not exists test.t_order
- (
- id Int64 COMMENT '订单id',
- datetime DateTime COMMENT '订单日期',
- name String COMMENT '商品名称',
- price Decimal32(2) COMMENT '商品价格',
- user_id Int64 COMMENT '用户id'
- ) engine = MergeTree
- partition by toYYYYMM(datetime)
- order by id;
2.4 数据插入
insert into t_order values (1, '2021-03-09 21:42:00', '大力丸', 999.99, 202003090001)
3.在StarRocks中创建ClickHouse外部表
在StarRocks中创建ClickHouse外部表是以JDBC方式所以第一步,创建JDBC资源:
3.1 创建JDBC资源,语法为:
- create external resource resource_name
- properties (
- "type"="jdbc",
- "user"="default",
- "password"="",
- "jdbc_uri"="jdbc:clickhouse://host:ip/database_name",
- "driver_url"="https://repo1.maven.org/maven2/com/clickhouse/clickhouse-jdbc/0.3.2/clickhouse-jdbc-0.3.2-all.jar",
- "driver_class"="com.clickhouse.jdbc.ClickHouseDriver"
- );
其中
create external resource:为外部资源创建关键字
resource_name:JDBC资源名称
properties 参数设置
type:资源类型
user:ClickHouse用户名,本人使用的是Clickhouse部署完成后的默认用户,密码默认为空,如需要更换用户,需要根据你的自身的设置更换用户,设置相应的密码。
jdbc_uri:jdbc:clickhouse://host:port/database_name
host为你ClickHouse的ip地址,port为你的端口,使用官方驱动的端口默认为8123,使用tcp协议的第三方驱动的默认端口为9000,
本人使用的驱动时官方驱动:下载连接为:
https://repo1.maven.org/maven2/com/clickhouse/clickhouse-jdbc/0.3.2/clickhouse-jdbc-0.3.2-all.jar
driver_url:驱动类,官方给的默认为:com.clickhouse.jdbc.ClickHouseDriver
3.2 创建外部表:
- CREATE EXTERNAL TABLE `t_order_3` (
- `id` bigint(20) NULL COMMENT "",
- `dateTime` datetime NULL COMMENT "",
- `name` varchar(65533) NULL COMMENT "",
- `price` decimal128(38, 2) NULL COMMENT "",
- `user_id` bigint(20) NULL COMMENT ""
- ) ENGINE=JDBC
- COMMENT "JDBC"
- PROPERTIES (
- "resource" = "jdbc_ck2",
- "table" = "t_order"
- );
在创建外部表时,
1.注意字段类型的对应关系;
2.注意使用的resource名称;
3.注意对应的ClickHouse表名称。
创建成功后,可以查询一下,检查外部表是否创建成功。
第一次报错:
这是CK默认设置中不允许别的IP访问,需要修改/etc/clickhouse-server/users.xml
可参考博客:http://(12条消息) 关于Clickhouse拒绝远程连接报错的解决方式_Genebrother的博客-CSDN博客_clickhouse 连接被拒绝
本人第一次写博客,有错误请大佬在评论指出。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。