《clickhouse文档.docx》由会员分享,可在线阅读,更多相关《clickhouse文档.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Clickhouse 文档1 .安装1. sudo yum install yum-utils| 2. sudo rpm -import sudo yum-config-manager -add-repo s:/ 86_643. sudo yum install clickhouse-server clickhouse-client4. #启动服务端5. sudo service clickhouse-server start6. #启动客户端7. clickhouse-client.账户权限设置账户设置需要编辑/etc/clickhouse-server/user.xml文件,在该文件中设置
2、账户权限.user.xml可以设置用户,访问控制权限和配额Quotas.具 体 可 以 参 考 文 章: s:/blog. csdn. net/vkingnew/article/details/107308936 s:clickhouse, tech/docs/zh/operations/settings/settings-users/#access managementusersetting.2 .多节点安装Clickhouse分布式安装依赖与Zookeeper,在安装分布式之前需要先安装好Zookeeper.以三台机器安装为例.先在三台机器上安装好clickhouse.再修改 /etc/c
3、lickhouse-server/config.xml 文件.roothadoopl02 # vim /etc/clickhouse-server/config.xml:!- :l -!- 127.0.0.1 -roothadoopl03 # vim /etc/clickhouse-server/config.xml:!- :l -!- 127.0.0.1 -roothadoopl04 # vim /etc/clickhouse-server/config.xml:!- :l -!- 127.0.0.1 -在三台机器的etc目录下新建metrika.xml文件!-数据分片1 -K/weight
4、truebdata019000default123456/shardltruebdata039000default123456truebdata049000default123456bdata01218K/portbdata022181bdata03218K/port!-本节点副本名称(这里只配置单副本)0103bdata03:/O0. 01lz4/clickhouse compression4.数据类型1 .整型固定长度的整型,包括有符号整型或无符号整型。整型范围(-21:Int8- -128 : 127Intl6- -32768 : 32767Int32 - -2147483648 : 2
5、147483647Int64 - -9223372036854775808 : 9223372036854775807无符号整型范围(02口):UInt8 - 0 : 255UIntl6-0:65535UInt32 -10 : 42949672952 .浮点型Float32 - floatFloat64 - double建议尽可能以整数形式存储数据。例如,将固定精度的数字转换为整数值,如时间用毫 秒为单位表示,因为浮点型进行计算时可能引起四舍五入的误差。与标准SQL相比,ClickHouse支持以下类别的浮点数:Inf-正无穷:-Inf-负无穷:NaN-非数字:3 .布尔型没有单独的类型来存储
6、布尔值。可以使用Ulnt8类型,取值限制为0或1。4 .字符串1 ) String字符串可以任意长度的。它可以包含任意的字节集,包含空字节。2 ) FixedString(N)固定长度N的字符串,N必须是严格的正自然数。当服务端读取长度小于N的 字符串时候,通过在字符串末尾添加空字节来到达N字节长度。当服务端读取长度 大于N的字符串时候,将返回错误消息。5 .枚举类型括Enum8和Enum 16类型。Enum保存string- integer的对应关系。Enum8 用 String= Int8 对描述。Enum 16 用String、Inti6 对描述。6 .数组Array(T):由T类型元素
7、组成的数组。T可以是任意类型,包含数组类型。但不推荐使用多维数组,ClickHouse对多维数组 的支持有限。例如,不能在MergeTree表中存储多维数组。7 .元组Tuple(Tl,T2,):元组,其中每个元素都有单独的类型。8 . Date日期类型,用两个字节存储,表示从1970-01-01 (无符号)到当前的日期值。还有很多数据结构,可以参考官方文档: s:clickhouse.yandex/docs/zh/data types/.表引擎表引擎(即表的类型)决定了:1)数据的存储方式和位置,写到哪里以及从哪里读取数据2)支持哪些查询以及如何支持。3)并发数据访问。4)索引的使用(如果存
8、在)。5)是否可以执行多线程请求。6)数据复制参数。官方文档: s:clickhouse.yandex/docs/zh/operations/table engines/Tiny Log最简单的表引擎,用于将数据存储在磁盘上。每列都存储在单独的压缩文件中,写入时, 数据将附加到文件末尾。该引擎没有并发控制-如果同时从表中读取和写入数据,那么读取操作将抛出异常;-如果同时写入多个查询中的表,那么数据将被破坏。这种表引擎的典型用法是write-once:首先只写入一次数据,然后根据需要屡次读取。 此引擎适用于相对较小的表(建议最多1,000,000行)。如果有许多小表,那么使用此表引擎 是适合的,
9、因为它比需要翻开的文件更少。当拥有大量小表时,可能会导致性能低下。 不支持索引。1. Memory内存引擎,数据以未压缩的原始形式直接保存在内存当中,服务器重启数据就会消失。读写操作不会相互阻塞,不支持索引。简单查询下有非常非常高的性能表现(超过10G/s) o一般用到它的地方不多,除了用来测试,就是在需要非常高的性能,同时数据量又不太 大(上限大概1亿行)的场景。2. MergeMerge引擎(不要跟MergeTree引擎混淆)本身不存储数据,但可用于同时从任意多 个其他的表中读取数据。读是自动并行的,不支持写入。读取时,那些被真正读取到数据 的表的索引(如果有的话)会被使用。3. Merg
10、eTreeClickhouse中最强大的表引擎当属MergeTree (合并树)引擎及该系列(MergeTree) 中的其他引擎。MergeTree引擎系列的基本理念如下。当你有巨量数据要插入到表中,你要高效地一批 批写入数据片段,并希望这些数据片段在后台按照一定规那么合并。相比在插入时不断修改(重 写)数据进存储,这种策略会高效很多。4. ReplacingMergeTree这个引擎是在MergeTree的基础上,添加了 “处理重复数据”的功能,该引擎和 MergeTree的不同之处在于它会删除具有相同主键的重复项。数据的去重只会在合并的过程 中出现。合并会在未知的时间在后台进行,所以你无法
11、预先作出计划。有一些数据可能仍未 被处理。因此,ReplacingMergeTree适用于在后台清除重复的数据以节省空间,但是它不保 证没有重复的数据出现。5. SummingMergeTree该引擎继承自MergeTreeo区别在于,当合并SummingMergeTree表的数据片段时, ClickHouse会把所有具有相同主键的行合并为一行,该行包含了被合并的行中具有数值数 据类型的列的汇总值。如果主键的组合方式使得单个键值对应于大量的行,那么可以显著的减 少存储空间并加快数据查询的速度,对于不可加的列,会取一个最先出现的值。6. Distributed分布式引擎,本身不存储数据,但可以在多个服务器上进行分布式查询。读是自动并 行的。读取时,远程服务器表的索引(如果有的话)会被使用。Distributed(cluster_name, database, table , sharding_key)参数解析:cluster_name -服务器配置文件中的集群名,在/etc/metrika.xml中配置的database -数据库名table -表名sharding_key -数据分片键