Spark调优工具--Sparklens详解

Sparklens是一款用于分析Spark作业性能的开源工具,帮助优化Spark配置。它可以实时收集作业运行信息,提供关于Executor数量、Vcore使用效率等方面的详细报告,指导调整executor和vcore设置,提升Spark作业效率。
摘要由CSDN通过智能技术生成

前言
Sparklens如何使用
Sparklens生成的报告
参考

前言

Sparklens是一个可以帮助你了解你的Spark job效率的开源工具。Spark是个近些年来非常受欢迎的基于内存并行计算框架架,它有丰富的API支持,还支持 Spark SQL,MLlib,GraphX和Spark Streaming。在提交Spark Job的时候,我们会需要设置一些config, 虽然这极大的增加了开发者对于Spark job的控制灵活性,但是也会给优化Spark Job带来一些困难。我们平时写Spark Job的时候最长苦恼的应该就是如果和调节memoery,vcore这些参数,资源申请少了会造成job的失败,多了就会造成资源的浪费。所以Sparklens就是这么一个让你更加了解你的job运行情况,从而有效的进行Spark tuning的工具。

Sparklens如何使用

和你的Job一起运行

这种方式是指当你的job在运行的时候,sparklens会实时的开始收集job的运行信息,最后打印结果。只要你的node能联网,那么你只需要在你的提交命令里面加上如下两行(当然如果没有网,你也可以从网上下载package之后打包运行):

--packages qubole:sparklens:0.1.2-s_2.11
--conf spark.extraListeners=com.qubole.sparklens.QuboleJobListener

Job跑完之后使用

这种方式会在你的job运行时生成一个Json文件在HDFS(默认)上,路径默认是/tmp/Sparklens。如果你想要设置自己的路径,可以通过配置spark.sparklens.data.dir来完成。

  1. 首先你需要在运行你自己的spark job的时候在提交命令里面加上:
--packages qubole:sparklens:0.3.1-s_2.11
--conf spark.extraListeners=com.qubole.sparklens.QuboleJobListener
--conf spark.sparklens.reporting.disabled=true
  1. 之后根据生成的Json文件,另外启动一个Job来获取分析你的Sparklens的报告结果
./bin/spark-submit --packages qubole:sparklens:0.3.1-s_2.11 --class com.qubole.sparklens.app.ReporterApp qubole-dummy-arg <filename>

从event-log里面获取

这种方式就是根据event log来生成Sparklens的报告,当然你需要在你的spark job里面enable event-log(之前的文章有提到event-log的相关知识)。

./bin/spark-submit --packages qubole:sparklens:0.3.1-s_2.11 --class com.qubole.sparklens.app.ReporterApp qubole-dummy-arg <filename> source=history

Sparklens生成的报告

这里给出一个我自己例子来具体分析下。这里我跑了一个wordcount的spark Job,申请了2个executor(Spark on Yarn,相当于Yarn的container),1G的memory。 应用的是第一种Sparklens的使用方式,在job结束之后,从输出的log里拿到了Sparklens的报告结果。

Printing application meterics. These metrics are collected at task-level granularity and aggregated across the app (all tasks, stages, and jobs).
AggregateMetrics (Application Metrics) total measurements 2 
                NAME                        SUM                MIN           MAX                MEAN         
 diskBytesSpilled                            0.0 KB         0.0 KB        
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值