Spark学习之Spark调优与调试(7)
Spark学习之Spark调优与调试(7)
1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项。
当创建一个SparkContext时就会创建一个SparkConf实例。
2. Spark特定的优先级顺序来选择实际配置:
优先级最高的是在用户代码中显示调用set()方法设置选项;
其次是通过spark-submit传递的参数;
再次是写在配置文件里的值;
最后是系统的默认值。
3.查看应用进度信息和性能指标有两种方式:网页用户界面、驱动器和执行器进程生成的日志文件。
4.Spark执行的组成部分:作业、任务和步骤
需求:使用Spark shell完成简单的日志分析应用。
scala> val input =sc.textFile("/home/spark01/Documents/input.text")
input: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[3] at textFile at <console>:27
scala> val tokenized = input.map(line=>line.split(" ")).filter(words=>words.size>0)
tokenized: org.apache.spark.rdd.RDD[Array[String]] = MapPartitionsRDD[5] at filter at <console>:29
scala> val counts = tokenized.map(words=>(words(0),1)).reduceByKey{(a,b)=>a+b}
counts: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[7] at reduceByKey at <console>:31
scala> // see RDD
scala> input.toDebugString
res0: String =
(1) MapPartitionsRDD[3] at textFile at <console>:27 []
 |  /home/spark01/Documents/input.text HadoopRDD[2] at textFile at <console>:27 []
scala> counts.toDebugString
res1: String =
(1) ShuffledRDD[7] at reduceByKey at <console>:31 []
 +-(1) MapPartitionsRDD[6] at map at <console>:31 []
    |  MapPartitionsRDD[5] at filter at <console>:29 []
    |  MapPartitionsRDD[4] at map at <console>:29 []
    |  MapPartitionsRDD[3] at textFile at <console>:27 []
    |  /home/spark01/Documents/input.text HadoopRDD[2] at textFile at <console>:27 []
