本帖最后由 pig2 于 2018-9-3 20:03 编辑
问题导读
1.本文的环境是什么?
2.如何打断点?
3.查看变量的数据有几种方式?
关注最新经典文章,欢迎关注公众号
这里重点讲如何调试,也会有视频会放到about云知识星球。
1.准备环境
(1)spark2.3
(2)Scala 2.11
(3)jdk8
代码:
[mw_shl_code=scala,true]package aboutyun.com
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object WordCount {
def main(args : Array[String]){
val conf =new SparkConf().setAppName("WordCountScala");
val master=conf.setMaster("local[2]")
val sc = new SparkContext(conf);
val lines=sc.textFile("file:///D:/wc.txt")
val words = lines.flatMap(line => line.split(" "))
val pairs = words.map( x=> (x,1))
val wordCounts = pairs.reduceByKey(_+_)
wordCounts.foreach(wordCount => println (wordCount._1 +"出现" +wordCount._2 + " 次"))
}
}[/mw_shl_code]
代码准备完毕,我们看到上面需要准备什么?
1.当然首先是开发环境,如不会可参考下面文章,但是注意版本,与你的spark版本一致
spark开发环境详细教程1:IntelliJ IDEA使用详细说明
http://www.aboutyun.com/forum.php?mod=viewthread&tid=22320
2.创建WordCount object,然后将上面代码复制到里面。注意:master为local
这样我们就准备好环境了。
2.准备调试
1.首先打断点:
如果你做过传统开发,相信应该知道,打断点其实就是在对应行,用鼠标左键,点击下即设置了断点,如下图
然后我们这里记住两个重要的快捷键:
F7和F8,特别是F8。
F8单步调试,不进入函数内部。
这个是我们常用的,可以看到变量等
F7是干什么的那?
如果我们想研究源码,可以用到,因为它会跳到函数里。
更多快捷键:
快捷键 | 功能描述 | F8 | 单步调试,不进入函数内部 | F7 | 单步调试,进入函数内部 | Shift+F7 | 选择要进入的函数 | Shift+F8 | 跳出函数 | Alt+F9 | 运行到断点 | Alt+F8 | 执行表达式查看结果 | F9 | 继续执行,进入下一个断点或执行完程序 | Ctrl+F8 | 设置/取消当前行断点 | Ctrl+Shift+F8 | 查看断点 |
|
|