数据湖的选型
此文章只是作为文稿记录,且截止到2022年11月份
Hudi(0.12.0)支持spark 3.3.x 3.1.x
是 Hadoop Upserts Deletes and Incrementals 的简写
Hudi在华为的实践
- clustering
- 支持常见的order以及z-order(里面以后优化https://github.com/delta-io/delta/pull/1149)、Hibert
- FileSkipping依赖于 min-max统计信息,BloomFilter,BitMap,二级索引
- DataSkipping 可以通过结合数据布局以及FileSKipping做更好的优化
- MDT(MetaDataTable)
- 位于Hudi表的.hoodie目录
- Column_stats/BloomFilter
- 高性能的fileList
对超大规模的数据集时,FileList是不可避免的操作,在HDFS上进行该操作还可以接受,一旦涉及到对象存储,大规模的FileList效率及其低下,Hudi引入MDT将文件
信息直接保存下来,避免了大规模的FileList - 有自己独立的元数据管理服务?如果有,怎么实现的?
- 支持MOR COW
- merge on read/copy on write
- 快速 upsert(支持SQL)https://hudi.apache.org/docs/quick-start-guide#mergeinto
Hudi/Iceberg/deltalake
- 表有主键的概念
用于定位数据的位置以便于高效的读写操作,
具体index分 Bloom index,simple index,Hbase index, Hash index - 支持多种存储HDFS,OSS,S3
和OSS的集成 https://hudi.apache.org/docs/oss_hoodie/
和MINio的集成 https://mp.weixin.qq.com/s/jBciMVsdWmRHRjEyyckQlQ - 支持update upsert(merge)参考 HoodieAnalysis的 updataTable(spark把这个逻辑计划留了出来) 支持CDC CDC怎么实现的?(记录级别还是表级别)
- datasource 是基于spark DataSource V1
- 支持 flink sql upsert
详见 HoodieTableSink的getSinkRuntimeProvider - 自己实现了小文件的合并

最低0.47元/天 解锁文章
1112

被折叠的 条评论
为什么被折叠?



