开源数据湖三剑客 Apache hudi、Apache iceberg 、Databricks delta 近年来大动作不断。

2021年8月,Apache Iceberg 的创始人 Ryan Blue、Dan Weeks 和 Netflix 数据架构总监 Jason Reid 宣布从风投 a16z 处拿到了 A 轮融资,正式成立围绕 Apache Iceberg 构建新型数据平台的商业公司 Tabular。

2022年2月,Apache Hudi 也不甘示弱,创始人 Vinoth Chandar 发文官宣基于 Hudi 构建的商业公司和产品 Onehouse,其已经获得 Greylock Ventures 和 Addition 的 800 万美元种子轮投资。

2022年6月,Delta Lake 背后的大数据巨头公司 Databricks,也许是迫于 Iceberg、Hudi 的压力,也许是为了能抢占到市场, 宣布将 Delta Lake 云数据平台完全开源(即 Delta Lake 2.0)。

当开源扯上了商业,一切就都没有那么简单了,这三家之间的明争暗斗也随之拉开序幕。首先是 Databricks 在官宣 Delta Lake 2.0 时,把 Hudi 和 Iceberg 秒成了渣渣(如下图)。

接下来的剧本当然是 Apache Hudi 和 Apache Iceberg 不服,质疑测试的准确性。国内网易数帆的兄弟发表了《从 Delta 2.0 开始聊聊我们需要怎样的数据湖》,虽然言语看起来很客气,但是字里行间都是在反击,最后顺势推了一波数帆的开源产品 Arctic (底座是Iceberg)。Hudi 背后的公司 onehouse 也在第二天发表了一篇文章,质疑测试的准确性并给了他们测试的结果(如下图)。

事后 databricks 没有再回应,看来 databricks 的战略是只引战不恋战。

开源社区建设

2023年了,我们再来看看hudi iceberg delta2 三大社区的发展现状。首先看看截止到目前github的一些开源数据指标。

Github Star 数量,能反应出项目的知名度,目前来看 Delta Lake 是最高的,但是今年来看三者的差距在减小。

Github watchers 和 forks 数量,hudi 略高,整体上也是不相上下。

Github 贡献者数量,这个指标是2022年12月的贡献者数量和 commit 次数,hudi的优势较明显。

Github PR 和issue,同样是2022年12月的数据,PR是指贡献者提交的提案数量,issue是指贡献者提交的问题数量,是可以反映出项目活跃度的,Delta Lake 的活跃度明显低于 Iceberg 和 Hudi 很多。

贡献者所在公司分布

Apache Hudi

从这个分布图可以看出,Hudi 在国内的应用很广,包括国内的三个大厂阿里巴巴、腾讯、字节跳动,国外的话主要是 Uber 和 Amazon。

Apache Iceberg

Iceberg 在国内的厂商同样非常多,腾讯一马当先,是贡献者数量最多的团队,国内的字节 、网易也紧随其后,相比腾讯 Iceberg 和 Hudi 通吃的战略,阿里在 Iceberg 的投入就少了非常多,国外的贡献者也非常多,包括 Netflix、Apple 等等

Delta Lake

Delta 的开发者则主要以国外为主,作为母公司的 Databricks 贡献量稳居第一,微软紧随其后,国内的公司比较少见,仅京东、移动等几家有少来量的贡献。

从这些图中我们可以得到一些结论,似乎有大量国内公司参与的开源项目,活跃度都会相对比较高一些,且国内的大家对 Apache 基金会的项目热情会高一些。

特性对比

图来自于 ONEHOUSE 官网,所以可能偏向性会比较明显,仅供于参考。图更新于23年1月。

1. 读写特性



2. 表服务

3. 平台支持

2023 年,数据湖市场的争夺将正式进入白热化阶段,国内的开发者在这场争夺战中也将发挥着非常重要的作用,毕竟数据湖、湖仓一体等概念都已经被炒得火热,引入数据湖的公司在未来也会越来越多,数据湖的搭建、应用和开发能力也会逐渐成为大数据工程师的必备技能。在这之前,希望这篇文章能够帮助你做好 Hudi 、Iceberg、Delta Lake 这道选择题。

