Spark大型电商项目实战-及其改良(4) 单独运行程序发现的问题

   之前的运行结果比对发现,有1个函数的作用在2个job里面是相同的,但是对应的计算时间却差太远

   于是把4个job分开运行.虽说使用的数据不同,但是生成数据的生成器是相同的,数据排布差距不大,数据量也是相同的.

   以下是这4个job的运行时间表

Details for pure RDD job

Event Timeline
Completed Stages (7)
Stage IdDescriptionSubmittedDurationTasks: Succeeded/TotalInputOutputShuffle Read Shuffle Write
6 2019/01/30 15:58:4394 ms
41/41
 
 
  235.4 KB 
5 2019/01/30 15:58:420.4 s
41/41
 
 
  382.9 KB235.4 KB
4 2019/01/30 15:58:420.1 s
41/41
 
 
  99.2 KB246.0 KB
2 2019/01/30 15:58:411 s
41/41
 
 
  765.8 KB99.2 KB
1 2019/01/30 15:58:383 s
41/41
 
 
   750.1 KB
0 2019/01/30 15:58:383 s
1/1
 
 
   15.7 KB
3 2019/01/30 15:58:384 s
41/41
 
 
   137.0 KB

  可以看到,产品信息被转换为pairRDD要花4秒,城市信息和点击信息要花3秒.而之前的实验的运行时间却是零点几秒.说明这里可能有自动缓存,把之前的运行结果直接拿来用了

  这3个步骤是并行的,花的时间也缩小了.运行时间:5秒

Details for pure RDD job with map join

Event Timeline
Completed Stages (3)
Stage IdDescriptionSubmittedDurationTasks: Succeeded/TotalInputOutputShuffle Read Shuffle Write
3 2019/01/30 16:00:230.2 s
41/41
 
 
  246.7 KB 
2 2019/01/30 16:00:220.5 s
41/41
 
 
  477.6 KB246.8 KB
1 2019/01/30 16:00:175 s
41/41
 
 
   478.2 KB

   估计是map join很占内存的理由,承载城市信息和点击记录的mapToPair运行时间被延长了.运行时间:6秒

Details for original job

Event Timeline
Completed Stages (7)
Stage IdDescriptionSubmittedDurationTasks: Succeeded/TotalInputOutputShuffle Read Shuffle Write
6 2019/01/30 16:04:040.8 s
200/200
 
 
  865.5 KB 
5 2019/01/30 16:03:586 s
200/200 (2 failed)
 
 
  899.9 KB869.3 KB
3 2019/01/30 16:03:561 s
200/200
 
 
  224.2 KB733.2 KB
2 2019/01/30 16:03:552 s
41/41
 
 
  766.0 KB224.3 KB
4 2019/01/30 16:03:503 s
41/41
 
 
   159.9 KB
1 2019/01/30 16:03:496 s
41/41
 
 
   750.3 KB
0 2019/01/30 16:03:493 s
1/1
 
 
   15.7 KB

  数据量最多的点击记录mapToPair耗费时间最长,为6秒

  其他的对应操作耗时都不低于纯RDD版本对应操作,特别是collect前面2个操作,纯RDD程序不用1秒就能跑完.

  据前面的too many open files错误,可以推定SQL操作是在本地创建文件读写的,加上某些SQL语句对业务处理步骤不如RDD简洁,严重拖慢了运行时间,运行时间:16秒 

Details for pure sparkSQL job

Event Timeline
Completed Stages (7)
Stage IdDescriptionSubmittedDurationTasks: Succeeded/TotalInputOutputShuffle Read Shuffle Write
6 2019/01/30 16:08:230.8 s
200/200
 
 
  869.0 KB 
5 2019/01/30 16:08:212 s
200/200 (1 failed)
 
 
  894.1 KB870.2 KB
3 2019/01/30 16:08:201 s
200/200
 
 
  224.2 KB733.4 KB
2 2019/01/30 16:08:181 s
200/200
 
 
  405.2 KB224.6 KB
4 2019/01/30 16:08:014 s
41/41
 
 
   159.9 KB
1 2019/01/30 16:08:0117 s
1/1
 
 
   4.0 KB
0 2019/01/30 16:08:016 s
41/41 (1 failed)
 
 
   401.8 KB

   本身sparkSQL就很慢,前面2步操作被SQL化之后更慢了...运行时间:22秒

转载于:https://www.cnblogs.com/dgutfly/p/10359382.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值