一 简介:进一步了解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 数据同步使用的更多相关文章

  1. 列式数据库~clickhouse 场景以及安装

    一 简介:列式数据库clickhouse的安装与基本操作二 基本介绍:ClickHouse来自俄罗斯,是一款列式数据库三 适用场景: 简单类型的大数据统计四 限制     1 不支持更新操作,不支持事 ...

  2. 数仓选型必列入考虑的OLAP列式数据库ClickHouse(上)

    概述 定义 ClickHouse官网地址 https://clickhouse.com/ 最新版本22.4.5.9 ClickHouse官网文档地址 https://clickhouse.com/do ...

  3. 列式数据库~clickhouse 底层存储原理

    简介:今天介绍列式数据库的一些基本原理 一  数据目录 Data目录 数据存储目录,数据按照part分成多个文件夹,每个文件夹下存储相应数据和对应的元信息文件 Metadata 表定义语句,存储所有表 ...

  4. 数仓选型必列入考虑的OLAP列式数据库ClickHouse(中)

    实战 案例使用 背景 ELK作为老一代日志分析技术栈非常成熟,可以说是最为流行的大数据日志和搜索解决方案:主要设计组件及架构如下: 而新一代日志监控选型如ClickHouse.StarRocks特别是 ...

  5. 列式数据库~clickhouse日常管理

    clickhouse日常管理一 变量相关  1 查看变量     system.setting相关表  2 设置变量     set variables= 请注意这里是session级别,如果想永久生 ...

  6. 列式数据库~clickhouse 副本集架构的搭建

    clickhouse 搭建副本集 一 原理:  1 依赖ZK,ZK的基础上,ZK存储数据库元数据 2  使用复制表引擎创建复制表,包括ZK路径和副本名,相同ZK路径的表可以相互复制 3  复制表本身拥 ...

  7. 列式数据库~clickhouse问题汇总

    一 简介:常见的clickhouse 问题汇总 二 问题系列  1 内存问题     Code: 241. DB::Exception: Received from localhost:9000, : ...

  8. Hbase与Oracle比较(列式数据库与行式数据库)

    Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间.   Hbase本质上只 ...

  9. Hadoop HBase概念学习系列之HBase里的列式数据库(十七)

    列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取. 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析, ...

随机推荐

  1. 转 PV、TPS、QPS 计算方法

    PV.TPS.QPS是怎么计算出来的?   QPS = req/sec = 请求数/秒 [QPS计算PV和机器的方式] QPS统计方式 [一般使用 http_load 进行统计]QPS = 总请求数 ...

  2. Centos7 Journald 指令

    Journald是为Linux服务器打造的新系统日志方式,它标志着文本日志文件的终结.现在日志信息写入到二进制文件,使用journalctl阅读,要获得这些信息,Linux管理员将需要一些实践. Re ...

  3. Apache虚拟主机

    基本概述 虚拟Web主机 在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机 httpd支持的虚拟主机类型 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 ...

  4. docker--compose--sonarqube

    Create this docker-compose.yml file: version: "2" services: sonarqube: image: sonarqube po ...

  5. Django-website 程序案例系列-11 验证装饰器

    FBV装饰器: def auth(func): #装饰器函数 def inner(request, *args, **kwargs): v = request.COOKIES.get('usernam ...

  6. PHP 判断浏览器语言

    详情请参看代码 作用:判断当前的浏览器语言.接收传入参数.拼接字符串 <?php $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); if ...

  7. [hgoi#2019/3/10]赛后总结

    关于本次hg模拟赛,题目来源于CF1110. t1-无意义运算符(meaning) 题目描述 最大公约数和位运算之间有共同点吗?是时候来研究一下了. 给定一个正整数a,请找到一个闭区间[1,a-1] ...

  8. cf860E Arkady and A Nobody-men (树剖)

    容易得出,如果我们按照深度一层一层地做,做完一层后,这层某个点的答案就是它的祖先们的子树大小(统计大小时不包括树根) 由于我太菜了不会别的方法,虽然N是5e5的,还是只好用一个树剖(树状数组降常数)水 ...

  9. JS循环语句!

    <1> for(1.初始值(初始值只有一次):2.判断条件:4.状态改变){ 3.执行语句: //如果判断条件为true,则进入死循环:不设执行语句浏览器会未响应: } <2> ...

  10. 发送邮件时Unable to relay错误的解决方法 转

    使用python的smtplib发送邮件,使用新浪的smtp服务,在本地测试正常.但把程序部署到服务器后,却连不上新浪的smtp服务器,可以ping通,但telnet 25端口失败,导致程序无法正常运 ...