ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析

GraphiteMergeTree该引擎用来对Graphite数据(图数据)进行瘦身及汇总。对于想使用ClickHouse来存储Graphite数据的开发者来说可能有用。

如果不需要对Graphite数据做汇总,那么可以使用任意的ClickHouse表引擎;但若需要,那就采用GraphiteMergeTree引擎。它能减少存储空间,同时能提高Graphite数据的查询效率。

该引擎继承自MergeTree.

创建表

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(Path String,Time DateTime,Value <Numeric_type>,Version <Numeric_type>...
) ENGINE = GraphiteMergeTree(config_section)
[PARTITION BY expr]
[ORDER BY expr]
[SAMPLE BY expr]
[SETTINGS name=value, ...]

含有Graphite数据集的表应该包含以下的数据列:

  • 指标名称(Graphite sensor),数据类型:String
  • 指标的时间度量,数据类型:DateTime
  • 指标的值,数据类型:任意数值类型
  • 指标的版本号,数据类型:任意数值类型

ClickHouse以最大的版本号保存行记录,若版本号相同,保留最后写入的数据。

以上列必须设置在汇总参数配置中。

GraphiteMergeTree参数

  • config_section - 配置文件中标识汇总规则的节点名称

建表语句

在创建GraphiteMergeTree表时,需要采用和clauses相同的语句,就像创建MergeTree一样。

汇总配置的参数

汇总的配置参数由服务器配置的graphite_rollup参数定义。参数名称可以是任意的。允许为多个不同表创建多组配置并使用。

汇总配置的结构如下: 所需的列模式Patterns

所需的列

  • path_column_name — 保存指标名称的列名 (Graphite sensor). 默认值: Path.
  • time_column_name — 保存指标时间度量的列名. Default value: Time.
  • value_column_name — The name of the column storing the value of the metric at the time set * in time_column_name.默认值: Value.
  • version_column_name - 保存指标的版本号列. 默认值: Timestamp.

模式Patterns

patterns 的结构:

patternregexpfunction
patternregexpage + precision...
patternregexpfunctionage + precision...
pattern...
defaultfunctionage + precision...

!!! 注意 “Attention” 模式必须严格按顺序配置:

  1. 不含’function’ or 'retention’的Patterns
  2. 同时含有’function’ and 'retention’的Patterns
  3. 'default’的Patterns.

ClickHouse在处理行记录时,会检查pattern节点的规则。每个pattern(含default)节点可以包含function用于聚合操作,或retention参数,或者两者都有。如果指标名称和regexp相匹配,相应pattern的规则会生效;否则,使用default节点的规则。

pattern和default节点的字段设置:

  • regexp– 指标名的pattern.
  • age – 数据的最小存活时间(按秒算).
  • precision– 按秒来衡量数据存活时间时的精确程度. 必须能被86400整除 (一天的秒数).
  • function – 对于存活时间在 [age, age + precision]之内的数据,需要使用的聚合函数

配置示例

<graphite_rollup><version_column_name>Version</version_column_name><pattern><regexp>click_cost</regexp><function>any</function><retention><age>0</age><precision>5</precision></retention><retention><age>86400</age><precision>60</precision></retention></pattern><default><function>max</function><retention><age>0</age><precision>60</precision></retention><retention><age>3600</age><precision>300</precision></retention><retention><age>86400</age><precision>3600</precision></retention></default>
</graphite_rollup>

资料分享

ClickHouse经典中文文档分享

参考文章

  • ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
  • ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
  • ClickHouse(03)ClickHouse怎么安装和部署
  • ClickHouse(04)如何搭建ClickHouse集群
  • ClickHouse(05)ClickHouse数据类型详解
  • ClickHouse(06)ClickHouse建表语句DDL详细解析
  • ClickHouse(07)ClickHouse数据库引擎解析
  • ClickHouse(08)ClickHouse表引擎概况
  • ClickHouse(09)ClickHouse合并树MergeTree家族表引擎之MergeTree详细解析
  • ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析
  • ClickHouse(11)ClickHouse合并树MergeTree家族表引擎之SummingMergeTree详细解析
  • ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析
  • ClickHouse(13)ClickHouse合并树MergeTree家族表引擎之CollapsingMergeTree详细解析
  • ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验室没人导该怎么办

实验室没人教该怎么办 Q: 国内top5高校研一,课题开始老板就给了一个大方向,之后怎么做实验都是自己看文献研究的,终于开始动手做实验,才发现别人根本不想管你,宁愿抱着电脑看剧也不想教你,十分焦虑,该怎么办? A: 按照大多数实验室的惯例,老板一定会指派一个小老板…

电子学会Python二级知识点(自己整理)

序列 Python的变量不需要声明&#xff0c;每个变量在使用之前必须赋值&#xff0c;变量被赋值以后&#xff0c;该变量才会被创建。常见的6个数据类型&#xff1a;数字(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Set)、字典(Dictionary)。6中数据类型分为两大类…

解决键盘长按才有反应

问题分析&#xff1a; 排除键盘自身没有问题&#xff0c;那就应该是电脑设置的问题&#xff0c;目前我遇到的不小心长按shift键设置了【筛选键】 解决方式&#xff1a; 打开设置搜索筛选建&#xff0c;关闭&#xff0c;粘带键也会出现类似问题。

HCQ1-1300-D【故障笔记】

常用查错网址&#xff1a; SMC_ERROR (ENUM) 34&#xff1a;【实轴从正常状态转到错误状态】FB放错线程&#xff0c;&#xff08;要放ecat线程内&#xff09;&#xff0c;比如 MC_Jog 36&#xff1a; 删除 Web 小于4.9 可使用4.6

acwing算法基础之基础算法--归并排序

