Hudi了解

1.数据库引擎初识

    数据引擎大致包含数据结构、存储形式、数据关系、数据更新方式、高效增删改查、日志,围绕这几个方面进行相应权重处理,得到不一样的效果,内容可以整理为如下图:

 

 

2.Hudi了解

    Hudi提供两种读写方式,一种读时合并,另一种是写时复制,简单的说就是充分利用顺序写,然后加上相关索引等机制,实现快速的批量读写。

    Hudi表映射为文件结构如下:

 

  Hoodie文件通过索引机制会记录所有的主键跟文件ID的映射关系,从而提高高效的Upsert,针对写时复制就是当有数据写入时,快速找到数据所属文件块从中找到未修改的数据并复制到内存,然后和修改的数据合并到一起生成新的文件块,最后把新的文件块写回去,这种操作会导致写放大,但是适合分析工作,所以该模式适合读取密集型操作。cow的工作原理图如下:

 

  读时合并使用列式存储(parquet)+行式文件(arvo)存储数据,增量数据会按照arvo写入,每次查询需要查询出增量数据和base文件里面的数据最后合并输出。MOR的工作原理如下:

 以下是两种表类型的区别:

 

 

 

posted @ 2023-02-22 09:03  人不疯狂枉一生  阅读(373)  评论(0编辑  收藏  举报