脚本宝典收集整理的这篇文章主要介绍了Spark优化工具:Sparklens实操,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
该文发布时间是2022年1月11日。为什么这么说呢。因为我测试的数据湖iceberg和deltaLake,10个月时间就更新好多新东西,之前测试的基本没啥参考价值了。下面进入正题。
我们Spark版本是2.3.2,每天跑的程序嗷嗷多,占的资源也嗷嗷多。为了方便统计,我做了个资源排行榜看板。
排行榜前10占的资源实在太大了。我想着找个工具来检查一下使用情况。所以找到了Sparklens,这个工具去年我有看到过。只不过当初没考虑这个优化的问题,所以拖到现在。言归正传,相信大家的集群都是网络隔离的吧。这两天我看了一下有关这个工具的文章,给我气的啊。都是复制粘贴别人的,身为技术人员就不能自己写一套试试F1f;CSDN上看到复制粘贴气不过骂了几句之后,冷静下来干脆自己写吧。
相关文章帖子自己在CSDN上自己看吧。懒得再复制粘贴。但是值得提醒的是,截止2022-01月,这个工具已经4年没更新了。
GITHub:GitHub - qubole/sparklens: Qubole Sparklens tool for PErformance tuning apache Spark
官网(后面解析json用):http://sparklens.qubole.COM/
先说我们集群版本
Spark | 2.3.2 |
hadoop | 2.8.4 |
Sparklens | github上最新master |
sBT | 1.3.0 |
从git上把最新版本拉下来之后,需要手动编译成jar包。
因为这玩意儿,是4年前更新的,所以很多网址和包都不好下。我填了很多坑。最后依然没有很好解决。所以我按照目前sbt最新编译方式编译通过了。目前我的方法是以下。
注释掉这个。因为sbt-asSEMbly已经不好下载了。sbt-spark-package已经6年没更新了。
build.sbt文件只留有用的
注意的是版本一定对应自己集群的版本号。现在可以编译了。
编译完就得到了包。
根据github上的操作使用(我实在懒得翻译了,截图给你们)
所以我在执行的时候加上参数。
--jars /data/tmp/liyalong/jar/sparklens_2.11-0.3.2.jar --conf spark.extraListeners=com.qubole.sparklens.QuboleJobListener
spark-submit --jars /data/tmp/liyalong/jar/sparklens_2.11-0.3.2.jar
--conf spark.extraListeners=com.qubole.sparklens.QuboleJobListener
--class Model.User_Cz_Bl_PRob_model
--master yarn
--deploy-mode client
--driver-memory 8G
--executor-memory 16G
--executor-cores 6
--num-executors 15
--conf spark.default.parallelism=450
--conf spark.SQL.shuffle.partitions=450
--driver-java-options "-Xss60m"
--queue bi
/data/source/data_warehouse/model/jar/smzdm_2.11-0.1.jar 2022-01-09 yc
跑完之后会生成json日志。在HDFS的 /tmp/sparklens/ 目录下
这时候我们需要打开官网,向下翻。输入自己的邮箱,然后把咱们服务器上的json传进去。
然后点击发送等邮件里得到解析地址
打开这个链接就看到官网为我们解析好的报表了。
链接我就不隐藏了,方便其他人观摩,不知道啥时候过期。
查看可优化空间(下图)
(我这个随机森林模型优化空间这么大么?好尴尬)
模拟出每个核数下跑批时间和集群利用率(下图)
每个stage下的资源使用情况(下图)实际执行的executor的数量和设置的数量(下图)
显示了应用程序中所有阶段和作业中所有任务的每个值的最小值、最大值、总和和平均值等摘要信息(下图)
还是非常棒的。有的集群json文件不好拿下来。当然也可以直接跑spark程序去获取信息。
spark-submit
--jars /data/tmp/liyalong/jar/sparklens_2.11-0.3.2.jar
--class com.qubole.sparklens.app.ReporterApp
qubole-dummy-arg /tmp/sparklens/application_1635837258039_866933.sparklens.json
执行完是这样子滴。
我这个应该是CSDN上唯一自己测试Sparklens的文章了吧,觉得好就收藏。
不要抄袭不要抄袭不要抄袭。我TM最烦就是直接拷贝了。
可以转载但是别抄袭。转载请标明转载地址。
以上是脚本宝典为你收集整理的Spark优化工具:Sparklens实操全部内容,希望文章能够帮你解决Spark优化工具:Sparklens实操所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。