Apache Druid数据加载规则以及冷热数据的配置

一.数据加载规则介绍(Load rules)

   在 apache druid 中,Coordinator 进程使用规则来确定应该将哪些数据加载到集群或从集群中删除。 规则用于数据保留和查询执行,并在协调器控制台( http://coordinator_ip:port 控制台)上设置。

        有三种类型的规则,即加载规则、删除规则和广播规则。

        加载规则指出应该如何将段分配给不同的历史进程层,以及每个层中应该有多少段的副本。 删除规则指示何时应该完全从集群中删除段。 最后,广播规则指出不同数据源的片段在历史过程中应该如何共存。

        加载规则指示一个段的副本在一个服务器层中应该存在多少个。 请注意: 如果 Load 规则仅用于保留某个时间间隔或时间段的数据,则必须附带一个删除规则。 如果不包含删除规则,则默认规则(loadForever)将保留不在指定间隔或周期内的数据。

-----------------以上是摘自 druid.apache.org官网上,对于数据加载规则的简单介绍的翻译。

二.首先需明确的是一下内容:

1.druid中常用的几种时间跨度表示方法:        

  • second:秒粒度 PT1S
  • minute:分钟粒度PT1M
  • hour:小时粒度PT1H
  • day:天粒度P1D
  • week:周粒度P1W
  • month:月粒度P1M
  • quarter: 一个季度粒度 P3M
  • year:年粒度 P1Y

以上是个数量为1的各粒度的表示方法;如1天,在druid中可以表示“P1D”;

三.直接演示

1.登录http://ip:8888/管理界面;(注意:本人的版本是Apache Druid 0.17.0)

2.打开DataSource;

3.双击DataSource对应的Retentionde列(后者点击)编辑规则(Edit retention rules),我的规则如下:

解释:规则1:只保留最近五个小时的数据,Replicants为1,说明这个数据我只保存一份,Tier我设置为“hot”,我是作为我的“热”数据,这里面的“hot”是我自己添加设置的;

           规则2:保留最近10个小时的数据,但上面“规则1”把前5个小时的数据放在得了“hot”中,这里最近10个小时已近去除了这个5个小时,换言之,就是规则2指的就是后5个小时;这里Replicants为1,也是这样的数据我只保存一份,Tier我设置为“_default_tier”就是“冷”数据了;

           规则3:除了规则1和格则2的数据,删除其余的数据;意思是我的Historical中只保留10个小时的数据,当然上面是我做测试配置的规则,实际根据自己的需求调整;需要注意的是,这里的删除,只是删掉了druid中本地缓存的数据,只是逻辑删除,Deep Storage中的数据并没有删掉,所以当你删除规则3的时候,数据又会加载回来,当然,上面的规则也需要做相应的调整;

 注意:1.以上的顺序,规则是从上往下依次执行的,要是把规则3放在第一个,那会删掉druid中的所有的数据;

            2.我本地的配置是,2个historicals,一个我设置为“hot”,一个没改配置,是默认的;“hot”的配置是(下图),不过一般的小集群,historicals节点太少的话,没必要这样设置;

vim /druid/conf/druid/cluster/data/historical/runtime.properties

            3.关于"includeFuture":记得要选,意思是包含未来,就是一直加载的当前时间的最近X个小时;

            4.怎么看上面的配置生效了那?

             (1)看size,配置后这个数据会有很明显的变化,而且我因为是配置的一份副本,所以Replicated和size是一样的;配置前后的“Num rows”也会有变现的变化的;

             (2)整个“curr size”也会有明显的变化;

  

            5.如果不配置上面规则的话,默认副本的数量是和集群中historicals的数量是一致的;

以上内容是本人结合官网内容,自己研究的,如有错误之处请包涵,欢迎一起来讨论学习。

参考网址:https://druid.apache.org/docs/0.17.0/tutorials/tutorial-retention.html#load-the-example-data

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值