文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州
▲ 本章节目的
⚪ 掌握Spark的常用案例——WordCount;
⚪ 掌握Spark的常用案例——求平均值;
⚪ 掌握Spark的常用案例——求最大值和最小值;
⚪ 掌握Spark的常用案例——TopK;
⚪ 掌握Spark的常用案例——二次排序;
一、案例——WordCount
1. 实现步骤
1. 创建spark的项目,在scala中创建项目 导入spark相关的jar包。
2. 开发spark相关代码。
代码示例:
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object WordCountDriver {
def main(args: Array[String]): Unit = {
val conf=new SparkConf().setMaster("spark://hadoop01:7077").setAppName("wordcount")
val sc=new SparkContext(conf)
val data=sc.textFile("hdfs://hadoop01:9000/words.txt", 2)
val result=data.flatMap { x => x.split(" ") }.map { x => (x,1) }.reduceByKey(_+_)
result.saveAsTextFile("hdfs://hadoop01:9000/wcresult")
}
}
3. 将写好的项目打成jar,上传到服务器,进入bin目录。
执行:spark-submit --class cn.tedu.WordCountDriver /home/software/spark/conf/wc.jar
二、案例——求平均值
案例文件:
1 16
2 74
3 51
4 35
5 44
6 95
7 5
8 29
10 60
11 13
12 99
13 7
14 26
正确答案:
42
代码示例一:
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object AverageDriver {
def main(args: Array[String]): Unit = {
val conf=new SparkConf().setMaster("local").setAppName("AverageDriver")
val sc=new SparkContext(conf)