均有商业公司支持!2023再看数据湖 hudi iceberg delta2 社区发展现状!的更多相关文章

  1. 2014年武汉的IT行情好像不太好(续):20个月过后,再看当时面试过的几个公司--武汉财富基石-崩盘,辣妈萌宝-创业失败,朋友公司转交他人管理

     2014年9月的时候,写过一篇面试的总结性质的文章,"2014年武汉的IT行情好像不太好". 原文地址:blog.csdn.net/fansunion/article/detai ...

  2. mysql索引设计的注意事项(大量示例,收藏再看)

    mysql索引设计的注意事项(大量示例,收藏再看) 目录 一.索引的重要性 二.执行计划上的重要关注点 (1).全表扫描,检索行数 (2).key,using index(覆盖索引) (3).通过ke ...

  3. 再看Ajax

    再回顾Ajax相关的内容,再次梳理学习还是很有必要的,尤其是实际的开发中,ajax更是必不可少,仔细学习以便避免不必要的错误. 文章导读: --1.使用XMLHttpRequest---------- ...

  4. 再看Lambda架构

    博客原文地址 最*看了一本<大数据系统构建>的书,发现之前对于Lambda架构的理解还是不够深入和清晰. 之前对Lambda架构的理解 Azure文档上有一张Lambda架构的图, 同时也 ...

  5. 再看ftp上传文件

    前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在 ...

  6. 再看 AspriseOCR - OCR应用开发 -20151124

    再看 AspriseOCR - OCR应用开发 我写这个博文时间为 2015/11/24日,注意时间因为,网上很多文章时间上很久远,有的已经不能参考了 很多人面对从图片中识别文字或者数字0~9  A~ ...

  7. Android菜鸟的成长笔记(17)—— 再看Android中的Unbounded Service

    原文:Android菜鸟的成长笔记(17)-- 再看Android中的Unbounded Service 前面已经写过关于startService(Unbounded Service)的一篇文章:&l ...

  8. D语言需要大公司支持

    Facebook开源flint:一个用D语言编写的C++静态代码分析器 http://www.csdn.net/article/2014-02-27/2818565-Building-and-open ...

  9. 再看case语句

    再看case语句,case语句只处理单条记录,而不是set 列名的使用,可以当做数值来使用: case when 后面简直是完美的的,什么东西都是能放的,只要是一个逻辑上的true/false的逻辑就 ...

  10. android 智能指针的学习先看邓凡平的书扫盲 再看前面两片博客提升

    android 智能指针的学习先看邓凡平的书扫盲 再看前面两片博客提升

随机推荐

  1. Vscode设置标签页多行显示

    1.设置标签页多行展示的方法 文件–>首选项–>设置 2.勾选多行显示按钮 3.显示效果

  2. 在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)

    1.maven教程官网 https://m.runoob.com/maven/ 2.理解Maven的构建生命周期(clean.Package) 3.在项目中使用maven进行打包 4.运行打包好的ja ...

  3. Unity——滚动的小球

    Unity--滚动的小球 工程理解 本游戏为通过键盘上的W.A.S.D键控制小球的运动轨迹来对固定位置上的小方块进行碰撞,以此来进行加分计数的. 其中主要对象为小球和自转的小方块:在小球上,我们添加刚 ...

  4. 「MySQL高级篇」MySQL之MVCC实现原理&&事务隔离级别的实现

    大家好,我是melo,一名大三后台练习生,死去的MVCC突然开始拷打我! 引言 MVCC,非常顺口的一个词,翻译起来却不是特别顺口:多版本并发控制. 其中多版本是指什么呢?一条记录的多个版本. 并发控 ...

  5. 词云(WordCloud)

    WordCloud的参数: font_path:可用于指定字体路径 width:词云的宽度,默认为 400: height:词云的⾼度,默认为 200: mask:蒙版,可⽤于定制词云的形状: min ...

  6. Vue3组件间传值

    12种方式 1. 父组件 ./father.vue 点击查看代码 <template> <h1>father:</h1> <h3>子组件传过来的:{{ ...

  7. C++初阶(命名空间+缺省参数+const总结+引用总结+内联函数+auto关键字)

    命名空间 概述 在C/C++中,变量.函数和后面要学到的类都是大量存在的,这些变量.函数和类的名称将都存在于全局作用域中,可能会导致很多冲突.使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲 ...

  8. 让 Serverless 更普惠,阿里云函数计算 FC 宣布全面降价,最大幅度达 37.5%

    11月5日,2022 杭州 · 云栖大会上,阿里云宣布函数计算 FC 开启全面降价,vCPU 单价降幅** 11%,其他的各个独立计费项最高降幅达 37.5%**. 本次云栖大会上,阿里云智能总裁张建 ...

  9. npm 依赖下载报错:主机名/IP与证书的altname不匹配

    npm 依赖下载报错:主机名/IP与证书的altname不匹配: //取消ssl验证 npm set strict-ssl false npm config set registry http://r ...

  10. js-day02-综合案例ATM存款书写

     <script>                 // 1. 不断的弹出对话框         // 3. 金额的变量         let money = 100         w ...