温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Apache Hudi 0.5.2版本有哪些特性

发布时间:2022-05-18 11:44:01 来源:亿速云 阅读:230 作者:iii 栏目:大数据

本文小编为大家详细介绍“Apache Hudi 0.5.2版本有哪些特性”,内容详细,步骤清晰,细节处理妥当,希望这篇“Apache Hudi 0.5.2版本有哪些特性”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1. 迁移指南

  • Write Client模块组织结构进行了重构,具体参见HUDI-554。现在client包包含所有事务管理的类,func包被重命名为execution,一些帮助类被移动到了client/utils中,之前所有在io包下和压缩(compaction)相关代码已经被移动到table/compact下。table/rollback包放置了和回滚(Rollback)操作相关代码,一些通用类放在了table包下。上述变更仅影响依赖hudi-client模块的用户,使用deltastreamer/datasource的用户不受影响,不需要做任何变更。 

2. 关键特性

  • 支持在hoodie.properties指定hoodie.compaction.payload.class配置项来重写palyload实现,在此之前一旦在hoodie.properties中设置了payload类便不可更改。但是在一些情况下,比如进行代码重构后jar包更新,可能需要传递新的payload实现,如果你有这种需求,不妨尝试使用这个特性。

  • TimestampBasedKeyGenerator支持CharSequence类型,之前TimestampBasedKeyGenerator只支持DoubleLongFloatString四种分区字段类型,现在扩展到可以支持CharSequence的分区字段类型。

  • Hudi现在支持通过hoodie.datasource.read.incr.path.glob配置项来指定分区进行增量拉取,一些场景下用户只需要增量拉取部分分区,这样通过只加载相关Parquet数据文件来加速数据拉取。

  • 0.5.2版本支持在GLOBAL_BLOOM索引下,允许分区路径更新。在此之前设置GLOBAL_BLOOM索引,更新的记录有不同的分区路径时,Hudi会忽略新的分区路径并在之前旧分区更新记录,现在Hudi支持在新的分区插入数据并且删除老的分区数据,通过hoodie.index.bloom.update.partition.path=true配置项可以开启这个特性。

  • 0.5.2版本通过提供JdbcbasedSchemaProvider来支持通过JDBC获取元数据。这对于一些想从MySQL同步数据并且想从数据库中获取schema的用户非常有用。

  • 0.5.2版本对于HoodieBloomIndex索引已不再有2GB大小的限制,在spark 2.4.0版本之前,每个spark分区有2GB大小的限制,在Hudi 0.5.1时将spark的版本升级到了2.4.4,现在便不再有任何限制,因此移除了HoodieBloomIndex中对于安全并行度的计算逻辑。

  • CLI相关变更

  1. 允许用户指定配置项来打印附加的commit元数据,比如Log Block总数,Rollback Block总数,压缩、更新总条数等等。

  2. 支持temp_querytemp_delete来查询和删除临时视图,该命令会创建一个临时表,用户可以通过HiveQL来查询该表数据,如

java temp_query --sql "select Instant, NumInserts, NumWrites from satishkotha_debug where FileId='ed33bd99-466f-4417-bd92-5d914fa58a8f' and Instant > '20200123211217' order by Instant"

读到这里,这篇“Apache Hudi 0.5.2版本有哪些特性”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI