spark应用程序_Sparklens:Spark应用程序优化工具

spark应用程序

Sparklens是带有内置Spark Scheduler模拟器的Spark分析工具:它使您更容易理解Spark应用程序的可扩展性限制。 它有助于了解给定Spark应用程序使用提供给它的计算资源的效率。 它已在Qubole实施并维护。 它是开源的( Apache License 2.0 ),已经在Scala中实现。

Sparklens的一个有趣特征是它具有通过一次运行Spark应用程序生成估计的能力。 它报告信息,例如估计的完成时间和使用不同数量的执行者的估计的群集利用率,作业/阶段时间线,该时间线显示了如何在作业中安排并行阶段以及每个阶段的指标很有趣。 有四种使用Sparklens的方法:

  • 现场模式
  • 离线模式
  • 在事件历史记录文件上运行
  • 笔记本电脑

在这篇文章中,我仅关注实时和离线模式。

现场模式

通过使用以下选项,Sparklens可以在应用程序执行时运行(对于
火花提交
火花壳 ):

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

或通过编程方式将Sparklens依赖项添加到Java / Scala项目中(这是Maven的示例):

<repositories><!-- Mandatory: the Sparklens artifact aren't in Maven Central --><repository><id>qubole-maven-repo</id><name>Qubole Maven Repo</name><url>http://dl.bintray.com/spark-packages/maven/</url></repository><repository><id>central</id><name>Maven Repository Switchboard</name><layout>default</layout><url>http://repo1.maven.org/maven2</url><snapshots><enabled>false</enabled></snapshots></repository>
</repositories> 
...
<dependency><groupId>qubole</groupId><artifactId>sparklens</artifactId><version>0.2.1-s_2.11</version>
</dependency>

然后按以下方式配置其侦听器(对于Spark 1.X)

SparkConf conf = new SparkConf();
conf.setMaster(master);
conf.setAppName("Spark app name");
conf.set("spark.extraListeners", "com.qubole.sparklens.QuboleJobListener");
JavaSparkContext jsc = new JavaSparkContext(conf);

或如下(对于Spark 2.x)

SparkSession spark = SparkSession.builder().appName("Spark app name").master(master).config("spark.extraListeners", "com.qubole.sparklens.QuboleJobListener").getOrCreate();

离线模式

Sparklens可以稍后运行,而不必在执行时运行。 可以通过在Spark应用程序配置中添加以下属性来进行设置:

conf.set("spark.sparklens.reporting.disabled", "true");

在Spark应用程序执行结束时,仅生成JSON数据文件。 默认的保存目录是/ tmp / sparklens ,但是可以通过以下配置属性更改目标:

conf.set("spark.sparklens.data.dir", "/home/guglielmo/sparklens");

然后,该文件可用于通过以下方式独立运行Sparklens:
spark-submit命令如下:

$SPARK_HOME/bin/spark-submit --packages qubole:sparklens:0.2.1-s_2.11 \--class com.qubole.sparklens.app.ReporterApp qubole-dummy-arg <datafile_path>

上面的命令从JSON数据文件开始,生成的报告具有与实时模式下生成的布局相同且包含相同结果的报告。

那个报告

这些是最终报告中可用的信息:

  • 效率统计信息(驱动程序与执行程序时间,关键和理想应用时间,驱动程序和执行程序浪费的核心计算时间)。
  • 具有不同执行程序计数的预测挂钟时间和群集利用率。
  • 每阶段指标。
  • 随着时间的推移,执行人员可用,执行人员也需要。
  • 基于任务的汇总指标。

结论

我和我的团队最近开始采用此工具,到目前为止,我们发现了解由其他团队开发的Spark应用程序的可伸缩性限制确实有用,但是需要在我们的基础架构中执行。 该工具生成的最终报告提供了一组全面的信息,这些信息绝对有助于指出正确的方向,以发现潜在的可伸缩性问题和需要改进的地方。

