Apache Hudi:云数据湖解决方案
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版本。”
Apache Hudi:云数据湖解决方案的更多相关文章
- 基于Apache Hudi构建数据湖的典型应用场景介绍
1. 传统数据湖存在的问题与挑战 传统数据湖解决方案中,常用Hive来构建T+1级别的数据仓库,通过HDFS存储实现海量数据的存储与水平扩容,通过Hive实现元数据的管理以及数据操作的SQL化.虽然能 ...
- KLOOK客路旅行基于Apache Hudi的数据湖实践
1. 业务背景介绍 客路旅行(KLOOK)是一家专注于境外目的地旅游资源整合的在线旅行平台,提供景点门票.一日游.特色体验.当地交通与美食预订服务.覆盖全球100个国家及地区,支持12种语言和41种货 ...
- DeltaLake数据湖解决方案
Delta Lake 是DataBricks公司推出的一种数据湖解决方案,Delta为该方案的核心组件.围绕数据流走向(数据入湖从流入数据湖.数据组织管理.数据查询到流出数据湖)推出了一系列功能特性, ...
- Apache Hudi表自动同步至阿里云数据湖分析DLA
1. 引入 Hudi 0.6.0版本之前只支持将Hudi表同步到Hive或者兼容Hive的MetaStore中,对于云上其他使用与Hive不同SQL语法MetaStore则无法支持,为解决这个问题,近 ...
- 实战 | 将Apache Hudi数据集写入阿里云OSS
1. 引入 云上对象存储的廉价让不少公司将其作为主要的存储方案,而Hudi作为数据湖解决方案,支持对象存储也是必不可少.之前AWS EMR已经内置集成Hudi,也意味着可以在S3上无缝使用Hudi.当 ...
- 印度最大在线食品杂货公司Grofers的数据湖建设之路
1. 起源 作为印度最大的在线杂货公司的数据工程师,我们面临的主要挑战之一是让数据在整个组织中的更易用.但当评估这一目标时,我们意识到数据管道频繁出现错误已经导致业务团队对数据失去信心,结果导致他们永 ...
- 深度对比Apache CarbonData、Hudi和Open Delta三大开源数据湖方案
摘要:今天我们就来解构数据湖的核心需求,同时深度对比Apache CarbonData.Hudi和Open Delta三大解决方案,帮助用户更好地针对自身场景来做数据湖方案选型. 背景 我们已经看到, ...
- 对话Apache Hudi VP, 洞悉数据湖的过去现在和未来
Apache Hudi是一个开源数据湖管理平台,用于简化增量数据处理和数据管道开发,该平台可以有效地管理业务需求,例如数据生命周期,并提高数据质量.Hudi的一些常见用例是记录级的插入.更新和删除.简 ...
- 通过Apache Hudi和Alluxio建设高性能数据湖
T3出行的杨华和张永旭描述了他们数据湖架构的发展.该架构使用了众多开源技术,包括Apache Hudi和Alluxio.在本文中,您将看到我们如何使用Hudi和Alluxio将数据摄取时间缩短一半.此 ...
随机推荐
- Mycat-多实例的搭建
1. 基础环境准备1.1 环境准备:两台虚拟机 db01 db02每台创建四个mysql实例:3307 3308 3309 33101.2 删除历史环境:pkill mysqldrm -rf /dat ...
- [ES6系列-05]字符串相关操作更方便
[原创] 码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 今天的内容是,关于 ES6 JavaScript ...
- S32K142学习记录_SDK手动导入
这几天和一位工程师讨论ADC+PDB学到了很多,当然很多的时候都是我在听, 毕竟新手,顺便其中提出自己的疑问,讨论会让你学到很多 有空会将讨论整理出来 因为demo板还没有到,只能看着大佬的程序对着手 ...
- eatwhatApp开发实战(十二)
上次我们介绍了跳转activity并且实现传值的功能,今天我们来实现双击返回键退出app的功能,上代码: 这里我们有两种方式去实现点击事件: 第一种方式: /** * 返回键的监听(系统提供的) */ ...
- Java IO(四) InputStream 和 OutputStream
Java IO(四) InputStream 和 OutputStream 一.介绍 InputStream 和 OutputStream 是字节流的超类(父类),都是抽象类,都是通过实例化它们的子类 ...
- harbor越权漏洞(CVE-2019-16097)
漏洞介绍 这个漏洞可以在注册发送post包时,加入has_admin_role:true就可以直接注册成为管理员,下图可以看看user的结构: 有很多属性,此处我们关注的是"HasAdmin ...
- 【javascript】京东商品浏览放大镜效果
1.onclick点击小图可以切换图片 2.onmouseover显示黄色div与放大图片的div 3.onmouseout,2的内容消失 4.onmousemove黄色div跟随鼠标移到,但是不能超 ...
- Java 异常(一) 异常概述及其架构
Java 异常(一) 异常概述及其架构 一.异常概述 (一).概述 Java异常是Java提供的一种识别及响应错误的一致性机制.异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常 ...
- SpringBoot 定制 starter 启动器
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 在实际项目开发中,我们常常会用到各种各样的 starter,这些starter 有的是有 springb ...
- java实现数字的值返回
以下的静态方法实现了:把串 s 中第一个出现的数字的值返回. 如果找不到数字,返回-1 例如: s = "abc24us43" 则返回 2 s = "82445adb5& ...