历经大约3个月时间,Apache Hudi 社区终于发布了0.5.1版本,这是Apache Hudi发布的第二个Apache版本,该版本中一些关键点如下

  • 版本升级

    • 将Spark版本从2.1.0升级到2.4.4

    • 将Avro版本从1.7.7升级到1.8.2

    • 将Parquet版本从1.8.1升级到1.10.1

    • 将Kafka版本从0.8.2.1升级到2.0.0,这是由于将spark-streaming-kafka artifact从0.8_2.11升级到0.10_2.11/2.12间接升级

重要:Hudi 0.5.1版本需要将spark的版本升级到2.4+

  • Hudi现在支持Scala 2.11和2.12,可以参考Scala 2.12构建来使用Scala 2.12来构建Hudi,另外, hudi-spark, hudi-utilities, hudi-spark-bundle and hudi-utilities-bundle包名现已经对应变更为 hudi-spark_{scala_version}, hudi-spark_{scala_version}, hudi-utilities_{scala_version}, hudi-spark-bundle_{scala_version}和 hudi-utilities-bundle_{scala_version}. 注意这里的scala_version为2.11或2.12。

  • 在0.5.1版本中,对于timeline元数据的操作不再使用重命名方式,这个特性在创建Hudi表时默认是打开的。对于已存在的表,这个特性默认是关闭的,在已存在表开启这个特性之前,请参考这部分(https://hudi.apache.org/docs/deployment.html#upgrading)。若开启新的Hudi timeline布局方式(layout),即避免重命名,可设置写配置项hoodie.timeline.layout.version=1。当然,你也可以在CLI中使用repair overwrite-hoodie-props命令来添加hoodie.timeline.layout.version=1至hoodie.properties文件。注意,无论使用哪种方式,在升级Writer之前请先升级Hudi Reader(查询引擎)版本至0.5.1版本。

  • CLI支持repair overwrite-hoodie-props来指定文件来重写表的hoodie.properties文件,可以使用此命令来的更新表名或者使用新的timeline布局方式。注意当写hoodie.properties文件时(毫秒),一些查询将会暂时失败,失败后重新运行即可。

  • DeltaStreamer用来指定表类型的参数从--storage-type变更为了--table-type,可以参考wiki来了解更多的最新变化的术语。

  • 配置Kafka Reset Offset策略的值变化了。枚举值从LARGEST变更为LATEST,SMALLEST变更为EARLIEST,对应DeltaStreamer中的配置项为auto.offset.reset

  • 当使用spark-shell来了解Hudi时,需要提供额外的--packages org.apache.spark:spark-avro_2.11:2.4.4,可以参考quickstart了解更多细节。

  • Key generator(键生成器)移动到了单独的包下org.apache.hudi.keygen,如果你使用重载键生成器类(对应配置项:hoodie.datasource.write.keygenerator.class),请确保类的全路径名也对应进行变更。

  • Hive同步工具将会为MOR注册带有_ro后缀的RO表,所以查询也请带_ro后缀,你可以使用--skip-ro-suffix配置项来保持旧的表名,即同步时不添加_ro后缀。

  • 0.5.1版本中,供presto/hive查询引擎使用的hudi-hadoop-mr-bundle包shaded了avro包,以便支持real time queries(实时查询)。Hudi支持可插拔的记录合并逻辑,用户只需自定义实现HoodieRecordPayload。如果你使用这个特性,你需要在你的代码中relocate avro依赖,这样可以确保你代码的行为和Hudi保持一致,你可以使用如下方式来relocation。

    <relocation><pattern>org.apache.avro.pattern><shadedPattern>org.apache.hudi.org.apache.avro.shadedPattern>relocation>
  • DeltaStreamer更好的支持Delete,可参考blog了解更多细节。

  • DeltaStreamer支持AWS Database Migration Service(DMS) ,可参考blog了解更多细节。

  • 支持DynamicBloomFilter(动态布隆过滤器),默认是关闭的,可以使用索引配置项hoodie.bloom.index.filter.type=DYNAMIC_V0来开启。

  • HDFSParquetImporter支持bulkinsert,可配置--commandbulkinsert

  • 支持AWS WASB和 WASBS云存储。

更多细节请参考:https://hudi.apache.org/releases.html#release-051-incubating

apache 版本_Apache Hudi 0.5.1版本重磅发布相关推荐

  1. 查看apache版本_Apache Pulsar 2.6.1 版本正式发布:2.6.0 加强版,新增 OAuth2 支持

    在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复 ...

  2. oracle12c导出转版本,ORA-39358:导出转储文件版本12.2.0与目标版本12.1.0.2.0不兼容

    我已将ORACLE local从12.1.0.2.0升级到12.2.0.1.0,并已从12.2.0.1.0导出转储,我正在通过 impdp 命令导入该转储,但它显示旧的目标ORACLE版本,并出现以下 ...

  3. Linux工作笔记037---Centos8.2下安装mysql_测试通过_注意这里安装8.0.22版本的_8.0以后的版本有需要注意的地方_跟7.0之前的版本不一样

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 注意如果有错误: 可以通过查看: /usr/local/mysql/data 中有个.err文件, ...

  4. c++小游戏[2.0.1测试版本]和[2.2版本]

    这个小游戏就是原来的坑人小游戏,原来是1.0版本,2.0.1测试版本增加了 1."漂亮"的首页面 2.猜数字游戏 2.0.2版本预告:增加剪刀石头布.高精度算法 1.0版本就是今天 ...

  5. ceph 版本升级_Ceph V10.2.0 Jewel正式版本发布

    本文由Ceph中国社区-半天河翻译,Devin校稿 英文出处:官网release-notes 欢迎加入翻译组 此次主版本的更新将是下一个长期稳定发行版的基础版本.在Infernalis(9.2.X)版 ...

  6. 阿里巴巴PouchContainer发布0.2.1版本,剑指企业级

    点击关注 InfoQ,置顶公众号 接收程序员的 8 点技术早餐 作者|孙宏亮 编辑|小智 PouchContainer 是什么? 近年来,随着以 Docker 等容器技术的持续走热,企业纷纷开始在内部 ...

  7. Apache Hudi 0.8.0 版本发布,Flink 集成有重大提升以及支持并行写

    4月初,Apache Hudi 发布了 0.8 版本,这个版本供解决了 97 个 ISSUES,下面简单介绍一下这个版本的迁移以及重要特性. 迁移指南 •如果从 0.5.3 以下版本迁移,请检查这个版 ...

  8. mysqlsql varchar类型只取前四个_Apache Doris0.12.0 发布,进入 Apache 孵化器后第四个正式版本...

    Apache Doris(Incubating) 0.12.0 已经发布了,这是 Doris 进入 Apache 孵化器后第四个正式版本. 此版本带来的新功能包括: 全新的存储格式SegmentV2 ...

  9. access设置0字段为null是因为类型转换失败_Apache Pulsar 2.6.1 版本正式发布:2.6.0 加强版,新增 OAuth2 支持

    在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复 ...

最新文章

  1. kafka:一文读懂消费者背后的那点猫腻
  2. 5G时代下,边缘计算产品的未来展望
  3. Entity Framework 6 Recipes 2nd Edition(10-5)译 - 在存储模型中使用自定义函数
  4. NHibernate Issues之1255:联合主键(composite-id)
  5. 硅谷理发460!奥巴马前手下发明AI理发机器人,10分钟理发,只收15%费用
  6. [GKCTF 2021]XOR
  7. DevExpress的TreeList怎样设置数据源,从实例入手
  8. 自然水体辐射特性与数值模拟 pdf_OpenGMS系列讲座(十三)汪亚平教授:南黄海水动力过程和辐射沙脊群演化...
  9. 通过JavaScript操作HTML中select标签
  10. 001. 为input type=text 时设置默认值
  11. 如何在ImageRanger中设置人脸识别来整理照片分类
  12. python执行adb命令_Python脚本之ADB命令(一)
  13. Python移动应用开发
  14. PADS2007无模命令与快捷键
  15. shopex PHP Notice,Shopex系统配置文件config.php说明
  16. iOS 开发全能工具箱
  17. 计算机专业logo元素,计算机系logo设计大赛
  18. 野火Linux内核编译
  19. 四芯水晶头电话线的接法
  20. 该网页无法正常运作localhost 目前无法处理此请求。

热门文章

  1. 计算机网络第六章ppt课件,计算机网络与通信(第6章).ppt
  2. 画直线_在鸡的面前画直线,鸡为什么会晕呢,西瓜视频带你揭秘
  3. 排序 (2)快速排序
  4. BUUCTF--[GWCTF 2019]re3学习记录
  5. 命令行工具cobra的使用
  6. DRF框架—序列化器中的字段校验规则
  7. [register]-TCR(Translation Control Register)寄存器详解
  8. 2、JDBC连接数据库
  9. 项目: 推箱子游戏【c/c++】
  10. 【PAT乙级】1027 打印沙漏 (20 分)