问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

spark中,dataset和dataframe的性能比较?

发布网友 发布时间:2024-10-01 16:52

我来回答

1个回答

热心网友 时间:2024-11-08 05:18

在探讨 Spark 中 Dataset 和 DataFrame 的性能比较时,发现了几个关键问题影响基准测试结果。首先,构造 DataFrame 时显式使用 Row,这实际上导致了对象创建数量的显著增加。相比之下,构造 Dataset 时对象数量仅为 DataFrame 的四分之一,这是因为 Dataset 内部的 Int 类型未被自动箱化(auto-boxing)。其次,基准测试中使用了 show() 方法,这默认仅展示前20行数据。这样,排序代码实际上等同于对 DataFrame 进行排序并限制输出20行,Spark 自动优化为计算 top-K 来实现这一目标。最后,生成的数据量均在 driver 端产生,导致序列化开销巨大,尤其当数据量达到数千万级别时更为显著。

通过改进生成数据的方式,可以大幅减少序列化开销。将 DataFrame 的生成改为懒惰计算,避免一次性生成大量对象,从而减少序列化时间。同时,Dataset 的生成也可以通过将数据生成移到 executor 端来降低序列化成本。这种改进后,Dataset 的性能与 DataFrame 相比,差距会显著减小,甚至在某些情况下可能会表现得更好。

值得注意的是,Dataset 在类型安全方面的额外开销,以及内部 Scala closure 的序列化操作,都可能影响其性能。然而,基准测试的复杂性以及测试用例的简单性,可能使得这些成本在测试结果中不明显。此外,DataFrame 实际上就是 Dataset[Row],因此在转换过程中也会产生额外开销。

对于真实的性能比较,可以将基准测试的输出方式从 show() 更改为 foreach { _ => },这样可以更准确地衡量对所有数据进行排序的性能。然而,基准测试的实现仍需改进,以减少由 JVM 的 JIT 编译器等因素带来的影响。对于严肃的基准测试,建议使用 JMH 等工具进行。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
LG棒棒糖GD580这么看书 lg gd580怎么用moto看小说 各种海鲜馅饺子大全 海鲜水饺都有什么馅儿的 用网上交易系统进行股票操作资金安全吗,我是在中信建投开的户 北京瀚正化妆学校包就业吗 通江车检在哪里,可以摩托车年审不? 摩托车年审在通江县哪里啊 我是四川省通江县人、我是摩托车驾驶证,以快到期,请问我在江苏无锡... 通江县哪里可以托运摩托车 pyspark DataFrame的基本概念及基本使用 icloud怎么用教你轻松学会iCloud设置 海信电视怎么看中央台 tcl智能电视怎么调中央台? 怎么调电视节目到中央台? tcl电视怎么搜索不到中央台? 我造价专业毕业,在一家工程造价事务所实习 每天都是自己看书画图没事儿... 建筑工程造价专业自我鉴定范文 请问富士S56OO现在什么价位? 大家帮我推荐一款消费级数码相机吧,价格在2000-3500之间,谢谢~~~_百 ... ...是因为徕卡镜头的原因吗?富士的就便宜好多? ...媳妇的公积金总额为4252.8,一年后使用公积金贷款的话,可以贷多少钱... 如何做好国外网络推广,国外有哪些营销渠道? 狗两只耳朵不一样 捡到的流浪狗怎么知道有没有绝育? 妄想山海青菩冰沙怎么做?妄想山海青菩冰沙如何做 现在iPhone4s美版的价格 虞智武盯牢市场需求这张“晴雨表” 微星MSI 845E MAX 主版驱动 电脑太落后了Intel845E的不要了送人换台新电脑4500左右请给个配置_百... 告诉某人某事用英语怎么表达 我可以告诉他吗?用英语翻译一下 格式塔心理学派名词解释 构造主义心理学及代表人物介绍 我的建行存折是在小学办的,现在存折不见了,忘了密码和账号,想挂失补办... 请问挂失重新办存折需要多久?是建行的 谢谢! 电脑总是自己刷新怎么回事儿? 为什么电脑桌面会自动刷新啊? 电脑桌面自动刷新是什么原因啊? 牡丹灵通卡E时代网上银行的问题 牡丹灵通卡和牡丹灵通e时代的疑惑 魅族16s有语音唤醒吗 windows11怎么下载腾讯游戏 电脑里怎么下载腾讯游戏 微信公众平台注册为个人订阅号名称问题? 公众号改名需要认证吗? 变更商标申请需要哪些文件 我有个朋友 是女生 她今年第一年当初中的班主任 班里总是有几个学生上 ... 拽一点的qq个性签名 qq个性签名拽霸气 求qq网名一个,14岁的一个学生用,最好有配套的个性签名