最新要闻
- 北汽极狐成立法务部:200万粉丝知名汽车博主收到“告知函” 快资讯
- 中国首位!科学家付巧妹获联合国阿勒福赞奖-全球快播
- 226元大额券:361板鞋运动鞋休闲鞋74元抄底|全球百事通
- 离大谱!男子偷马路卖钱:把路分成小块去卖 天天时讯
- 3岁女童患罕见病 肚大如石鼓随时会“爆炸”:医生科普 续命针1次上万-环球快播
- 硬件博主自费实测5大旗舰手机信号:iPhone各种被狂虐
- 焦点热文:载亿万富翁观光潜艇失联 被曝用游戏手柄操控 专家:生还希望渺茫
- 电动汽车也能无线充电了:像手机一样简单 超大充电板长这模样
- 全球热议:微软停止涨薪影响明显:员工跳槽意愿上涨23%
- 11499元 三星首款5K专业显示器上架:配可拆卸4K摄像头
- 班主任和家长扮恐龙接中考生 现场让网友看笑:可爱的显眼包 全球信息
- 史上最深深海救援!观光潜艇失联:搜救无进展 氧气剩不多、或卡残骸中|全球讯息
- 俄妹COS《塞尔达》公主火了 性感美艳:欧美曾呼吁塞尔达公主应黑人|时快讯
- 环球热文:破75%了!理想汽车家用交流充电桩安装率遥遥领先
- 比亚迪赵长江:腾势N7领先两代 将成为家用和年轻人首选大五座标杆SUV
- 全球短讯!年轻人第一辆车!“小米汽车”非官方渲染图又来了:质感拉满 你会买吗
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
性能提升30%!袋鼠云数栈基于 Apache Hudi 的性能优化实战解析|世界新视野
Apache Hudi 是一款开源的数据湖解决方案,它能够帮助企业更好地管理和分析海量数据,支持高效的数据更新和查询。并提供多种数据压缩和存储格式以及索引功能,从而为企业数据仓库实践提供更加灵活和高效的数据处理方式。
在金融领域,企业可以使用 Hudi 来处理大量需要实时查询和更新的金融交易数据。在电商业务中,企业可以使用 Hudi 来跟踪订单数据,以及对订单进行实时更新和查询。在物流和供应链管理中,Hudi 可以帮助企业实时处理和更新大量的物流数据,保证数据的一致性和可靠性。
(资料图)
作为一站式大数据基础软件的袋鼠云数栈,基于 Apache Hudi 为客户提供了存量数据迁移、数据入湖、文件治理等完整支持能力。在这个过程中,积累了一些 Hudi 性能优化的经验,希望通过本文与大家分享交流。
Hudi 原理简析
Apache Hudi 是一个开源的数据湖解决方案,它是基于 Hadoop 和 Spark 的技术栈构建而成,并且拓展到了 Flink、 Trino 等多种计算引擎。Apache Hudi 的主要目的是提供一个高效、可扩展且可靠的数据湖解决方案,用于管理和处理大规模的数据集。
Hudi 的核心实现是通过将数据集合划分为多个数据文件,并为每个数据文件维护一个数据版本和索引信息,来支持增量数据更新和查询操作。如下图所示,当用户需要对数据进行更新时,Hudi 会将更新的数据写入一个新的数据文件中,并通过写时复制(copy-on-write)操作,将原始数据文件中的数据记录复制到新的数据文件中,并在新的数据文件中更新对应的数据记录。
同时,Hudi 会更新数据版本和索引信息,以便用户可以根据数据版本和唯一标识符来访问最新的数据记录。当用户需要查询数据时,Hudi 会使用索引信息来定位数据记录,并返回最新的数据记录。
在 Hudi 的 merge on read 模式中,更新操作是通过在查询时将原始数据和更新数据进行合并来实现的。具体来说,当有新的数据要被写入时,Hudi 会将新数据追加写入到一个新的日志文件中,并在元数据文件中记录新文件的信息。当查询数据时,Hudi 会将所有数据文件进行合并,生成一个视图,然后对视图进行查询。
由于 Hudi 只需要在查询时将需要更新的数据进行合并,而不需要在写入时进行合并,因此可以避免写入时的性能开销,从而实现快速的更新操作。
Apache Hudi 在写入数据时创建一个新版本,而读取数据时通过将所有版本的数据进行合并来生成一个视图。在视图中,每个数据记录只出现一次,并且是最新的版本,这样可以保证读操作只会涉及到视图中的数据,而不会对原始数据进行修改,从而实现了读写分离。
通过多版本实现并发控制,Hudi 可以在保证数据一致性的前提下,提高读操作的性能,同时也保证了数据的可靠性和可扩展性。
Hudi 优化实践
下面介绍基于袋鼠云数栈的实践经验,所做的 Hudi 性能优化。
支持多索引
Hudi 将数据集合划分为多个数据文件,并为每个数据文件维护一个数据版本和索引信息,来支持增量数据更新和查询操作。通过构建索引就可以利用生成的元数据快速定位查询所需数据的位置,如下图所示。这样可以减少甚至避免从文件系统中扫描或者读取不必要的数据,减少 IO 的开销,大大提升查询效率。Hudi 已经支持几种不同的索引技术,并且还在不断地改进和添加更多的索引实现。
袋鼠云数栈支持用户在创建 Hudi 表时就设置想要使用的索引类型,包括 SIMPLE、BLOOM FILTER、BUCKET 等类型。在写入过程中,Hudi 会将索引信息写入到 parquet 文件或者外部存储中,在读取时应用程序根据这些信息进行比较判断,跳过不必要的数据文件。
Hudi 在0.11.0版本引入了 MetadataTable 这种多模式索引,利用 MetadataTable 汇总元数据信息,应用程序可以避免文件系统调用文件 Listing 操作(这在对象存储中是非常耗时的),还可以避免直接读取 parquet 文件中的 footer 信息,能够大幅提升查询性能。
袋鼠云数栈支持用户在建表时就开启多模式索引,在写入数据的同时将文件的索引信息也写入 MetadataTable。数栈还支持以异步的方式构建 MetadataTable,保证写入仍然处于低延迟的状态,再由后台的应用程序离线生成 MetadataTable 以提升读取性能。
由于 MetadataTable 依赖 base 文件记录的 column stats/bloomfilter 等信息,因此 merge on read 模式下没有办法将 log 文件的信息保存到 MetadataTable 中,开源框架上没有利用它实现进行文件过滤。
但考虑到 base 文件和 log 文件共用相同的 fileId,袋鼠云技术团队在数栈内部进行了改造:通过 MetadataTable 获取到 base 文件之后,再根据 fileId 进行 log 文件过滤,避免不必要读取。经过验证,这种改动能够使得 merge on read 模式具备和 copy on write 模式相同的过滤效果。
优化文件布局
在大数据存储中,文件布局优化是一种重要的性能优化技术。其主要目的是在数据写入时将数据按照一定的规则布局到存储介质中,以提高数据读取和处理的效率。文件布局优化可以采用多种方式,如时间戳排序、分区排序和合并文件等方式。
Hudi 提供了一种名为 Clustering 的文件布局优化方法,可以借此将小文件合并成较大的文件以减少查询引擎需要扫描的文件总数,或者利用空间填充曲线之类的概念来适应数据湖布局并减少查询读取的数据量。利用 Clustering,可以将具有相同查询特征的数据放到相邻的几个文件内,在查询时再根据索引信息进行过滤,能够有效减少需要读取的文件数量,降低计算成本。
袋鼠云数栈提供了可视化页面以方便用户对文件布局进行调整,用户可以根据需要自由设置排序策略、排序字段、过滤条件等,如下图所示,应用程序会周期性地在后台根据配置对文件进行优化。因为 Hudi 采用多版本组织文件,用户不需要担心优化任务会影响正在运行的读取任务,在优化完成后新的读取任务即可享受到新的布局带来的效率提升。
探索新特性
在落地 Hudi 的过程中,袋鼠云数栈也在积极跟踪实践社区的新功能新特性。
在 Hudi 0.13.0 中,Hudi 实现了“优化记录负载处理”的特性。通过设置 hoodie.datasource.write.record.merger.impls=org.apache.hudi.HoodieSparkRecordMerger 和 hoodie.logfile.data.block.format=parquet 两个参数避免了额外的复制和反序列化,在写入操作的整个生命周期内以统一的方式处理记录。
袋鼠云数栈测试和引入了这项特性,经过验证,更新性能相比上一版本有了约20%的提升,符合社区的描述。另外,数栈还参考了 Hudi 0.13.0 引入的 disruptor 无锁消息队列写入数据的新特性,通过设置 hoodie.write.executor.type = DISRUPTOR 和 hoodie.write.executor.disruptor.wait.strategy = BUSY_SPIN_WAIT 参数,结合前述的优化配置,更新性能整体提升了30%以上。
总结
Apache Hudi 的优势在于支持增量数据处理,具有良好的数据一致性和可靠性,同时提供多种性能优化技术,能够提高数据处理和查询的效率,具有良好的性能和可扩展性。
袋鼠云数栈团队在落地 Hudi 的过程中,验证了 Hudi 的多种索引,应用了文件组织优化功能,总结了常用的调优参数,为推动企业数据湖建设,提供可靠、高效、可扩展的数据湖解决方案积累了不少经验,能够帮助企业更好地管理和分析数据,提高业务决策的精度和效率。
《数栈产品白皮书》:https://www.dtstack.com/resources/1004?src=szsm
《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szbky
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack
关键词:
-
性能提升30%!袋鼠云数栈基于 Apache Hudi 的性能优化实战解析|世界新视野
ApacheHudi是一款开源的[数据湖解决方案](https: www dtstack com dte
来源: -
环球即时看!ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析
[toc]>VersionedCollapsingMergeTree引擎继承自MergeTree并将折叠行的
来源: 性能提升30%!袋鼠云数栈基于 Apache Hudi 的性能优化实战解析|世界新视野
视频直播源码技术知识分享:连麦功能(一)
环球即时看!ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析
北汽极狐成立法务部:200万粉丝知名汽车博主收到“告知函” 快资讯
中国首位!科学家付巧妹获联合国阿勒福赞奖-全球快播
226元大额券:361板鞋运动鞋休闲鞋74元抄底|全球百事通
离大谱!男子偷马路卖钱:把路分成小块去卖 天天时讯
3岁女童患罕见病 肚大如石鼓随时会“爆炸”:医生科普 续命针1次上万-环球快播
当前滚动:【后端面经-java】java线程池满的处理策略
Rust语言 - 接口设计的建议之受约束(Constrained)_天天最资讯
java~理解可重入锁 焦点速读
硬件博主自费实测5大旗舰手机信号:iPhone各种被狂虐
焦点热文:载亿万富翁观光潜艇失联 被曝用游戏手柄操控 专家:生还希望渺茫
电动汽车也能无线充电了:像手机一样简单 超大充电板长这模样
全球热议:微软停止涨薪影响明显:员工跳槽意愿上涨23%
11499元 三星首款5K专业显示器上架:配可拆卸4K摄像头
环球今日讯!java~字节码操作ASM
班主任和家长扮恐龙接中考生 现场让网友看笑:可爱的显眼包 全球信息
史上最深深海救援!观光潜艇失联:搜救无进展 氧气剩不多、或卡残骸中|全球讯息
公募基金派发约八百亿元“红包雨” 债基占比超八成
俄妹COS《塞尔达》公主火了 性感美艳:欧美曾呼吁塞尔达公主应黑人|时快讯
环球热文:破75%了!理想汽车家用交流充电桩安装率遥遥领先
比亚迪赵长江:腾势N7领先两代 将成为家用和年轻人首选大五座标杆SUV
全球短讯!年轻人第一辆车!“小米汽车”非官方渲染图又来了:质感拉满 你会买吗
读发布!设计与部署稳定的分布式系统(第2版)笔记07_线程阻塞_每日速递
每日看点!从0开始,手写MySQL事务
MySQL事务基础知识 世界快资讯
世界即时:AMD Zen4c 128核心偷跑:只要4万元 不到官价一半
游客新疆旅游拍下雪崩全过程:壮观至极 众人尖叫_世界热文
【环球新视野】孟晚舟亲自站台!华为新杀手锏能否打破国际垄断?
耶鲁大学华裔学生驾车身亡:父母获赔2.5亿元_世界通讯
全球快看点丨观光泰坦尼克号潜艇失联:将是史上最深深海救援 将近4000米
手机可拆卸电池即将回归 利大于弊?
霍启刚患上睡眠窒息症:会被自己打鼾声惊醒 医生称严重会猝死-全球快看
今日报丨北京市下周一通过柜台市场发行20亿元3年期地方债券
每日热闻!5人宿舍热3年用掉水费5275元 高校回应:还算正常 个人习惯不同
世界快讯:618全网销售总额增速降至近3年最低:总销售额7987亿元创新高
ARP与dns缓存攻击 --中间人攻击
文心一言 VS 讯飞星火 VS chatgpt (43)-- 算法导论5.4 7题
用Python写了一个「拥抱梅西」的小游戏
天天时讯:证监会:券商应规范开立综合账户 加强异常交易监测
女子称网购八喜冰淇淋发现少10g:客服赔付了500元
腾讯视频VIP年卡+京东PLUS年卡 双会员仅138元
17万买纯电7座 2024款AION V Plus上市:更有AI的家庭SUV 每日资讯
环球速看:百公里油耗仅需6.1L !全新问界m5曝光:或售价25万起
期望误差和经验误差的关系——期望误差上界
【焦点热闻】使用python对AWS-CloudTrail-Json-日志文件key字段名称的提取
天天日报丨决战暑期档!国产航空大片《长空之王》密钥再次延期:王一博主演
超越姚明!16岁女篮小将身高已达2米27 山东女篮主力 单场曾砍62分
国产显卡第一次!摩尔线程发布DX11社区版驱动 能玩5款游戏_世界聚焦
全球观焦点:价格跌倒iPhone吃饱!被群嘲的苹果竟成为618销冠
不再依赖进口锂矿 两款钠离子电池电动车来了:成本便宜30%
天天快消息!记录--前端实现文件预览(pdf、excel、word、图片)
InnoDB 内存结构之更改缓冲区 环球新消息
Springboot web,三层架构, IOC&DI 使用总结2023 关注
快讯 | ShowMeBug入选人力资源智享会《TPG红宝书》 观热点
精彩看点:中消协出手:反对扫码强制关注公众号 全国范围可举报
学生自掏30万拍作品:因获三等奖嫌低拒绝领奖_热文
号称性能最强轻薄掌机:AYANEO预热新AMD 7840U处理器掌机_天天即时看
210元大额券:礼盒装红蜻蜓男士真皮自动皮带49元大促_环球新资讯
还买啥RTX 3060 英特尔A770 16GB显卡1779元
热推荐:史上最全Hadoop面试题:尼恩大数据面试宝典专题1
kafka的学习之一_带SASL鉴权的集群安装与启动
全球今日讯!债市日报:6月20日
科学家警告:用AI生成内容训练AI 几代内将产生“垃圾”
《暗黑破坏神4》官方晒自定义RTX4080显卡 莉莉丝雕塑逼真吗?
微头条丨毕业典礼上学生帽穗丢了:老师无实物拨穗
环球热门:高考后考生特种兵式出游有多拼?准大学生凌晨2点坐飞机五天游五城
采用模块化可拆卸设计:Fairphone 5手机承诺提供5年保修
Python工具箱系列(三十六) 全球资讯
华为云GaussDB为MetaERP“成本核算”产品“保驾护航” 天天观热点
【经验贴】多项目并行,如何解决资源管理这个难点? 热闻
这里的工业为何跑出“加速度”?——福建宁德工业企业一线观察|每日焦点
世界观焦点:被曝脏乱粽子厂曾中标学校配餐项目 卫生脏乱粽子厂抽检曾发现问题
环球今日讯!高考生们看过来!“2023年高考网上咨询周”时间安排公布
当前视点!高速停车致三车追尾自己却溜了 驾驶员称跟自己没关系 被判全责
无毒无污染、更完美!长征六号火箭第11次成功发射|焦点速读
今日热文:手机为何不再使用可拆卸电池?原因揭开
天涯社区苦等“救命钱”!重启天涯宣布再开直播:筹款还是300万|快消息
LPR利率下调10个基点,如何影响你的房贷利率? 播报
世界速讯:以梦为码 自主创新 | 华为云开发者日成都站圆满举行!
ElasticSearch安装与使用-每日视点
天天信息:全国铁路7月1日起实行新的列车运行图 客、货列车分别增加46列和394列
每日消息!中方在世贸组织提交贸易与环境政策相关提案
家居巨头宜家引入AI:下一代沙发将由人工智能设计
华硕Zenfone 10外观首曝:二代骁龙8小屏旗舰
地表最强RTX 4090!索泰RTX 4090 PGF显卡图赏 世界简讯
广州新规:快递入柜需收件人同意 虚假签收最高可罚三万!
天天信息:长虹发布全球首款多模态交互电视:不管说什么都能听懂
天天速读:南方强降雨频繁有致灾风险 北方高温明起再登场
微动态丨标准IO使用复习
视讯!ABAQUS 模拟过盈配合解决材料选择及公差带设计等问题
全球观察:maven 使用总结2023
人民银行合肥中心支行联合交易商协会举办债务融资工具业务培训|环球滚动
货币宽松抬升经济复苏放缓预期 日债收益率曲线延续趋陡-快讯
每日热闻!英亿万富翁探索泰坦尼克号残骸 现已失联超24小时!
售价超20万元 AMD最贵显卡MI300X诞生:192GB显存史无前例
今日聚焦!雷军武汉大学演讲:36年前教授这句话打通我任督二脉
一天两瓶喝不够:认养一头牛酸/纯奶30盒79.9元抄底(50元立减券)_今日热文
原装进口!雀巢黑咖啡官旗大促:券后每杯仅需0.6元|天天热点