Skip to content
本站总访问量次, 访客数人次

快学 Hudi

网站链接

目标业务场景(是什么)

官方定义: Hudi 是一个事务型的数据湖平台,兼具数据库、数据仓库的功能。 通过 增量处理框架 来实现分钟级别的批处理。

官方定义有俩重点:

  • 支持事务:HDFS 是大数据存储的基石、只支持追加数据;Hudi 支持 事务 也就是额外支持了删除(不是全删、删除满足指定条件的数据)、修改操作。但是这里的 事务 需要和传统的 OLTP 相区别,
    • 传统的 OLTP 是绝大部分场景是高并发、低延迟地处理多条 Query,每条 Query 只修改很少的数据,比如 12306 订票
    • 此处的事务大部分情况下指一次更新一批数据。比如有两个表,一个存了用户全量的购物记录 user_shopping_list_all, 另外一张表里面存了用户当日购物记录 user_shopping_list_daily, 每天都需要定时更新用户全量购物记录表,user_shopping_list_all 会一直存在数据仓库里面供数据分析人员做分析(OLAP),user_shopping_list_daily 会由线上数据同步到数仓,再和历史的 ,user_shopping_list_all 做合并(update or insert);最笨的方法是做 fullout join,保留 mismatch 的数据、合并更新历史上出现过的数据。
  • 增量处理框架加快批处理:这个是技术手段,如何做到让事务进行地更快(而不是用最笨的办法)。

大纲

网站链接

  • 官方网站链接
  • roadmap
  • issue 平台
  • 项目代码链接

整体了解

  • 目标业务场景?
  • 有哪些 feature?
  • 现有技术有什么问题?
  • hudi 是如何解决这些问题的?
  • 实际效果如何
  • 有哪些竞品
  • 重要的技术细节

项目代码

  • 各个 module 的作用是什么?
  • 项目的框架图?
  • 有哪些重要的抽象?
  • 对应的类、函数等
  • demo work 机制(如 一条 SQL 在 Spark 中运行之旅)
  • 系统功能切面
  • 日志
  • 监控

Comments