1. 重点特性

1.1 Flink集成

自从Hudi 0.7.0版本支持Flink写入后,Hudi社区又进一步完善了Flink和Hudi的集成。包括重新设计性能更好、扩展性更好、基于Flink状态索引的写入Pipeline;支持Flink写入MOR表;Flink批量读取COW和MOR表;流式读取MOR表;同时支持了Hudi作为Source和Sink的Flink SQL Connector,在Hudi 0.8.0版本发布后,用户可以使用Flink1.11+体验上述所有新特性。

想了解更多Flink写入Hudi的细节,请参考 RFC-24

具体教程可参考:重磅!解锁Apache Flink读写Apache Hudi新姿势

1.2 并发写

单表支持并发写特性在Hudi社区呼声比较高,0.8.0版本Hudi使用乐观锁并发控制支持多客户端并发写同一张表,Hudi支持文件级别乐观锁并发控制,如两个commit(或写入客户端)同时写入一张表,如果两个commit修改的文件不相同,两个客户端的写入都可以成功,现在这个功能标记为experimental,用户可以基于ZookeeperHiveMetastore来提供锁服务,后续还会考虑提供基于文件的锁服务。

想了解更多并发写入细节,请参考RFC-22,想使用并发写功能,可参考并发控制配置。

1.3 写入端改进

  • Flink客户端支持InsertOverwrite
  • Java客户端支持COW表

1.4 查询端改进

  • 支持Spark Structured Streaming流式读取Hudi表
  • 改进Metadata Table的性能
  • 改进Clustering的性能

2. 迁移指南

  • 如果从小于0.5.3版本迁移,请参考每个版本迁移指南
  • 0.6.0版本之后未引入新的表版本
  • HoodieRecordPayload接口被标记为deprecated,重新引入了包含properties参数的接口,欢迎迁移至新接口,老接口将在0.9.0版本移除,请尽快迁移。

3. 总结

0.8.0版本与Flink做了更深度的集成,借助Flink和Hudi构建更实时的数据湖,同时0.8.0版本还支持了Flink和Spark的流批读写,Hudi可作为流批一体的统一数据存储层。

4. 感谢

感谢参与0.8.0版本的所有贡献者,欢迎广大数据湖爱好者加入Apache Hudi社区,欢迎star & fork https://github.com/apache/hudi

源码下载

Apache Hudi 0.8.0版本重磅发布的更多相关文章

  1. Apache Hudi 0.5.1版本重磅发布

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

  2. Apache Hudi 0.6.0版本重磅发布

    1. 下载信息 源码:Apache Hudi 0.6.0 Source Release (asc, sha512) 二进制Jar包:nexus 2. 迁移指南 如果您从0.5.3以前的版本迁移至0.6 ...

  3. Apache Hudi 0.7.0版本重磅发布

    重点特性 1. Clustering 0.7.0版本中支持了对Hudi表数据进行Clustering(对数据按照数据特征进行聚簇,以便优化文件大小和数据布局),Clustering提供了更灵活地方式增 ...

  4. Flutter 1.17版本重磅发布

    Flutter 1.17 是2020年的第一个稳定版本,此版本包括iOS平台Metal支持(性能更快),新的Material组件,新的Network跟踪工具等等! 对所有人来说,今年是充满挑战的一年. ...

  5. 重磅!Vertica集成Apache Hudi指南

    1. 摘要 本文演示了使用外部表集成 Vertica 和 Apache Hudi. 在演示中我们使用 Spark 上的 Apache Hudi 将数据摄取到 S3 中,并使用 Vertica 外部表访 ...

  6. 官宣!ASF官方正式宣布Apache Hudi成为顶级项目

    马萨诸塞州韦克菲尔德(Wakefield,MA)- 2020年6月 - Apache软件基金会(ASF).350多个开源项目和全职开发人员.管理人员和孵化器宣布:Apache Hudi正式成为Apac ...

  7. Apache Hudi C位!云计算一哥AWS EMR 2020年度回顾

    1. 概述 成千上万的客户在Amazon EMR上使用Apache Spark,Apache Hive,Apache HBase,Apache Flink,Apache Hudi和Presto运行大规 ...

  8. 真香!PySpark整合Apache Hudi实战

    1. 准备 Hudi支持Spark-2.x版本,你可以点击如下链接安装Spark,并使用pyspark启动 # pyspark export PYSPARK_PYTHON=$(which python ...

  9. Apache Hudi异步Compaction方式汇总

    本篇文章对执行异步Compaction的不同部署模型一探究竟. 1. Compaction 对于Merge-On-Read表,数据使用列式Parquet文件和行式Avro文件存储,更新被记录到增量文件 ...

随机推荐

  1. CORS OPTIONS

    CORS OPTIONS A CORS preflight request is a CORS request that checks to see if the CORS protocol is u ...

  2. ts 使用 keyof typeof

    传递参数 const cats = { "Coding Cat": "https://media.giphy.com/media/JIX9t2j0ZTN9S/giphy. ...

  3. 教你玩转CSS border(边框)

    边框样式 边框样式属性指定要显示什么样的边界. border-style属性用来定义边框的样式 border-style的值 代码演示: <!DOCTYPE html> <html ...

  4. 源码分析:Exchanger之数据交换器

    简介 Exchanger是Java5 开始引入的一个类,它允许两个线程之间交换持有的数据.当Exchanger在一个线程中调用exchange方法之后,会阻塞等待另一个线程调用同样的exchange方 ...

  5. SharedPreferences 数据传输中遇到的一些问题总结

    原构想:MainActivity 设置两个按钮,btn1--跳转Main2Activity通过复选框组选择并提交,btn2--跳转Main3Activity通过RecycleView显示选择结果. 主 ...

  6. Javascript中的事件冒泡与捕获

    事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数,useCapture:是否使用事件捕获,觉得有点模糊 Js事件流 页面的哪一部 ...

  7. 如何吃透Python的面向对象(OOP)

    ​本篇可乐和大家一起来吃透 Python 的面向对象,类和实例. 面向对象(OOP) 解释:面向对象它是一种编程的思想,将现实事物抽象化为编程对象. 举例说明:喝可乐 ① 选择自己根据配方买对应的材料 ...

  8. 《C++ Primer》笔记 第12章 动态内存

    shared_ptr和unique_ptr都支持的操作 解释 shared_ptr sp或unique_ptr up 空智能指针,可以指向类型为T的对象 p 将p用作一个条件判断,若p指向一个对象,则 ...

  9. 微信小程序和H5之间相互跳转

    1.微信小程序跳转小程序 wx.navigateToMiniProgram <script src='https://res.wx.qq.com/open/js/jweixin-1.3.0.js ...

  10. 剑指 Offer 38. 字符串的排列 + 无重复元素的全排列

    剑指 Offer 38. 字符串的排列 Offer_38 题目描述 解题思路 可以使用递归实现全排列,每次都确定一个数的位置,当所有位置的数都确定后即表示一个排列. 但是考虑到本题需要排除重复的排列, ...