1. 引入
开源Apache Hudi项目为Uber等大型组织提供流处理能力,每天可处理数据湖上的数十亿条记录。
随着世界各地的组织采用该技术,Apache开源数据湖项目已经日渐成熟。
Apache Hudi(Hadoop Upserts Deletes and Incrementals)是一个数据湖项目,可在与Apache Hadoop兼容的云存储系统(包括Amazon S3、Aliyun OSS)上进行流数据处理。
该项目最初于2016年在Uber开发,于2017年成为开源,并于2019年1月进入Apache孵化器。作为开源的结果反馈,Hudi已被阿里巴巴,腾讯,AWS,Uber和Kyligence等主要技术供应商的采用。
6月4日,Hudi(发音为"Hoodie")正式成为Apache软件基金会(ASF)的顶级项目,这是一个里程碑,标志着该项目已经达到了较高的代码成熟度和开发人员社区的参与。ASF是Hadoop,Spark,Kafka和其他广泛使用的数据库和数据管理程序的地方。
2. Hudi如何实现Uber的云数据湖
Hudi现在是被多个组织使用的开源项目,其中Uber一直是坚定的用户。
Uber数据工程经理Tanvi Kothari表示,Uber使用Hudi每天处理超过150PB数据湖中的5,000亿条记录。
Kothari运营着Uber全球数据仓库团队,该团队负责为Uber的所有业务提供核心数据表。她指出,Hudi支持Uber对10,000多个表和数千个数据管道的读写进行增量处理。
Kothari说:”Hudi消除了处理大数据中的许多挑战,它可以帮助您扩展ETL [Extract,Transform,Load]管道并提高数据保真度。”
3. Hudi作为云数据湖分析的基石
大数据分析供应商Kyligence Solutions将Apache Hudi作为产品的一部分,该公司在中国上海和加利福尼亚州圣何塞设有办事处,Kyligence的合伙人兼首席架构师史少锋说道,他的公司使用许多Apache开源项目,包括Apache Kylin,Hadoop和Spark技术,来帮助企业管理数据。
史少锋表示,Apache Hudi为Kyligence提供了一种直接在Hadoop分布式文件系统(HDFS)或Amazon S3上管理更改数据集的方法。
Kyligence于2019年开始为美国客户使用Hudi,同时在此期间,AWS推出了与Hudi和Amazon Elastic MapReduce(EMR)服务的集成。Kyligence Cloud服务现在还支持Hudi作为其所有用户进行在线分析处理的数据源格式。
史表示很高兴看到Hudi毕业成为Apache的顶级项目的成就,他说,“Hudi有一个开放而热情的社区,甚至将一系列Hudi文章翻译成中文,使中国用户更容易了解该技术。”
4. Hudi如何赋能云数据湖流处理
ASF Apache Hudi的共同创始人兼VP Vinoth Chandar说,Hudi提供了使用数据流的功能,并使用户能够更新数据集。
Chandar将Hudi启用的流处理视为一种数据处理方式,在这种方式中,数据湖管理员可以处理增量数据,然后可以使用该数据。
Chandar说:“真正考虑Hudi的一个好方法是作为一个数据存储或数据库,该数据库在[AWS] S3、[Aliyun] OSS中存储的数据之上提供事务处理功能。”
Chandar接着说,Hudi成为顶级项目也反映了该项目的成熟度。但是,尽管Hudi现在是Apache的顶级项目,但这项工作尚未达到1.0版本,最新的更新是3月25日发布的0.5.2里程碑(毕业后又发布了0.5.3版本)。
Hudi开发人员目前正在开发0.6.0版本,Chandar表示该版本将于6月底发布。Chandar说,该版本将是一个重要的里程碑,它将具有性能增强和改进的数据迁移功能,以帮助用户将数据带入Hudi数据湖。他说:“我们的计划是至少每个季度发布一个主要版本,然后希望每个月在主要版本之上发布bugfix版本。”