开源数据湖三剑客 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. NLP之TextRNN(预测下一个单词)

    TextRNN @ 目录 TextRNN 1.基本概念 1.1 RNN和CNN的区别 1.2 RNN的几种结构 1.3 多对多的RNN 1.4 RNN的多对多结构 1.5 RNN的多对一结构 1.6 ...

  2. c语言KMP匹配算法与字符串替换算法

    一.字符串匹配算法 (1)传统匹配算法BF int Index_BF(char* S, char* T){ int i=1,j=1; while(i<=strlen(S) && ...

  3. Element Ui 安装以及配置

    npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S 引入 Element 你可以引入整个 Element,或是根据需要 ...

  4. adb 安装与使用

    什么是adb adb 是有个通用命令行工具 他允许您与模拟器实例或者链接的Android设备进行通信,他可为各种设备操作提供便利,比如安装和调试应用 启动adb 服务在命令行中输入adb start- ...

  5. 4.django-模板

    在django中,模板引擎(DTL)是一种可以让开发者将服务端数据填充到html页面中的完成渲染的技术 模板引擎的原理分为以下三步: 在项目配置文件中指定保存模板文件的的模板目录,一般设置在项目根目录 ...

  6. Git 实战代码分支管理 | Git Flow 策略

    ​ 简介 在团队协作开发中,版本管理工具尤为重要,它可以帮助团队很好地进行代码的共享.回滚等操作,比较流行的版本管理工具有:CVS.SVN.Git.Git作为分布式版本管理工具,优势十分明显,它可以为 ...

  7. Dockerfile 使用 SSH docker build

    如果在书写 Dockerfile 时,有些命令需要使用到 SSH 连接,比如从私有仓库下载文件等,那么我们应该怎么做呢? Dockerfile 文件配置 为了使得 Dockerfile 文件中的命令可 ...

  8. iOS逆向之某多多App抓包

    阅读此文档的过程中遇到任何问题,请关注公众号[移动端Android和iOS开发技术分享]或加QQ群[309580013] 1.目标 由于某多多App现使用longlink进行数据传输,使用charle ...

  9. 1、ArrayList源码解析

    目录 1 概述 2 底层数据结构 3 构造函数 4 自动扩容 5 set() get() remove() 6 Fail-Fast机制 1 概述 ArrayList实现了List接口,是 顺序容器,允 ...

  10. LayuI 动态下拉框和动态设置选中

    动态下拉框 //下拉框异步加载 function asyncSelect(thisId, grade, selectNodeName) { $("#" + selectNodeNa ...