scala如何在任意方法中打印当前线程栈信息(StackTrace)
2024-10-20 08:29:59
1.以wordcount为例
package org.apache.spark.examples import org.apache.spark.{SparkConf, SparkContext}
//在任意方法中打印当前线程栈信息(StackTrace)
object word1 {
def printStackTrace(cls: Class[_]): Unit = {
val elements = (new Throwable).getStackTrace
System.out.println("Stack for " + cls.getName + ":")
for(i <- to elements.length) {
System.out.println(elements(i).getClassName +
"." + elements(i).getMethodName +
"(" + elements(i).getFileName +
":" + elements(i).getLineNumber +
")")
}
}
def main(args:Array[String]): Unit ={
val sparkConf=new SparkConf().setAppName("WORD1").setMaster("local")
val sc=new SparkContext(sparkConf)
val lines=sc.textFile("E:\\spark_file\\wordcount.txt")
val word=lines.flatMap{x =>x.split(" ")}
val pairs=word.map(s =>(s,))
val wordcnt=pairs.reduceByKey{_+_}
wordcnt.foreach(wordcount =>println(wordcount._1+" appread "+wordcount._2+" times/time "))
printStackTrace(classOf[Test])
}
}
2.输出结果:
最新文章
- 简单了解ICMP协议
- 第六篇.bootstrap表格
- Android RelativeLayout用到的一些重要的属性
- Jquery 复习练习(02)Javascript 与jquery 互转 onclick 与click区别
- Windows phone 8 学习笔记(2) 数据文件操作(转)
- jQ $.extend用法
- poi操作oracle数据库导出excel文件
- jquery页面无刷新切换皮肤并保存
- Golang基于学习总结
- Data Guard组件等相关介绍
- Java 9 揭秘(6. 封装模块)
- linux 系统状态分析
- Python CRM项目二
- Spring与Akka的集成
- Pytorch划分数据集的方法
- Cisco 日常巡检命令
- deepin使用笔记-解决蓝牙设备开机自动开启的问题
- vue学习笔记1-基本知识
- Java -------- 首字母相关排序总结
- 正则表达式,re模块