spark运行在linux,怎么统计SparkStreaming在数据上的运行时间(linux没有图形界面)...

下面是一个例子

scala 统计Datastage log 中每个job 的执行时间 以及一个batch job 中total 时间

[mw_shl_code=scala,true]package com.x.h

import java.io.File

import scala.io.Source

/**

* Created by xxxxx on 3/7/2017.

* read logs and anlysis the interval time

* Notes://ltsgdb001b/8525691C004D9994/0000035F7480610585255D74006B9E95/5A5A500686EEF43F852580DC000884BB

*/

object AnlysisSnsLogs extends App{

getTheLastedFile

def getTheLastedFile(): Unit ={

var file = new File("C:\\Users\\IBM_ADMIN\\Desktop\\cognos\\datastage\\anlysislogs")

for (f

println(f.getName.toString.substring(0,8))

readFiles(f.toString)

}

}

def readFiles(file :String): Unit ={

import scala.collection.mutable

//Scala 列表类似于数组,它们所有元素的类型都相同,但是它们也有所不同:列表是不可变的,值一旦被定义了就不能改变,其次列表 具有递归的结构(也就是链接表结构)而数组不是。。

var jobName =new Array[String](30)  //这里定义数组还是有问题的

var job = 0

var jobTime =new Array[String](30) //这里定义数组还是有问题的

var job1 = 0

val  source =  Source.fromFile(file)

for (line

if(line.contains("STATUS REPORT FOR JOB:")){  //找包含有特定字符串的行

jobName(job) = line.toString.substring(23)

job +=1

}

if(line.contains("Job elapsed time=")){

jobTime(job1) = line.toString.substring(20)

job1 +=1

}

}

val lastArray = jobName.toList.zip(jobTime.toList)

for( loop

println(lastArray(loop)._1.toString +" : "+ lastArray(loop)._2)

}

// lastArray.foreach(x => println(x._1.toString +" : "+ x._2))

var totalTime = 0

for(getTime

val times  = jobTime(getTime).split(":")

totalTime += times(0).toInt * 3600 + times(1).toInt * 60 + times(2).toInt   // 计算总时间

}

println("Total time is : " + totalTime/3600 + ":" + ((totalTime%3600)/60) + ":" + ((totalTime%3600)%60) )  // 标准时间  Total time is : 6:28:8

}

}[/mw_shl_code]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值