加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

scala编程学习:map,filter,flatmap

(2015-11-11 09:40:15)
标签:

map

fliter

flatmao

分类: scala学习
var a = 1 to 10000
val rdd1=sc.parallelize(a)


filter vs  map

val rdd4=rdd1.filter(a=>a>500)
val rdd5=rdd1.map(a=>a>500)
rdd4.count
res0: Long = 9500
rdd4.first
res3: Int = 501
rdd5.count
res0: Long = 10000
rdd5.first
res2: Boolean = false
可见,filter滤掉了小于5的部分。而map只是添加了布尔值。

map vs flatMap(flatMap 是flatten和map的结合。)
val rdd=sc.parallelize(List("I am a girl","He is a boy"))
val fm=rdd.flatMap(_.split(" "))
fm.collect
结果:Array[String] = Array(I, am, a, girl, He, is, a, boy)

val rdd=sc.parallelize(List("I am a girl","He is a boy"))
val fm=rdd.map(_.split(" "))
fm.collect
结果:Array[Array[String]] = Array(Array(I, am, a, girl), Array(He, is, a, boy))
flatten:非集合扁平化操作(捋直了)
val l=List(List("c","d"),List("dd","ss"))
l.flatten
res23: List[String] = List(c, d, dd, ss)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有