Spark学习之Spark调优与调试(7)

1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项。

  1. 当创建一个SparkContext时就会创建一个SparkConf实例。

2. Spark特定的优先级顺序来选择实际配置:

  1. 优先级最高的是在用户代码中显示调用set()方法设置选项;
  2. 其次是通过spark-submit传递的参数;
  3. 再次是写在配置文件里的值;
  4. 最后是系统的默认值。

3.查看应用进度信息和性能指标有两种方式:网页用户界面、驱动器和执行器进程生成的日志文件。

4.Spark执行的组成部分:作业、任务和步骤

  1. 需求:使用Spark shell完成简单的日志分析应用。
  1. scala> val input =sc.textFile("/home/spark01/Documents/input.text")
  2. input: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[3] at textFile at <console>:27
  3. scala> val tokenized = input.map(line=>line.split(" ")).filter(words=>words.size>0)
  4. tokenized: org.apache.spark.rdd.RDD[Array[String]] = MapPartitionsRDD[5] at filter at <console>:29
  5. scala> val counts = tokenized.map(words=>(words(0),1)).reduceByKey{(a,b)=>a+b}
  6. counts: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[7] at reduceByKey at <console>:31
  7. scala> // see RDD
  8. scala> input.toDebugString
  9. res0: String =
  10. (1) MapPartitionsRDD[3] at textFile at <console>:27 []
  11. | /home/spark01/Documents/input.text HadoopRDD[2] at textFile at <console>:27 []
  12. scala> counts.toDebugString
  13. res1: String =
  14. (1) ShuffledRDD[7] at reduceByKey at <console>:31 []
  15. +-(1) MapPartitionsRDD[6] at map at <console>:31 []
  16. | MapPartitionsRDD[5] at filter at <console>:29 []
  17. | MapPartitionsRDD[4] at map at <console>:29 []
  18. | MapPartitionsRDD[3] at textFile at <console>:27 []
  19. | /home/spark01/Documents/input.text HadoopRDD[2] at textFile at <console>:27 []
  20. scala> counts.collect()
  21. res2: Array[(String, Int)] = Array((ERROR,1), (##input.text##,1), (INFO,4), ("",2), (WARN,2))
  22. scala> counts.cache()
  23. res3: counts.type = ShuffledRDD[7] at reduceByKey at <console>:31
  24. scala> counts.collect()
  25. res5: Array[(String, Int)] = Array((ERROR,1), (##input.text##,1), (INFO,4), ("",2), (WARN,2))
  26. scala>

5. Spark网页用户界面

  1. 默认情况地址是http://localhost:4040
  2. 通过浏览器可以查看已经运行过的作业(job)的详细情况
  3. 如图下图:



图1所有任务用户界面



图二作业2详细信息用户界面

6. 关键性能考量:

  1. 代码层面:并行度、序列化格式、内存管理
  2. 运行环境:硬件供给。

Spark学习之Spark调优与调试(7)的更多相关文章

  1. 【原创 Hadoop&Spark 动手实践 8】Spark 应用经验、调优与动手实践

    [原创 Hadoop&Spark 动手实践 7]Spark 应用经验.调优与动手实践 目标: 1. 了解Spark 应用经验与调优的理论与方法,如果遇到Spark调优的事情,有理论思考框架. ...

  2. Spark面试题(八)——Spark的Shuffle配置调优

    Spark系列面试题 Spark面试题(一) Spark面试题(二) Spark面试题(三) Spark面试题(四) Spark面试题(五)--数据倾斜调优 Spark面试题(六)--Spark资源调 ...

  3. Spark学习之Spark Streaming(9)

    Spark学习之Spark Streaming(9) 1. Spark Streaming允许用户使用一套和批处理非常接近的API来编写流式计算应用,这就可以大量重用批处理应用的技术甚至代码. 2. ...

  4. Spark学习之Spark SQL(8)

    Spark学习之Spark SQL(8) 1. Spark用来操作结构化和半结构化数据的接口--Spark SQL. 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据 ...

  5. Spark学习之Spark调优与调试(二)

    下面来看看更复杂的情况,比如,当调度器进行流水线执行(pipelining),或把多个 RDD 合并到一个步骤中时.当RDD 不需要混洗数据就可以从父节点计算出来时,调度器就会自动进行流水线执行.上一 ...

  6. Spark学习之Spark调优与调试(一)

    一.使用SparkConf配置Spark 对 Spark 进行性能调优,通常就是修改 Spark 应用的运行时配置选项.Spark 中最主要的配置机制是通过 SparkConf 类对 Spark 进行 ...

  7. Spark学习笔记6:Spark调优与调试

    1.使用Sparkconf配置Spark 对Spark进行性能调优,通常就是修改Spark应用的运行时配置选项. Spark中最主要的配置机制通过SparkConf类对Spark进行配置,当创建出一个 ...

  8. Spark调优与调试

    1.使用SparkConf配置Spark (1)在java中使用SparkConf创建一个应用: SparkConf conf =;i++){ javaBean bean =new javaBean( ...

  9. 【Spark】Sparkstreaming-性能调优

    Sparkstreaming-性能调优 Spark Master at spark://node-01:7077 sparkstreaming 线程 数量_百度搜索 streaming中partiti ...

随机推荐

  1. java纯数字加密解密实例

    我们都知道,在用户加入信息时,一些比較敏感的信息,如身份证号,手机号,用户的登录password等信息,是不能直接明文存进数据库的.今天我们就以一个详细的样例来说明一下纯数字的java加密解密技术. ...

  2. Redis和Memcache性能测试对比

    Redis和Memcache在写入性能上面差别不大,读取性能上面尤其是批量读取性能上面Memcache全面胜出,当然Redis也有自己的优点:比如数据持久化.支持更多的数据结构(Set List ZS ...

  3. python 深浅复制与指针内存

    Python是一门非常好的语言,他的长处在于拥有巨大灵活性的同一时候也拥有无比的严谨性,其它语言规定了非常多语法.告诉你什么情况下,语法就是这种,而Python却用非常少的规定,延伸出非常多语法,有些 ...

  4. github的提交源码到服务器

    github是现代的代码库,各种牛人,各种开源,也是现在大公司招聘的一个考察点, 这里介绍一下怎样把本地源码提交到github上. 首先我们需要在github上创建一个respository. 2,输 ...

  5. mysql命令行爱好者必备工具mycli

    mycli MyCLI is a command line interface for MySQL, MariaDB, and Percona with auto-completion and syn ...

  6. [JS进阶] HTML5 之文件操作(file)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/oscar999/article/details/37499743 前言 在 HTML 文档中 < ...

  7. XMU 1615 刘备闯三国之三顾茅庐(三) 【欧拉函数+快速幂+欧拉定理】

    1615: 刘备闯三国之三顾茅庐(三) Time Limit: 1000 MS  Memory Limit: 128 MBSubmit: 45  Solved: 8[Submit][Status][W ...

  8. mongo14-----group,aggregate,mapReduce

    group,aggregate,mapReduce 分组统计: group() 简单聚合: aggregate() 强大统计: mapReduce() db.collection.group(docu ...

  9. RK3288以太网的mac地址调试笔记【学习笔记】【原创】

    平台信息:内核:linux3.1.0系统:android/android6.0平台:RK3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 说明:提供以太网mac ...

  10. ZOJ1610 Count the Colors —— 线段树 区间染色

    题目链接:https://vjudge.net/problem/ZOJ-1610 Painting some colored segments on a line, some previously p ...