Spark优化工具:Sparklens实操

发布时间:2022-06-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Spark优化工具:Sparklens实操脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

该文发布时间是2022年1月11日。为什么这么说呢。因为我测试的数据湖iceberg和deltaLake,10个月时间就更新好多新东西,之前测试的基本没啥参考价值了。下面进入正题。

我们Spark版本是2.3.2,每天跑的程序嗷嗷多,占的资也嗷嗷多。为了方便统计,我做了个资源排行榜看板。

Spark优化工具:Sparklens实操

排行榜前10占的资源实在太大了。我想着找个工具来检查一下使用情况。所以找到了Sparklens,这个工具去年我有看到过。只不过当初没考虑这个优化的问题,所以拖到现在。

言归正传,相信大家的集群都是网络隔离的吧。这两天我看了一下有关这个工具的文章,给我气的啊。都是复制粘贴别人的,身为技人员就不能自己写一套试试F1f;CSDN上看到复制粘贴气不过骂了几句之后,冷静下来干脆自己写吧。 

什么是Sparklens?

相关文章帖子自己在CSDN上自己看吧。懒得再复制粘贴。但是值得提醒的是,截止2022-01月,这个工具已经4年没更新了。

GITHub:GitHub - qubole/sparklens: Qubole Sparklens tool for PErformance tuning apache Spark​​​​​​

官网(后面解析json用):http://sparklens.qubole.COM/

Sparklens实操

先说我们集群版本

Spark2.3.2

hadoop

2.8.4
Sparklensgithub上最新master
sBT1.3.0

1、首先编译(坑多)

从git上把最新版本拉下来之后,需要手动编译成jar包。 

因为这玩意儿,是4年前更新的,所以很多网址和包都不好下。我填了很多坑。最后依然没有很好解决。所以我按照目前sbt最新编译方式编译通过了。目前我的方法是以下。

Spark优化工具:Sparklens实操

注释掉这个。因为sbt-asSEMbly已经不好下载了。sbt-spark-package已经6年没更新了。

Spark优化工具:Sparklens实操

build.sbt文件只留有用的

Spark优化工具:Sparklens实操

注意的是版本一定对应自己集群的版本号。现在可以编译了。

编译完就得到了包。

Spark优化工具:Sparklens实操

 如何使用Sparklens?

根据github上的操作使用(我实在懒得翻译了,截图给你们)

Spark优化工具:Sparklens实操

所以我在执行的时候加上参数。

--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/ 目录下

Spark优化工具:Sparklens实操

如何查看日志?

这时候我们需要打开官网,向下翻。输入自己的邮箱,然后把咱们服务器上的json传进去。

Spark优化工具:Sparklens实操

 然后点击发送等邮件里得到解析地址

Spark优化工具:Sparklens实操

 打开这个链接就看到官网为我们解析好的报表了。

链接我就不隐藏了,方便其他人观摩,不知道啥时候过期。

查看可优化空间(下图) 

(我这个随机森林模型优化空间这么大么?好尴尬)

Spark优化工具:Sparklens实操

模拟出每个核数下跑批时间和集群利用率(下图)

Spark优化工具:Sparklens实操

 每个stage下的资源使用情况(下图)

Spark优化工具:Sparklens实操

实际执行的executor的数量和设置的数量(下图) 

Spark优化工具:Sparklens实操

显示了应用程序中所有阶段和作业中所有任务的每个值的最小值、最大值、总和和平均值等摘要信息(下图)

Spark优化工具:Sparklens实操

 还是非常棒的。

有的集群json文件不好拿下来。当然也可以直接跑spark程序去获取信息。

集群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

执行完是这样子滴。

Spark优化工具:Sparklens实操

 

Spark优化工具:Sparklens实操

 

Spark优化工具:Sparklens实操

Spark优化工具:Sparklens实操

Spark优化工具:Sparklens实操

  

我这个应该是CSDN上唯一自己测试Sparklens的文章了吧,觉得好就收藏。

不要抄袭不要抄袭不要抄袭。我TM最烦就是直接拷贝了。

可以转载但是别抄袭。转载请标明转载地址。

脚本宝典总结

以上是脚本宝典为你收集整理的Spark优化工具:Sparklens实操全部内容,希望文章能够帮你解决Spark优化工具:Sparklens实操所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。