生成的报告采用文本格式,其中包含上述所有指标和信息。 Qubole提供了 在线服务 ,可从上传的JSON数据文件开始,生成具有交互式图表和表格的用户友好且优雅的报告。 无论您是组织机构,还是不允许您共享在公司基础结构中执行的Spark应用程序上运行Sparklens生成的JSON数据,都需要保留文本报告。 为了解决这种情况,我正在考虑实现并发布一个开源Java库,以在本地环境中从Sparklens JSON数据文件或文本报告开始生成用户友好的报告。 请通过评论此帖子来注册您对此库的兴趣。 谢谢。

翻译自: https://www.javacodegeeks.com/2019/02/sparklens-tool-spark-applications-optimization.html

spark应用程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html图片自适应浏览器高度,css如何高度自适应浏览器高度?

高度自适应就是高度能跟随浏览器窗口的大小改变而改变&#xff0c;典型的运用在一些后台界面中上面一栏高度固定用作菜单栏或导航栏&#xff0c;下面一栏高度自适应用于显示内容。在IE7及chrome、firefox等浏览器中&#xff0c;高度自适应可以利用绝对定位来解决。但一个元素是…

Windows下Maven的下载、安装及IntelliJ IDEA集成配置

文章目录下载和安装 Maven创建本地仓库配置本地仓库路径配置环境变量IDEA 中配置 Maven 的本地仓库解决IntelliJ IDEA 创建Maven项目速度慢问题下载和安装 Maven 下载地址&#xff1a;https://maven.apache.org/download.cgi 压缩包下载后&#xff0c;将压缩包解压到合适的位置…

gis里创建要素面板怎么打开_【从零开始学GIS】ArcGIS中的绘图基本操作(二)

大家好&#xff0c;我是肝教程肝到熊猫眼的三三。本系列教程的发布&#xff0c;受到了很多同学的鼓励&#xff0c;大家在后台或微信上表达出对教程的喜爱&#xff0c;这便是更新教程的最大动力。上回教程讲解了“GIS基本操作”、“创建文档&#xff06;加载数据”、“创建GIS数…

openjdk 编译_使用OpenJDK 11运行JAXB xjc编译器

openjdk 编译如文章“ 要从Java 11中删除的API ”所述&#xff0c;JDK 11不再包括 JAXB实现。 在本文中&#xff0c;我将结合使用JAXB &#xff08; 用于XML绑定的Java体系结构 &#xff09; 参考实现提供的xjc编译器和OpenJDK 11&#xff0c;将XML模式文件编译成Java类。 在J…

四川巴中中学2021高考成绩查询,巴中市高中排名(2021巴中市中学前十排名)

四川省的巴中市在我国全部革命史上面拥有超逸影响力&#xff0c;而且这所大城市也有着着悠长的历史时间。大城市内创立的普通高中不计其数&#xff0c;在其中四所普通高中成绩显著。而且这四所普通高中全是省部级示范性初中。1、通江中学在四川省巴中市漂亮的通江县&#xff0c…

unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?

Python是增长最快的主要通用编程语言。原因有很多&#xff0c;比如它的可读性和灵活性&#xff0c;易于学习和使用&#xff0c;可靠和高效。 有两个主要的Python版本被使用- 2和3 (Python的现在和未来);前者将看不到新的主要版本&#xff0c;而后者正在积极开发中&#xff0c;在…

IntelliJ IDEA for Mac的安装目录

点击显示包内容&#xff0c;就可以打开 IDEA 的安装目录了&#xff0c;如下图所示&#xff1a; 安装目录路径如下&#xff1a; /Applications/IntelliJ IDEA.app/Contents

spring序列化_使用@JsonIdentityInfo的Spring自定义序列化器

spring序列化介绍 Spring中从JSON到JSON的序列化/反序列化已广泛用于基于Spring的现代应用程序中。 它基于杰克逊。 Jackson可以轻松地将任何POJO序列化为JSON&#xff0c;反之亦然。 这段代码写得很好。 我从来没有遇到任何问题。 涉及自定义序列化程序时&#xff0c;将变得更…

阐述计算机网络的作用答案,计算机网络习题及答案(50页)-原创力文档

