注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

scala groupBy  

2015-01-24 12:59:25|  分类: Scala |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

下面的测试数据和代码仅仅能够在scala单机环境下起作用, 对于spark集群, RDD闭包中, scala groupBy失效. 可以想象,在RDD 和DAG的transformation中,前期仅仅描述了一个RDD数据结构和DAG执行方案, 执行动作是在后期action完成. scala groupBy在涉及全局分布式操作时, 脱离了RDD, 故失效了.

Lazy evaluation might be part of this, if map is the only operation you are executing. Spark will not schedule execution until an action (in Spark terms) is requested on the RDD lineage.

val txt="00     3772   359.5    51.4    24.0       0.320      -5.100      12.500      -1.500       0.200     999.900     999.900     999.900       0.000     999.900     999.900     999.900\n00     3166   356.6    55.9    57.0       0.700      -8.800      30.800      -2.400       0.400     999.900     999.900     999.900     999.900     999.900     999.900     999.900\n00     3772   359.5    51.4    24.0      -2.880      -7.700      -2.800      -1.500     999.900     999.900     999.900     999.900      -2.400     999.900     999.900     999.900\n00     3166   356.6    55.9    57.0      -4.500     -11.900      26.100       0.200     999.900     999.900     999.900     999.900     999.900     999.900     999.900     999.900\n"

val txtarr=txt.split("\n")
val txtgrp = txtarr.groupBy{line =>
      val words = line.split("\\s+")
      val key=words(0).trim+words(1).trim
      key
    }
------------------------------------------------------------------------------
txtgrp: scala.collection.immutable.Map[String,Array[String]] = Map(003772 -> Array(00     3772   359.5    51.4    24.0       0.320      -5.100      12.500      -1.500       0.200     999.900     999.900     999.900       0.000     999.900     999.900     999.900, 00     3772   359.5    51.4    24.0      -2.880      -7.700      -2.800      -1.500     999.900     999.900     999.900     999.900      -2.400     999.900     999.900     999.900), 003166 -> Array(00     3166   356.6    55.9    57.0       0.700      -8.800      30.800      -2.400       0.400     999.900     999.900     999.900     999.900     999.900     999.900     999.900, 00     3166   356.6    55.9    57.0      -4.500     -11.900      26.100       0.200     999.900     999.900     999.900     999.900     999.900     999.90...
  评论这张
 
阅读(493)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017