05 数据压缩

压缩可显着提高查询性能。 在加载数据期间,几个CarbonData文件会被生成,这是因为数据只在每次加载(每个load segment和一个B+ tree 索引)时被排序。

频繁的load数据会导致carbon的存储目录生成很多影响查询性能的分散的CarbonData小文件,CarbonData提供了压缩load数据的措施。 压缩过程通过对来自各个分段的数据进行合并排序,将多个分段合并为一个大分段。

有两种压缩类型:

轻量(Minor )压缩和重量级(Major )压缩
- 轻量压缩(Minor Compaction):

用户可以指定要合并的load的数量,如果参数carbon.enable.auto.load.merge被设置为true,则轻量压缩在每次数据load时触发。如果有任何segment可用于合并,则压缩将与load data并行运行。

轻量压缩有两个级别:
  • Level 1:合并尚未被压缩的segments
  • Level 2: 再次合并压缩的segments生成更大的segments

    ALTER TABLE table_name COMPACT 'MINOR'
    • 重量级压缩(Major Compaction)

    在重量级压缩中,很多segments可以合并成一个大的segments。用户可以指定压缩大小,直到segments可以被合并。通常在非高峰时段进行大型压缩。该命令将指定数量的段合并到一个段中:

    ALTER TABLE table_name COMPACT 'MAJOR'

在carbon.properties中配置和压缩有关的参数:

属性描述默认值适用压缩级别
carbon.compaction.level.threshol决定多少段要合并。比如如果设置为“2,3”,
则会对没2个segments进行级别1的压缩,
对3个级别1压缩后的segments进一步进行级别2的压缩。
4, 3Minor
carbon.major.compaction.size用于重量级压缩低于此阈值的segments将被合并。1024 MBMajor
carbon.numberof.preserve.segments该属性设置要保留的segments数量以防止被压缩。
例如carbon.numberof.preserve.segments = 2,
那么2个最新的segments总是被排除在压缩之外。默认没有segments被保留。
合法值:0-100
0Minor/Major
carbon.allowed.compaction.days在指定的天数内load data的segment将被合并。如果配置为2
,仅在2天内load的segment被合并。默认禁用
。合法值:0-100
0Minor/Major
carbon.number.of.cores.while.compacting用户压缩的cpu数量。合法值:0-1002Minor/Major

压缩后源数据依然存在 可以运行一下命令清除:

CLEAN FILES FOR TABLE table_name
信源编码 Assignment of CH1 1、 什么是数据压缩,一般分为几类?请列举实例说明。 数据压缩,就是以最少的码数表示信源所发出的信号,减少容纳给定信息集合或数据采样集合的信号空间。 其主要分为两大类型:lossless 和 lossy。其具体分类和实例用图表表示如下: 数据压缩 冗余度压缩(熵编码) lossless 统计编码 霍夫曼编码、游程编码、二进制信源编码等 算术编码 基于字典的编码、LZW 编码等 其他编码 完全可逆的小波分解+统计编码等 熵压缩 (lossy) 特征抽取 分析/综合编码 子带、小波、分类、模型基等 量化 其他 无记忆量化编码 均匀量化、Max 量化、压扩量化等 有 记忆量化 序列量化 预测编码 增量调制、线性预测、非线性预测、自适应预测、运动补偿预测等 其他方法 序贯量化等 分组量化 直接映射 矢量量化、神经网络、方块截尾等 变化编码 正交变换:KLT、DCT、DFT、WHT 等 非正交变换 其他函数变换等 2、 什么是信源编码,他与数据压缩有何关系? 信源编码是一种以提高通信有效性为目的而对信源符号进行的变换,或者说为了减少或消除信源冗余度而进行的信源符号变换。 信源编码的作用有二 : 一是实现模拟信号的数字化传输;二就是设法减少码元数目和降低码元速率,即所谓的数据压缩技术。信源编码理论和数据压缩理论之间没有明显差别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值