计算机网络习题及答案第一章 计算机网络的基本概念一、选择题√1、完成路径选择功能是在 OSI 模型的( )。A.物理层 B.数据链路层 C. 网络层 D.运输层2、在 TCP/IP 协议簇的层次中&#xff0c;保证端-端的可靠性是在哪层上完成的&#xff1f;()A. 网络接口层 B.互连层 C.传输层 …

python func_Python functool module

1.functools.partial(func,*args,**keywords) 实现 def partial(func, *args, **keywords):def newfunc(*fargs, **fkeywords): newkeywordskeywords.copy() newkeywords.update(fkeywords)return func(*args, *fargs, **newkeywords) newfunc.funcfunc newfunc.argsargs newfu…

IntelliJ IDEA for Mac中的Maven操作窗口详解

文章目录简介操作按钮详解Reload All Maven ProjectsGenerate Sources and Update Folders For All ProjectsDownload Sources and/or DocumentationAdd Maven ProjectsRun Maven BuildExecute Maven GoalToggle Offline ModeToggle Skip Tests ModeShow Dependencies布局展示模…

java 验证码透明背景_Java中的证书透明度验证

java 验证码透明背景因此&#xff0c;我有一个幼稚的想法&#xff0c;即除了证书有效性检查&#xff08;在Java中&#xff09;之外&#xff0c;将证书透明性验证作为每个请求的一部分也很容易。 牺牲了整个周末的一半时间&#xff0c;我可以证明这并不是一件小事。 但是&#…

html ajax请求jsp,JSP+jquery使用ajax方式调用json的实现方法

本文实例讲述了JSPjQuery使用Ajax方式调用JSON的实现方法&#xff0c;在这里分享给大家以供大家参考&#xff0c;具体的实现以及代码如下所示&#xff1a;前台&#xff1a;//testfunction test(uid){if(confirm("确定该用户操作"uid"吗&#xff1f;")){var…

ai背景合成_智能合成AI主播很危险,应立即取消!

邱震海分享我对时政问题的看法点击↑↑↑音频收听“倾听彼得 邱”音频背景每年两会&#xff0c;关注报道两会的记者多达3000多人&#xff0c;他们分布在会场内外及时捕捉两会动人瞬间和重要时刻&#xff0c;及时向全国乃至全球读者传递。但是今年的两会报道期间&#xff0c;新…

spring注入私有字段_Spring字段依赖注入示例

spring注入私有字段了解如何编写Spring Field Injection示例 。 字段注入是Spring框架 依赖注入的一种 。 在本教程中&#xff0c;我们将编写几个类&#xff0c;并看一看现场注入工程。 有关Spring依赖注入的更多信息&#xff1a; Spring Setter依赖注入示例 Spring构造函数…

简述html的3种列表uloldl,语义化HTML:ul、ol和dl

一、语义化元素1. ul标签W3C草案&#xff1a;The ul element represents an unordered list of items; that is, a list in which changing the order of the items would not change the meaning of list.语义化元素&#xff1a;表示包含一组无序列表项内容。在不同的浏览器默…

centos8 kernel source 安装_什么?你在物理机上安装Oracle总失败?那就试试Docker吧

写在前面有些小伙伴按照我写的《【Oracle】什么&#xff1f;作为DBA&#xff0c;你竟然不会安装Oracle&#xff1f;&#xff1f;》一文&#xff0c;在CentOS 8.0服务器上来安装Oracle&#xff0c;总是说&#xff1a;安装不成功&#xff01;但是我确实也是在CentOS 8.0服务器上安…

Maven的资源坐标

在 Maven 中&#xff0c;坐标是资源包的唯一标识&#xff0c;Maven 通过坐标在仓库中找到唯一的资源。 下面就是 javax.servlet-api-4.0.1.jar 的坐标&#xff1a; <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</…

starter_您是否尝试过MicroProfile Starter?

starterhttps://start.spring.io的SPRING INITIALIZR已经存在了一段时间&#xff0c;并且是引导新的Spring Boot应用程序的最佳方法。 到目前为止&#xff0c;即使不同的供应商为其实施提供了启动器&#xff0c;也没有类似的方式来引导新的MicroProfile项目。 但是等待已经结束…