项目地址 https://github.com/datawhalechina/juicy-bigdata,感谢项目团队的付出。
本次主要学习 spark 相关内容。本章节以思维导图的方式呈现课程学习内容。详见下图:
7. spark 理论学习总结
7.1 spark 与 hadoop 框架区别
7.2 spark 编程模型 RDD
7.3 spark 结构原理
2. spark 实战
直接部署了集群模式的 spark ,
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
val conf = new SparkConf() // 创建SparkConf对象
conf.setAppName("First Spark App") //设置app应用名称,在程序运行的监控解面可以看到名称
conf.setMaster("yarn") //集群模式运行
// val sc = new SparkContext(conf) // 创建SparkContext对象,通过传入SparkConf实例来定制Spark运行的具体参数和配置信息
val lines = sc.textFile("file:///opt/module/spark-yarn/data/wordcount/helloSpark.txt", 1) // 读取本地文件并设置为一个Partition
val words = lines.flatMap{line => line.split(" ")} // 把每行字符串进行单词拆分,把拆分结果通过flat合并为一个大的单词集合
val pairs = words.map{word => (word, 1)}
val wordCountOdered = pairs.reduceByKey(_+_).map(pair=>(pair._2, pair._1)).sortByKey(false).map(pair => (pair._2, pair._1))
wordCountOdered.collect.foreach(wordNumberPair => println(wordNumberPair._1 + ":" + wordNumberPair._2))