Spark听课笔记 (5)

第16课
Spark RDD操作的种类

  1. transform
  2. action (触发结果的作业,取结果)
  3. controller (checkpoint,persist, including cache)

map(f:T=>U), U类型的集合产生新的RDD
reduce(f:(T,T)=>T), 元素之间要符合交换律(没有数据Order)和结合律(必须能结合才能reduce嘛,比如相加)

lazy的好处就是,步骤越多,优化的空间越大嘛。

问题:计算相同行,出现的总次数

var lines = sc.textFile()
val linesTuple = lines.map(line => (line,1))  // 每一行变成行的内容与1构成的Tuple
val timesKV linesTuple.reduceByKey(_+_)
timesKV.collect.foreach(pair => println(pair._1 + ":" + pair._2))

collect把结果收集到Driver。 没有collect,结果是分布在不同节点上的,返回一个Array。

好像知乎上评价不高?我比较后知后觉,作为Spark入门应该还不错吧。在2019年才开始看。。。

突然看到课程壁纸。 Who’s Ted Williams? 感觉有点像新东方的忽悠劲,至少听着不累!!!
课程的壁纸

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值