目录 1 知识点2 代码模板 1 知识点 归并排序算法步骤&#xff1a; step1&#xff1a;确定分界点&#xff0c;比如mid (left right) / 2。 step2&#xff1a;递归排序分界点左边部分、分界点右边部分。 step3&#xff1a;归并。将有序的左边序列和有序的右边序列&#xff0c;…

港联证券:为什么股票不能买跌?

股票商场是一个布满变数和风险的商场&#xff0c;出资者经常会遇到这样一个问题&#xff1a;为什么股票不能买跌&#xff1f;在商场中&#xff0c;有许多的股票价格不断地走低&#xff0c;为什么不能趁低买入呢&#xff1f;这一问题的答案并不简略&#xff0c;需要从多个角度去…

习题6-3 使用函数输出指定范围内的完数 (20分)

本题要求实现一个计算整数因子和的简单函数&#xff0c;并利用其实现另一个函数&#xff0c;输出两正整数m和n&#xff08;0<m≤n≤10000&#xff09;之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如&#xff1a;6123&#xff0c;其中1、2、3为6的因子。…

使用EasyExcel后端导出excel

官方文档&#xff1a;关于Easyexcel | Easy Excel 这里进行简单记录&#xff0c;方便确定是不是适用此方式&#xff1a; 零&#xff1a;实体类中注解用法 一&#xff1a;读excel /*** 强制读取第三个 这里不建议 index 和 name 同时用&#xff0c;要么一个对象只用index&…

WordPress主题DUX v8.2源码下载

新增产品分类左侧多级分类折叠显示 新增网站默认字体对 MiSans 和 HarmonyOS Sans 的支持 新增顶部左上角显示登录注册的模块开关&#xff0c;且支持原生登录方式 新增手机端导航菜单的关闭按钮 新增文章内容中标题二的强化展示 新增全站禁止复制、右键和选择的操作 新增文章内…

clickhouse MPPDB数据库 运维实用SQL总结IV

文章目录 1. 分布式ddl执行引起的故障1.1. 报错信息1.2.故障定位1.3.解决方案2. table_is_read_only的报错2.1. 报错信息2.2. 故障定位2.3. 解决方案clickhouse MPPDB数据库 运维实用SQL总结 clickhouse MPPDB数据库 运维实用SQL总结II clickhouse MPPDB数据库 运维实用SQL总结…

线性代数(七) 矩阵分析

前言 从性线变换我们得出&#xff0c;矩阵和函数是密不可分的。如何用函数的思维来分析矩阵。 矩阵的序列 通过这个定义我们就定义了矩阵序列的收敛性。 研究矩阵序列收敛性的常用方法&#xff0c;是用《常见向量范数和矩阵范数》来研究矩阵序列的极限。 长度是范数的一个特…

【JDK 8-集合框架进阶】6.1 parallelStream 并行流

一、parallelStream 并行流 1.1 串行 和 并行的区别 > 执行结果 二、问题 2.1 paralleStream 并行是否一定比 Stream 串行快? 2.2 是否可以都用并行&#xff1f; > 报错 三、实战 > 执行结果 四、总结 一、parallelStream 并行流 多线程并发处理&#xff…

鸿蒙是一个怎么样的操作系统,真的是安卓套壳吗?

从鸿蒙项目正式推出以来&#xff0c;就一直有各自声音&#xff0c;有看好的&#xff0c;认为鸿蒙的出现将会成为一个智能终端设备操作系统的框架和平台&#xff0c;促进万物互联产业的繁荣发展&#xff1b;也有的人在唱衰&#xff0c;觉得鸿蒙发展不起来&#xff0c;甚至认为鸿…

Nginx手动编译、安装超超详解

文章目录 一、为什么要手动编译Nginx二、下载Nginx1、官网2、下载至linux服务器3、源码目录分析4、编译安装5、安装目录 三、启动1、启动2、访问一下80端口 一、为什么要手动编译Nginx Nginx安装除了编译以外&#xff0c;我们还可以直接用操作系统上自带的工具比如说yum、apt-…

设计模式——访问者模式

访问者模式是什么&#xff1f; 表示一个作用于某对象结构中的各元素的操作&#xff0c;它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作 访问者模式解决什么问题&#xff1f; 男女在不同情境下表现的不同 abstract class Person {protected String action…

java框架-Spring-事务

配置 配置事务管理器方法&#xff1a; Beanpublic PlatformTransactionManager platformTransactionManager(){return new DataSourceTransactionManager();}原理

Vue模板语法(下)

文章目录 一、事件处理1.1 监听事件​1.2 事件修饰符1.3 按键修饰符​1.4 实例 二、表单综合案例三、自定义组件 一、事件处理 1.1 监听事件​ 我们可以使用 v-on 指令 (简写为 ) 来监听 DOM 事件&#xff0c;并在事件触发时执行对应的 JavaScript。用法&#xff1a;v-on:cli…

第一次作业题解

第一次作业题解 P5717 【深基3.习8】三角形分类 思路 考的是if()的使用,还要给三条边判断大小 判断优先级&#xff1a; 三角形&#xff1f;直角、钝角、锐角等腰等边 判断按题给顺序来 代码 #include <stdio.h> int main() {int a 0, b 0, c 0, x 0, y 0, z 0…

智慧公厕云管理平台:筑牢云上“城市公共厕所一张网”

在现代城市中&#xff0c;公共厕所是人们日常生活中不可或缺的一部分。然而&#xff0c;过去的公共厕所管理方式往往效率低下&#xff0c;维护困难&#xff0c;给市民带来了不便。为了解决这一问题&#xff0c;智慧公厕应运而生&#xff0c;赋予传统公共厕所智慧化的管理效能。…