scala> counts.collect()
res2: Array[(String, Int)] = Array((ERROR,1), (##input.text##,1), (INFO,4), ("",2), (WARN,2))
scala> counts.cache()
res3: counts.type = ShuffledRDD[7] at reduceByKey at <console>:31
scala> counts.collect()
res5: Array[(String, Int)] = Array((ERROR,1), (##input.text##,1), (INFO,4), ("",2), (WARN,2))
scala>
5. Spark网页用户界面
默认情况地址是http://localhost:4040
通过浏览器可以查看已经运行过的作业(job)的详细情况
如图下图:
 
图1所有任务用户界面 
 
图二作业2详细信息用户界面
6. 关键性能考量:
代码层面:并行度、序列化格式、内存管理
运行环境:硬件供给。
Spark学习之Spark调优与调试(7)的更多相关文章
- 【原创 Hadoop&Spark 动手实践 8】Spark 应用经验、调优与动手实践
		
[原创 Hadoop&Spark 动手实践 7]Spark 应用经验.调优与动手实践 目标: 1. 了解Spark 应用经验与调优的理论与方法,如果遇到Spark调优的事情,有理论思考框架. ...
 - Spark面试题(八)——Spark的Shuffle配置调优
		
Spark系列面试题 Spark面试题(一) Spark面试题(二) Spark面试题(三) Spark面试题(四) Spark面试题(五)--数据倾斜调优 Spark面试题(六)--Spark资源调 ...
 - Spark学习之Spark Streaming(9)
		
Spark学习之Spark Streaming(9) 1. Spark Streaming允许用户使用一套和批处理非常接近的API来编写流式计算应用,这就可以大量重用批处理应用的技术甚至代码. 2. ...
 - Spark学习之Spark SQL(8)
		
Spark学习之Spark SQL(8) 1. Spark用来操作结构化和半结构化数据的接口--Spark SQL. 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据 ...
 - Spark学习之Spark调优与调试(二)
		
下面来看看更复杂的情况,比如,当调度器进行流水线执行(pipelining),或把多个 RDD 合并到一个步骤中时.当RDD 不需要混洗数据就可以从父节点计算出来时,调度器就会自动进行流水线执行.上一 ...
 - Spark学习之Spark调优与调试(一)
		
一.使用SparkConf配置Spark 对 Spark 进行性能调优,通常就是修改 Spark 应用的运行时配置选项.Spark 中最主要的配置机制是通过 SparkConf 类对 Spark 进行 ...
 - Spark学习笔记6:Spark调优与调试
		
1.使用Sparkconf配置Spark 对Spark进行性能调优,通常就是修改Spark应用的运行时配置选项. Spark中最主要的配置机制通过SparkConf类对Spark进行配置,当创建出一个 ...
 - Spark调优与调试
		
1.使用SparkConf配置Spark (1)在java中使用SparkConf创建一个应用: SparkConf conf =;i++){ javaBean bean =new javaBean( ...
 - 【Spark】Sparkstreaming-性能调优
		
Sparkstreaming-性能调优 Spark Master at spark://node-01:7077 sparkstreaming 线程 数量_百度搜索 streaming中partiti ...
 
随机推荐
- 【solr专题之中的一个】Solr高速入门
			
一.Solr学习相关资料 1.官方材料 (1)高速入门:http://lucene.apache.org/solr/4_9_0/tutorial.html.以自带的example项目高速介绍发Solr ...
 - JAVA设计模式(01):创建型-工厂模式【工厂方法模式】(Factory Method)
			
简单工厂模式尽管简单,但存在一个非常严重的问题.当系统中须要引入新产品时,因为静态工厂方法通过所传入參数的不同来创建不同的产品,这必然要改动工厂类的源码,将违背"开闭原则".怎样实 ...
 - NYOJ1026 阶乘末尾非0 【模板】
			
阶乘末尾非0 时间限制:2000 ms | 内存限制:65535 KB 难度:3 描写叙述 我们的问题非常是简单.n! 末尾非0数是几? 比方n=5的时候,n! =120,那么n!末尾非0数是2. ...
 - JAVA注解引发的思考
			
自从JDK5開始Java開始添加了对元数据(MetaData)的支持,也就是注解(Annotation),到JDK7时已经有四种基本注解,新添加了一种@SafeVarargs. @Override注解 ...
 - Buildroot构建指南--快速上手与实用技巧【转】
			
本文转载自:http://blog.csdn.net/zhou_chenz/article/details/52335634 Buildroot官方全英文使用手册的链接是https://buildro ...
 - bzoj4594: [Shoi2015]零件组装机
			
论静态查错的重要性...乱搞题真难调 首先这题看起来就是要分治检验了. 考虑对于区间[l,r],分成[l,p-1]和[p,r]使得这两个区间合并可以得到[l,r],并且要保证后面一个区间较大 设前一个 ...
 - 《Visual C++ 2010入门教程》系列四:VC2010中初学者常见错误、警告和问题
			
<Visual C++ 2010入门教程>系列四:VC2010中初学者常见错误.警告和问题 这一章将帮助大家解释一些常见的错误.警告和问题,帮助大家去理解和解决一些常见问题,并了解它的 ...
 - apache服务器本质
			
apache服务器本质上说是一个TCP socket服务,socket模型如下: 下面以worker MPM来说明apache代码中相应处理的位置在哪里: (以apache httpd 2.2.23版 ...
 - Gym 100548K  Last Defence (数论)
			
题意:给定两个数,然后从第三个开始,每个数都是前两个数的差的绝对值,问这个序列中有多少个不同的元素. 析:这个和辗转相除法差不多,假设a > b那么a-b之间就有a/b个数,然后再计算a%b- ...
 - HDU-ACM“菜鸟先飞”冬训系列赛——第8场(1004)
			
Problem D Time Limit : 3000/3000ms (Java/Other) Memory Limit : 65535/102400K (Java/Other) Problem De ...