您的位置:首页 > 科技 > 能源 > 服务网站建设推广_996建站网站建设_西安网络科技公司排名_抖音seo排名优化软件

服务网站建设推广_996建站网站建设_西安网络科技公司排名_抖音seo排名优化软件

2024/12/23 10:19:28 来源:https://blog.csdn.net/JiShuiSanQianLi/article/details/142922622  浏览:    关键词:服务网站建设推广_996建站网站建设_西安网络科技公司排名_抖音seo排名优化软件
服务网站建设推广_996建站网站建设_西安网络科技公司排名_抖音seo排名优化软件

开源数据湖对比 

Hudi的使用收益

Hudi使用成效

Hudi内部机制

增量摄入与更新

  • Hudi使用一种混合日志存储模式(称为Copy-on-Write),可以同时处理基础数据文件(Parquet)和增量日志(HoodieLogFile)。
  • MergeOnReadTable 的 upsert 操作为例,当有新数据到来时,Hudi会先将数据以行级别的增量形式高效地写入 HoodieLogFile,而不是直接更新基础文件。
  • 相关代码可以参考 HoodieAppendHandle 的 makeNewBlock 方法,将 HoodieRecord 序列化为 HoodieLogBlock。

异步Compaction

  • 为了避免日志量无限增大,Hudi会启动异步Compaction操作,定期将增量日志合并回基础文件。
  • Compaction由Spark的map、reduce任务来并行执行,相关逻辑在HoodieRealtimeTableCompactor类中。
  • 通过 scheduleCompaction 方法,Hudi根据日志大小等条件判断是否触发 Compaction,并通过Spark driver调度执行。

快照级别的一致性读

  • Hudi会为数据文件生成定期快照,保证某个时间点的一致性读取。
  • 当查询请求到来时,Hudi根据要求的时间点,将增量日志回放到对应的基础文件快照版本,对外提供统一的数据视图。
  • 这部分由 HoodieTableFileSystemView 的 getLatestBaseFiles 等方法配合各个 FileSlice 来实现。

变更流支持

  • Hudi原生支持将数据表的变更记录(HoodieRecord)直接流式发送到Kafka等消息队列。
  • 下游的实时计算引擎可以直接消费这些变更事件,减少端到端延迟。
  • 通过编写自定义的 Kafka 生产者代码,结合 Hudi 的数据处理机制,将 HoodieRecord 批量推送到 Kafka。

Global Index 

  • Hudi 支持在写入时指定 indexing 字段,会自动提取这些字段的值建立索引。
  • 索引文件以 Hudi 表的形式单独存储,可以被高效查询,加速数据导出。
  • 相关功能由 HoodieIndex 的实现类如 HBaseIndex, BloomIndex 等完成。

相关文档

Overview | Apache Hudi

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com