前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark学习之Spark调优与调试(7)

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

作者头像
王小雷
发布2018-01-02 14:31:23
1K0
发布2018-01-02 14:31:23
举报
文章被收录于专栏:王小雷王小雷

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

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

代码语言:javascript
复制
当创建一个SparkContext时就会创建一个SparkConf实例。

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

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

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

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

代码语言:javascript
复制
需求:使用Spark shell完成简单的日志分析应用。
代码语言:javascript
复制
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网页用户界面

代码语言:javascript
复制
默认情况地址是http://localhost:4040
通过浏览器可以查看已经运行过的作业(job)的详细情况
如图下图:
所有任务
所有任务

图1所有任务用户界面

这里写图片描述
这里写图片描述

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

6. 关键性能考量:

代码语言:javascript
复制
代码层面:并行度、序列化格式、内存管理
运行环境:硬件供给。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spark学习之Spark调优与调试(7)
    • 1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项。
      • 2. Spark特定的优先级顺序来选择实际配置:
        • 3.查看应用进度信息和性能指标有两种方式:网页用户界面、驱动器和执行器进程生成的日志文件。
          • 4.Spark执行的组成部分:作业、任务和步骤
            • 5. Spark网页用户界面
              • 6. 关键性能考量:
              相关产品与服务
              Elasticsearch Service
              腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档