当前位置: 首页 > news >正文

衡阳网站建设重庆网站推广

衡阳网站建设,重庆网站推广,郑州网站优化渠道,武汉楼市正常调整Fold、FoldLeft 和 FoldRight object Test03_Fold {def main(args: Array[String]): Unit {// 称作集合外的参数val list List(1,2,3,4)// fold的底层仍然是调用的 foldLeft// 第一个参数是一个值(称作集合内的参数,必须和集合外的参数类型一致)// 第二个参数是一…

Fold、FoldLeft 和 FoldRight

object Test03_Fold {def main(args: Array[String]): Unit = {// 称作集合外的参数val list = List(1,2,3,4)// fold的底层仍然是调用的 foldLeft// 第一个参数是一个值(称作集合内的参数,必须和集合外的参数类型一致)// 第二个参数是一个函数操作opprintln(list.fold(5)(_+_))  //15/*** 5 + 1 = 6* 6 + 2 = 8* 8 + 3 = 11* 11 +4 = 15*/// 这里的集合内参数类型可以和集合外的参数类型不一致println(list.foldLeft(5)(_-_)) //执行过程和上面的 fold 一致// 这里的集合内参数类型可以和集合外的参数类型不一致println(list.foldRight(5)(_-_))/*** 翻转集合list => (4,3,2,1)* 4 - 5 = -1     集合第一个值 4 - 初始值 5 = 结果1* 3 - (-1) = 4   集合第二个值 3 - 结果1 = 结果2* 2 - 4 = -2* 1- (-2) = 3*/}
}

MapValues 和 groupBy

object Test05_MapValues {def main(args: Array[String]): Unit = {val lines = List("hello spark","hello flink","hello flink")val list:Map[String,Int] = lines.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).mapValues(_.size)for(key <- list.keySet){println("k= " + key + " v= "+list.getOrElse(key, 0))}/*** k= hello v= 3k= spark v= 1k= flink v= 2*/}
}

Aggregate


import scala.collection.mutableobject Test02_Aggregate {def main(args: Array[String]): Unit = {val s = List(1, 2, 3, 4)/*** 需要提供3个参数:*    1.初始值(类型是我们期待返回的类型)*    2.累加器函数:把RDD中的元素合并起来放到累加器进行计算*    3.合并累加器函数: 由于每个节点在本地计算,所以需要合并不同节点累加器的结果* (0,0): 作为s的初始值 (类型是我们期待返回的类型)* (s,r): r是s的某个元素(1,2,3,4)中的一个(并行计算,每次取出的值可能是乱序的,但是结果是相同的)* (s._1 + r,s._2 + 1) => (0+1,0+1) => (1,1)* (s._1 + r,s._2 + 1) => (1+2,1+1) => (3,2)* (s._1 + r,s._2 + 1) => (3+3,2+1) => (6,3)* (s._1 + r,s._2 + 1) => (6+4,3+1) => (10,4)*/val r = s.par.aggregate((0, 0))((s, r) =>(s._1 + r, s._2 + 1),(s,r) => (s._1 + r._1, s._2 + r._2))println(r)  // (10,4)val lines = List("hello spark","hello flink","hello flink")var res: mutable.Map[String,Int] = lines.flatMap(_.split(" ")).aggregate((mutable.Map.empty[String,Int]))((countMap:mutable.Map[String,Int],word)=>{if(!countMap.contains(word)){countMap.put(word,1)}else{countMap.put(word,countMap(word)+1)}countMap},(map1:mutable.Map[String,Int], map2:mutable.Map[String,Int])=>{for((word,count)<-map1){if(!map2.contains(word)){map2.put(word,1)}else{map2.put(word,map2(word)+count)}}map2})val keys = res.keySetfor(key <- keys){println("k= " + key + " v= "+res.getOrElse(key, 0))}/*** k= spark v= 1k= flink v= 2k= hello v= 3*/}
}

getOrElse

object Test04_GetOrElse {def main(args: Array[String]): Unit = {/*** getOrElse()主要就是防范措施,如果有值,那就可以得到这个值,如果没有就会得到一个默认值.*/val map: Map[String,Int] = Map("a"->1,"b"->2)println(map.getOrElse("a",0)) // 1println(map.getOrElse("b",0)) // 2println(map.getOrElse("c",3)) // 3}
}

http://www.hkea.cn/news/66081/

相关文章:

  • 太仓网站建设有限公司网站设计公司怎么样
  • 网站去哪做在线crm软件
  • 做360手机网站快速汕头seo排名收费
  • 网站建设总做总结宜兴百度推广公司
  • 做毕业网站的周记外贸建站优化
  • 南昌市住房和城乡建设局网站百度官网推广平台电话
  • 真人做视频网站百度怎么发布广告
  • 网站页面优化包括怎么给网站做优化
  • 哪个网站用帝国cms做的软文素材网
  • 网站建设需要的资料深圳精准网络营销推广
  • 客户网站建设公司网站排名提升软件
  • 网站建设与维护试卷论文怎么在百度上做广告
  • 做博客网站要什么技术百度网站网址是多少
  • 河北建设厅官方网站八大员考试站长工具查询
  • 大连 做网站公司爱站工具包的主要功能
  • ps做简洁大气网站必应bing国内版
  • 做公司标志用哪个网站营销自动化
  • wordpress5.0.3厦门百度seo
  • 网站开发 企业 定制系统优化大师安卓版
  • 网站内链符号seo百度站长工具
  • 网站页面太多是否做静态seo优化软件
  • mac下怎么安装wordpress关键词排名优化易下拉霸屏
  • 国内做国外代购在哪个网站好百度平台客服怎么联系
  • 菏泽网站获客网站建设公司中国站长网入口
  • 黄冈网站建设推荐seo查询排名软件
  • 自己怎么做百度网站广州seo网站公司
  • 京东企业的电子网站建设百度seo教程网
  • 弥勒网站设计公司share群组链接分享
  • 网站建设栏目管理百度推广搜索排名
  • 企业管理类的网站全球搜是什么公司