数据湖表格式 Hudi/Iceberg/DeltaLake/Paimon TPCDS 性能对比(Spark 引擎)

当前,业界流行的集中数据湖表格式 Hudi/Iceberg/DeltaLake,和最近出现并且在国内比较火的 Paimon。我们现在看到的很多是针对流处理场景的读写性能测试,那么本篇文章我们将回归到大数据最基础的场景,对海量数据的批处理查询。本文主要介绍通过 TPC-DS 3TB 的数据的99个SQL,对这几种数据湖表格式的查询性能做一个全面的测试。

测试环境

我们选择使用 Aamzon EMR Serverless 作为测试的基础环境,版本选择 EMR 最新的 7.1.0。Spark 版本为 3.5.0。

Amazon EMR Serverless 已经集成了 Hudi,Iceberg,Delta Lake,所以我们直接使用集成的版本,而Paimon,是通过外部依赖使用的是 paimon-spark-3.5-0.8.1

测试数据是通过 TPC DS 工具生成好的 3TB 的 parquet 数据文件,我们把着 3TB 的文件分别以这几种表格式的类型写入各自的表中。

每张表的数量如下:

表名 记录数
call_center 48
catalog_page 36000
catalog_returns 432006840
catalog_sales 4320004419
customer 30000000
customer_address 15000000
customer_demographics 1920800
date_dim 73049
household_demographics 7200
income_band 20
inventory 1033560000
item 360000
promotion 1800
reason 67
ship_mode 20
store 1350
store_returns 864006076
store_sales 8251110748
time_dim 86400
warehouse 22
web_page 3600
web_returns 215999442
web_sales 2159391499
web_site 66

每个表格式的版本

OTF Version
Hudi 0.14.1
Iceberg 1.4.3
DeltaLake 3.0.0
Paimon 0.8.1

Spark 配置参数
--conf spark.dynamicAllocation.enabled=false
--conf spark.driver.cores=4
--conf spark.driver.memory=5g
--conf spark.executor.cores=4
--conf spark.executor.memory=6g
--conf spark.executor.instances=47

测试结果

我们分别在EMR Serverless 使用最大资源配置 400 vCPUs, 3000 GB memory, 20000 GB disk 运行了4 种OTF的查询测试,得到如下的结果,下图是每一个sql的执行时长,所以数值越小,说明查询用时越短。

测试过程中 Iceberg,Delta Lake 的SQL 是全部运行成功的

Hudi 在执行 q2,q3 失败

Paimon 在执行 q4,q5 失败,发现应该是在运行作业的时候,shuffle 数据导致磁盘空间不足,因此在启动 Paimon 作业的时候,在EMRServerless启动参数中,又单独添加了指定磁盘大小的参数 spark.emr-serverless.executor.disk=100g

通过上图,初步看到,Paimon 在 query 场景下的性能与其他集中 OTF 格式有一定差距。

将每种OTF的运行时长累加:

这样对比就更明显,Delta Lake 在 Spark 下的查询性能更优,着应该跟 spark 背后的 databrick 的优化有不小的关系, Iceberg 其次,第三是 Hudi。而 Paimon 表现最差,它的执行时长(5100+s)则超过了 Iceberg(2100+s) 的两倍,相比 Deltalake(1600+s)也有三倍的差距。

相关推荐
奋斗的老史33 分钟前
Spring-Boot 集成 TDengine 完整实战
大数据·时序数据库·tdengine
郑洁文42 分钟前
音乐数据分析研究与应用
大数据·数据挖掘·数据分析·音乐数据分析
成长之路5142 小时前
【实证分析】地市环境规制综合指数测算-原始数据+do代码(2011-2024年)
大数据
逸模2 小时前
AI+BIM 重构连锁公装新范式 逸模打造数字化营建核心底座
大数据·人工智能·笔记·其他·信息可视化·重构
谁似人间西林客3 小时前
工业大数据实战:看中国智造如何用数据驱动效率革命
大数据·单例模式
2501_933670793 小时前
数学成绩偏弱是否能填报大数据专业
大数据
陆水A4 小时前
【实时数仓·3】Flink多表JOIN状态爆炸——Event Time Temporal JOIN + TTL分层治理
大数据·数据仓库·数据分析·flink·数据库开发·bigdata
INGNIGHT4 小时前
Flink 的三种一致性语义
大数据·flink·linq
湘美书院--湘美谈教育4 小时前
湘美谈教育AI经验集锦:有些东西,它们很难蒸馏
大数据·人工智能·深度学习·机器学习
xiaofj1004 小时前
reglock工作机制
大数据·安全