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

2023-09-21 19:15:33

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 的结构:

pattern
    regexp
    function
pattern
    regexp
    age + precision
    ...
pattern
    regexp
    function
    age + precision
    ...
pattern
    ...
default
    function
    age + 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经典中文文档分享

参考文章

更多推荐

【2023年11月第四版教材】第14章《沟通管理》(第二部分)

第14章《沟通管理》(第二部分)4规划沟通管理4.1规划沟通管理4.2沟通技术4.3沟通模型4.4沟通方法★★★(22下案例)4.5人际关系与团队技能4.6沟通管理计划★★★(18下44)(13上论文)(22下案例)5管理沟通5.1管理沟通5.2沟通技能5.3人际关系与团队技能6监督沟通6.1监督沟通★★★6.2人际关

Tomcat架构设计及组件详解

继Tomcat配置详解(Tomcat配置server.xml详解)Tomcat配置详解(Tomcat配置server.xml详解)_tomcatxml配置https://blog.csdn.net/imwucx/article/details/132166738文章之后,深入的学习tomcat相关知识,对Tomcat的

自动驾驶中的决策规划

参考:【干货篇】轻舟智航:自动驾驶中的决策规划技术(附视频回放+PPT下载)-AIQ如图所示,各模块介绍定位模块主要负责解答的问题是“车现在在哪里”,是在道路上还是在路口,是在高架桥上还是在停车场里。感知模块则负责解答“车周围有什么”这个问题。预测模块,预测模块主要解答“周围的车现在想干什么”,比如前面的车要cutin

全流程HEC-RAS 1D/2D水动力与水环境模拟丨恒定流模型(1D/2D)、一维非恒定流、二维非恒定流模型、HEC-RAS水质模型

目录​专题一​水动力模型基础专题二恒定流模型(1D/2D)专题三一维非恒定流专题四二维非恒定流模型(一)专题五二维非恒定流模型(二)专题六HEC-RAS的水质模型专题七高级主题更多应用水动力与水环境模型的数值模拟是实现水资源规划、环境影响分析、防洪规划以及未来气候变化下预测和分析的主要手段。然而,一方面水动力和水环境模

3D点云目标检测:Centerformer训练waymo数据集

一、环境准备项目地址:centerformer1.0、基础环境python==3.8.0torch==1.9.1+cu111waymo-open-dataset-tf-2-6-0==1.4.9spconv==1.2.1其余按照requirement.txt里安装就行pipinstall-ihttps://pypi.tu

用微服务平台框架,实现高效的流程化办公!

想要实现流程化办公,可以用什么样的软件平台实现?随着市场竞争越来越激烈,很多企业会采用低代码技术平台实现高效管理企业的内部资源,从而减少很多繁琐工作和时间,实现提质增效的目的。流辰信息助力大家采用微服务平台框架低代码技术平台打破信息孤岛,创造高效办公。低代码的便捷性和灵活性就不言而喻了,它在企业的发展过程中扮演了非常重

K8S-存储卷,pv,pvc

pv,pvc一、emptyDir存储卷1.概述2.示例二、hostPath存储卷1.概述三、nfs共享存储卷1.在stor01节点上安装nfs,并配置nfs服务2.master节点操作3.在nfs服务器上创建index.html4.master节点操作四、PVC和PV1.概述2.PV和PVC之间的相互作用遵循的生命周期

Java高级: 反射

目录反射反射概述反射获取类的字节码反射获取类的构造器反射获取构造器的作用反射获取成员变量&使用反射获取成员方法反射获取成员方法的作用反射的应用案例接下来我们学习的反射、动态代理、注解等知识点,在以后开发中极少用到,这些技术都是以后学习框架、或者做框架的底层源码。讲这些技术的目的,是为了以后我们理解框架、或者自己开发框架

网络安全(黑客)自学

前言我是去年8月22日才正式学习网络安全的,因为在国营单位工作了4年,在广东一个月工资只有5000块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。而且国营单位的气氛是你干的多了,领导觉得你有野心,你干的不多,领导却觉得你这个人不错。我才24周岁,实在的受不了这种工作氛围,情绪已经压制了很多久,一

网络安全中的欺骗攻击与防御技术

在Internet上计算机之间相互进行的交流建立在两个前提之下:认证、信任。认证是网络上的计算机用于相互间进行识别的一种鉴别过程,经过认证的过程,获准相互交流的计算机之间就会建立起相互信任的关系。信任和认证具有逆反关系,即如果计算机之间存在高度的信任关系,则交流时就不会要求严格的认证。而反之,如果计算机之间没有很好的信

阿里云无影云电脑、VDI以及传统PC电脑有什么区别?

阿里云无影云电脑和传统电脑PC有什么区别?区别大了,无影云电脑是云端的桌面服务,传统PC是本地的硬件计算机,无影云电脑的数据是保存在云端,本地传统PC的数据是保存在本地客户端,阿里云百科分享阿里云无影云电脑和传统PC电脑的详细区别对比:目录无影云电脑和传统电脑区别对比阿里云无影云电脑无影云电脑和传统电脑区别对比阿里云无

热文推荐