列式数据库~clickhouse 数据同步使用
一 简介:进一步了解clickhouse
二 数据操
1 单机建表
create TABLE aaa
(
id UInt32,
uid UInt32,
amount Float64,
create_time Date
)
ENGINE = MergeTree//单机默认引擎
ORDER BY id
SETTINGS index_granularity = 8192
2 复制集群建表
CREATE TABLE image_label
(
label_id UInt32,
abel_name String,
insert_time Date
)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/01-01/image_label', 'IP', insert_time, (label_id, insert_time), 8192)//这里指定ZK信息+主键+稀松索引
3 同步数据
CREATE TABLE article_clientuser_sum
ENGINE = MergeTree ORDER BY id AS
SELECT *
FROM mysql('host:port', 'db', 'article_clientuser_sum', 'user',
'password')
4 总结
可以采用1和2的这种方式建立表,也可以采用3方式建立表要注意几点
1 clickhouse在方案3下会自动建立表结构,但是一定要加上order by 主键字段,这样会按照主键字段排序插入,是有序的
2 clickhouse在方案2下最好指定相应主键(主键名称,主键构成,稀松索引粒度)
3 INDEX_GRANULARITY一般情况下为8192,代表每隔多少行做一个标记
4
Date/int类型作为主键效果最好,尽量不要用string,在uuid作为主键的时候要选择日期,这样效率很高
5 clickhouse会自动识别并且兑换mysql的相关列,对于不能识别的列变化成string,但是这种列很少
三 数据类型
1 整型:JInt8,UInt16,UInt32,UInt64,Int8,Int16,Int32,Int64 释:(范围U开头-2^N/2~2^N-1;非U开头0~2^N-1)
2 精度类型:FLOAT32,FLOAT64
3 枚举类型:Enum8,Enum16 释:(Enum('hello'=1,'test'=-1),Enum是有符号的整型映射的,因此负数也是可以的)
4 字符串型:FixedString(N),String 释:(N是最大字节数)
5 时间类型:Date
6 数组类型:Array(T)
7元祖数:Tuple
8结构:Nested(name1 Type1,name2 Type2,...) 释:(类似一种map的结构)
补充:对于clickhouse不支持的类型会以string识别,针对blob,text等建议也用string代替
四 常见的数据操作
1 增加 insert into value
2 删除 alter table delete where truncate 包括简单条件和子查询都可以
3 更改 alter table 针对列和分区的操作
五 附录
1 http://www.clickhouse.com.cn/ clickhouse中文社区
2 DBeaver 可视化工具
3 https://tech.jikelab.com/labs-docs/zh-cn/docs/intro/quickstart.html JDP集群平台
列式数据库~clickhouse 数据同步使用的更多相关文章
- 列式数据库~clickhouse 场景以及安装
一 简介:列式数据库clickhouse的安装与基本操作二 基本介绍:ClickHouse来自俄罗斯,是一款列式数据库三 适用场景: 简单类型的大数据统计四 限制 1 不支持更新操作,不支持事 ...
- 数仓选型必列入考虑的OLAP列式数据库ClickHouse(上)
概述 定义 ClickHouse官网地址 https://clickhouse.com/ 最新版本22.4.5.9 ClickHouse官网文档地址 https://clickhouse.com/do ...
- 列式数据库~clickhouse 底层存储原理
简介:今天介绍列式数据库的一些基本原理 一 数据目录 Data目录 数据存储目录,数据按照part分成多个文件夹,每个文件夹下存储相应数据和对应的元信息文件 Metadata 表定义语句,存储所有表 ...
- 数仓选型必列入考虑的OLAP列式数据库ClickHouse(中)
实战 案例使用 背景 ELK作为老一代日志分析技术栈非常成熟,可以说是最为流行的大数据日志和搜索解决方案:主要设计组件及架构如下: 而新一代日志监控选型如ClickHouse.StarRocks特别是 ...
- 列式数据库~clickhouse日常管理
clickhouse日常管理一 变量相关 1 查看变量 system.setting相关表 2 设置变量 set variables= 请注意这里是session级别,如果想永久生 ...
- 列式数据库~clickhouse 副本集架构的搭建
clickhouse 搭建副本集 一 原理: 1 依赖ZK,ZK的基础上,ZK存储数据库元数据 2 使用复制表引擎创建复制表,包括ZK路径和副本名,相同ZK路径的表可以相互复制 3 复制表本身拥 ...
- 列式数据库~clickhouse问题汇总
一 简介:常见的clickhouse 问题汇总 二 问题系列 1 内存问题 Code: 241. DB::Exception: Received from localhost:9000, : ...
- Hbase与Oracle比较(列式数据库与行式数据库)
Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间. Hbase本质上只 ...
- Hadoop HBase概念学习系列之HBase里的列式数据库(十七)
列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取. 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析, ...
随机推荐
- 计算机cpu、寄存器、内存区别
1.寄存器是中央处理器内的组成部份.它跟CPU有关.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC). ...
- ceph S3客户端操作--s3cmd
S3 client 访问ceph rgw 安装: yum install s3cmd 验证安装是否成功: $s3cmd --version s3cmd version 1.5.2 #表示安装成功 在c ...
- Cookie 类
最近项目中用到cookie,所以就写了个cookie帮助类 public class CookHelper { HttpResponseBase Response = null; HttpReques ...
- 学习Spring Boot:(二十四)多数据源配置与使用
前言 随着业务量增大,可能有些业务不是放在同一个数据库中,所以系统有需求使用多个数据库完成业务需求,我们需要配置多个数据源,从而进行操作不同数据库中数据. 正文 JdbcTemplate 多数据源 配 ...
- synchronized的实现原理与应用
Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令. sync ...
- Java -- JDBC 学习--批量处理
批量处理JDBC语句提高处理速度 当需要成批插入或者更新记录时.可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理.通常情况下比单独提交处理更有效率JDBC的批量处理语句包 ...
- Service 启动Activity
1, 在BroadcastReceiver中启动Activity的问题 * * 如果在BroadcastReceiver的onReceive()方法中如下启动一个Activity * Inten ...
- Android开源框架Afinal第一篇——揭开圣女的面纱
Android开源框架Afinal第一篇——揭开圣女的面纱 分类: Android开源框架哪点事2013-09-02 14:25 260人阅读 评论(0) 收藏 举报 Afinal 这是Afinal在 ...
- 洛谷P2680 运输计划
大概就是二分+树上差分... 题意:给你树上m条路径,你要把一条边权变为0,使最长的路径最短. 最大的最小,看出二分(事实上我并没有看出来...) 然后二分k,对于所有大于k的边,树上差分求出最长公共 ...
- asp 读cookie 下划线 丢失
昨天有一个用户反应,登录后还是会显示:请登录后再使用. 我一查,原来有一个cookie设置后,无法正常读取. 整个情况是这样: 登录的时候,设置2个 cookie: user_name logon_t ...