Apache hudi 0.10.1学习笔记之压缩Compaction(上篇)——压缩计划的生成

本文深入探讨了Hudi数据存储的压缩机制,包括基础概念如COW和MOR表、FileGroup、FileSlice等,以及压缩计划和策略。通过代码解读,展示了如何生成压缩计划,强调了合法时间戳验证的重要性,并详细描述了压缩计划的生成过程。此外,还提及了压缩策略的选择及其对文件组织和查询效率的影响。

一、基础概念

    了解过hudi的新手或者专家都知道,hudi不管是COW还是MOR表,其文件还是存储在hdfs上。因为下来介绍我在学习hudi压缩的一些东西,所以下方就以MOR表文件做下介绍。下方会由浅入深尝试说明压缩计划和压缩策略等等之间的关系。

    对文件排列方面,例如FileGroup、FileSlice等概念还未学习的同学可以先从了解这个图后再继续。

    可以理解为如果数据文件(若干log和parquet文件)的instantTime一样,那么他们都属于一个fileSlice。fileSlice所以也有FileGroup来标记自己属于哪个分区和自己的ID。

    首先是数据文件,分为log文件和data文件。前者是avro格式的,保存较新的数据,而后者是parquet文件,内部数据则是更早或是和log合并后的。下方以一个非压缩非clustering的表文件为例子:

    basePath 就是/user/ocdp/test/hudi/mor_noComNoClu表名字就是mor_noComNoClu

    而后面time_15min则表示hudi表各个分区目录,当前是以系统时间,每15分钟一个分区。

    接下来以一个分区为例子:

    上方

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值