在虚拟机启动集群HDFS和SPARK
将成绩文件 - grades.txt上传到HDFS上/input目录
新建一个Maven项目并设置项目信息
将Java目录改成Scala目录
添加相关依赖和构建插件
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
GradeTopNBySQL
scala-library
spark-core_2.11
spark-sql_2.11
maven-assembly-plugin
scala-maven-plugin
创建日志属性文件
在资源文件夹里创建日志属性文件 - log4j.properties
log4j.rootLogger=ERROR, stdout, logfilelog4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spark.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
创建分组排行榜单例对象 本地运行程序,查看结果
交互式操作查看中间结果 1、读取成绩文件得到rdd
- 执行命令:执行命令:val lines = sc.textFile("hdfs://master:9000/input/grades.txt")
2、利用映射算子生成二元组构成的RDD
- 执行命令:
3、按键分组得到新的二元组构成的RDD
- 执行命令:val groupGrades = grades.groupByKey()
4、按值排序,取前三
执行上述代码



