about云开发-活到老 学到老

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 508|回复: 9

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

[复制链接]

5

主题

16

帖子

95

积分

注册会员

Rank: 2

积分
95
发表于 2018-4-15 17:51:05 | 显示全部楼层 |阅读模式
在Linux服务器上跑了一个SparkStreaming程序,需要统计程序在数据集上的运行时间,可是linux没有图形化界面,没法查看网页UI界面。SparkStreaming是7*24小时一直运行的,数据运行完,程序停不下来,没法统计时间。这种情况下请问怎么实现程序消耗的时间?

170

主题

1030

帖子

3715

积分

高级会员

Rank: 4

积分
3715

最佳新人活跃会员热心会员

发表于 2018-4-15 19:51:48 | 显示全部楼层
没太看懂。Linux没有,spark有UI界面。spark streaming是一直运行的,但是一个job的运行时间,是有统计。
欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间

67

主题

587

帖子

1670

积分

高级会员

Rank: 4

积分
1670

最佳新人活跃会员热心会员推广达人

发表于 2018-4-15 19:53:25 | 显示全部楼层
下面是一个例子
scala 统计Datastage log 中每个job 的执行时间 以及一个batch job 中total 时间

[Scala] 纯文本查看 复制代码
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 <- file.listFiles()){    // 这里可以增加根据文章标题时间戳获取最新文章 增加排序功能
      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 <- source.getLines()){
      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 <- 0 to job -1){       // 上面定义的数组出现异常 ,所有这里用真实的数组长度
      println(lastArray(loop)._1.toString +" : "+ lastArray(loop)._2)
    }
   // lastArray.foreach(x => println(x._1.toString +" : "+ x._2))
    var totalTime = 0
    for(getTime <- 0 to job1 -1){
      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
  }

}

5

主题

16

帖子

95

积分

注册会员

Rank: 2

积分
95
 楼主| 发表于 2018-4-15 20:08:38 | 显示全部楼层
langke93 发表于 2018-4-15 19:51
没太看懂。Linux没有,spark有UI界面。spark streaming是一直运行的,但是一个job的运行时间,是有统计。

linux没有图形界面,所以没有浏览器可以看Spark UI

170

主题

1030

帖子

3715

积分

高级会员

Rank: 4

积分
3715

最佳新人活跃会员热心会员

发表于 2018-4-15 20:12:39 | 显示全部楼层
星语心愿 发表于 2018-4-15 20:08
linux没有图形界面,所以没有浏览器可以看Spark UI

在其它客户端也是可以访问的。比如我们网站发布到Linux上,都是server版的,也没有界面,照样可以访问。所以只要跟你的ip是同一个段,然后输入ip地址和端口,spark ui就可以访问了。
道理这里面比较深了,可以搜索下服务器和web的关系。
欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间

5

主题

16

帖子

95

积分

注册会员

Rank: 2

积分
95
 楼主| 发表于 2018-4-15 20:20:37 | 显示全部楼层
langke93 发表于 2018-4-15 20:12
在其它客户端也是可以访问的。比如我们网站发布到Linux上,都是server版的,也没有界面,照样可以访问。 ...

嗯,是的,同一个网段就行,可是我是远程控制的,不在同一个网段

170

主题

1030

帖子

3715

积分

高级会员

Rank: 4

积分
3715

最佳新人活跃会员热心会员

发表于 2018-4-15 20:38:40 | 显示全部楼层
本帖最后由 langke93 于 2018-4-15 21:37 编辑
星语心愿 发表于 2018-4-15 20:20
嗯,是的,同一个网段就行,可是我是远程控制的,不在同一个网段

远程这个没办法。除非允许外网访问。
欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间

3

主题

401

帖子

1452

积分

高级会员

Rank: 4

积分
1452
发表于 2018-4-16 11:28:27 | 显示全部楼层
直接用代码算呢

5

主题

16

帖子

95

积分

注册会员

Rank: 2

积分
95
 楼主| 发表于 2018-4-16 15:24:04 | 显示全部楼层
fly2015 发表于 2018-4-16 11:28
直接用代码算呢

我也想用代码算,可是时间差的计算只运行了一次,也就是第一个mini-batch数据,以后的mini-batch数据时间不触发时间差的计算了

5

主题

16

帖子

95

积分

注册会员

Rank: 2

积分
95
 楼主| 发表于 2018-4-16 15:46:20 | 显示全部楼层
fly2015 发表于 2018-4-16 11:28
直接用代码算呢

我也想用代码算,可是时间差的计算只运行了一次,也就是第一个mini-batch数据,以后的mini-batch数据时间不触发时间差的计算了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

QQ|小黑屋|about云开发-学问论坛|社区-大数据云技术学习分享平台 ( 京ICP备12023829号

GMT+8, 2018-4-24 18:41 , Processed in 0.440021 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表