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将数据摄取时间缩短一半.此 ...
随机推荐
- 前端自动化构建之gulp
前言 之前学完html的基础后就去学js框架了,每次都是用脚手架搭好的文件,在无形中体验了一波前端自动化带来的方便.然后前一段时间才开始学习前端自动化. 基本介绍 gulp说得简单一点就是一个自动化把 ...
- 小智的旅行(Bridge)51nod 提高组试题
luogu AC传送门(官方数据) 题目描述 小智最喜欢旅行了,这次,小智来到了一个岛屿众多的地方,有N座岛屿,编号为0到N-1,岛屿之间 由一些桥连接,可以从桥的任意一端到另一端,由于岛屿可能比较大 ...
- 事件处理& 事件委托& 区别mouseover与mouseenter
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- vc程序设计--图形输出3
// 实验2.cpp : 定义应用程序的入口点. // #include "framework.h" #include "实验2.h" #define MAX_ ...
- Java 第十一届 蓝桥杯 省模拟赛 梅花桩
小明每天都要练功,练功中的重要一项是梅花桩. 小明练功的梅花桩排列成 n 行 m 列,相邻两行的距离为 1,相邻两列的距离也为 1. 小明站在第 1 行第 1 列上,他要走到第 n 行第 m 列上.小 ...
- Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
745. 前缀和后缀搜索 给定多个 words,words[i] 的权重为 i . 设计一个类 WordFilter 实现函数WordFilter.f(String prefix, String su ...
- Java实现 LeetCode 106 从中序与后序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序 ...
- Java实现 N的阶乘
import java.util.Scanner; public class n的阶乘 { public static void main(String[] args) { Scanner sc =n ...
- java代码(10) ---Java8 Map中的computeIfAbsent方法
Map中的computeIfAbsent方法 一.案例说明 1.概述 在JAVA8的Map接口中,增加了一个computeIfAbsent,此方法签名如下: public V computeIfAbs ...
- 从linux源码看socket的阻塞和非阻塞
从linux源码看socket的阻塞和非阻塞 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情. 大部分高性能网络框架采用的是非阻塞模式.笔者这次就从linux ...