笔记11-15范例.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一讲:RDD实战 1)RDD实战 RDD操作类型: Transformation Action controller包括persist(cache是persist的一种情况) 在reduce的时候数据必须满足交换律和结合律 88个文件为什么产生了89个任务,我们在数据reduceByKey传递进来了一个1,那么在第二个阶段就变成了一个任务,原本是88 * 2 = 176个 在进行reduceByKey(_+_,1).saveAsTextFile() :这时候数据过来的时候,之所以知道数据在哪里, 是因为shuffle在管理,上一个阶段的输出,会交给我们的MapOutputTracker,输出在什么地方driver会记录着,DAG让下一个stage运行的时候, 会从driver获取前一个输出在哪里。这里的并行度设置会跟我们的Partition输出有管,跟hadoop一样。可能会有空文件。。。。 2)RDD的Transformation和Action 3)RDD的执行手动绘图 第十二讲:RDD案例(join、cogroup、reduceByKey、groupByKey等) object Tranformations { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName(Tranformations).setMaster(local) val sc = new SparkContext(conf) val rdd = sc.parallelize(1 to 10, 1) var mapped=rdd.map(_*2) // mapped.collect.foreach(println) val filted = mapped.filter(_ %4==0)//mapped.filter(i = i%2 ==0) filted.collect().foreach(println) val bigData = Array(scala spark,java hadoop,java tachyon) val bigDataStrings = sc.parallelize(bigData) val words = bigDataStrings.flatMap { x = x.split( ) } words.collect().foreach { x = println(x) } val groupData = Array(Tuple2(100,spark),Tuple2(90,tachyon),Tuple2(80,kafka),Tuple2(100,hadoop),Tuple2(97,flink)) val padata = sc.parallelize(groupData) val grouped = padata.groupByKey grouped.collect().foreach(println) val lines = sc.textFile(F:\\IMF\\Big_Data_Software\\spark-1.6.0-bin-hadoop2.6\\README.md, 1) val splited = lines.flatMap { line = line.split( ) } val mapped1 = splited.map { word =(word,1)} var couts = mapped1.reduceByKey(_+_).map(pair = (pair._2,pair._1)) // sortByKey是比较耗费性能 val sorted = couts.sortByKey(false,1) sorted.collect.foreach(pair= println(pair._2,pair._1)) //join:大数据就是解决数据孤岛的问题,让数据进行关联。 val studentName = Array(Tuple2(1,spark),Tuple2(2,tachyon),Tuple2(3,hadoop),Tuple2(4,hbase)) val studentscore = Array(Tuple2(1,100),Tuple2(2,80),Tuple2(3,88)) val names = sc.paralle

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档