列式数据库~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即可完成查询与分析, ...
随机推荐
- 两个序列求前k大和
---恢复内容开始--- 没有题目,没有题意,这是学长提过的一个技巧,给你两个排好序的序列,每次可以各从中取一个,求前k大的和, 一个优先队列,先将a序列中最大的那个和b序列所有元素相加存进队列中,每 ...
- 51nod1268(基础dfs)
解题思路:直接搜索找就行了,搜两边,一个是加入这个数字,一边是不加入这个数字 代码: #include<iostream>#include<algorithm>#define ...
- Nginx referer防盗链模块
L75 referer模块 ngx_http_referer_module 默认编译进nginx valid_referers 指令 Syntax: valid_referers none | blo ...
- mybatis 缓存(cache)的使用
许多应用程序,为了提高性能而增加缓存, 特别是从数据库中获取的数据. 在默认情况下,mybatis 的一级缓存是默认开启的.类似于hibernate, 所谓一级缓存,也就是基于同一个sqlsessio ...
- TensorFlow分布式计算机制解读:以数据并行为重
Tensorflow 是一个为数值计算(最常见的是训练神经网络)设计的流行开源库.在这个框架中,计算流程通过数据流程图(data flow graph)设计,这为更改操作结构与安置提供了很大灵活性.T ...
- 自学Python1.5-Centos内python2识别中文
自学Python之路 自学Python1.5-Centos内python2识别中文 方法一,python推荐使用utf-8编码方案 经验一:在开头声明: # -*- coding: utf-8 -*- ...
- 【CF960G】Bandit Blues(第一类斯特林数,FFT)
[CF960G]Bandit Blues(第一类斯特林数,FFT) 题面 洛谷 CF 求前缀最大值有\(a\)个,后缀最大值有\(b\)个的长度为\(n\)的排列个数. 题解 完完全全就是[FJOI] ...
- 服务器内存占用不断的增加 & 任务管理器(PF使用率)不断的增加:关注句柄数
最近一二个月以来,我发现服务器的内存占用正按着每天60M的速度增加. 一台windows 2003的服务器(2G内存),刚刚启起时占用内存:600M左右. 运行20天后,内存占用(PF使用):1.8G ...
- malloc创建三维数组
#include <stdio.h> #include <stdlib.h> #include <malloc.h> int main() { //f[0],f[] ...
- JS模块化开发(一)——seaJs
模块化开发要解决的问题: 1.冲突 比如:多人协作开发时,不同js库中的函数重名问题 可以用命名空间解决: var module={} module.a=1; module.b=function(){ ...