说明:本次大作业是基于ubuntukylin14.04(16)版本即hadoop集群(hadoop2.6.0版本)和hbase伪分布式(hbase1.1.2版本),并安装好Scala2.11.8、Spark2.1.0、sbt0.13.15和Scala IDE for eclipse4.7.0,并完成了sbt eclipse插件的全局安装,在实验报告1至3中均有详细步骤,在此不再描述。
任务1:求top值程序个性化(30分)
基于ubuntukylin14.04(16)版本,完成教材141页5.4.1节求top值程序个性化。相关代码和数据参考http://dblab.xmu.edu.cn/blog/1632-2/
1. 创建工作项目mcf14gzxm
(1)在eclipse工作目录(本人/home/mcf14/gongzuomulu)中创建工作项目mcf14gzxm。
(2)在gongzuomulu目录中输入mkdir -p mcf14gzxm/src/main/scala
命令创建scala目录存放spark应用程序。
(3)在gongzuomulu目录中输入vim mcf14gzxm/build.sbt
命令创建包含sbt打包配置信息的build.sbt文件,并在其中添加以下信息后保存退出。
name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"
(4)在mcf14gzxm目录中输入mkdir project
命令创建project目录并进入,然后输入vim build.properties
命令创建包含程序配置信息的build.properties文件并打开,在其中添加sbt的版本信息后保存退出:
sbt.version=0.13.15
2. 创建eclipse应用程序
在程序主目录即/home/mcf14/gongzuomulu/mcf14gzxm中输入sbt eclipse
命令创建eclipse应用程序,如下所示即为成功。
3. 导入mcf14gzxm项目
在终端输入eclipse
命令打开eclipse,在eclipse界面右击左侧打开快捷菜单,然后点击import…,在Select an import wizard:中搜索Existing Projects into Workspace并选中,然后点击Next,点击Browse…找到刚才创建的工作项目mcf14gzxm(即/home/mcf14/gongzuomulu/mcf14gzxm)然后点击Finish就能导入mcf14gzxm项目了。
注:此时要注意eclipse中Scala的版本问题!如果mcf14gzxm项目有红叉,那就说明Scala版本出错,解决方法为:右击mcf14gzxm项目→Properties→Scala Compiler→选中Use Project Settings→在Scala Installation中选中与安装好的Scala一致的版本→Apply and Close,此时就不会出错了。
4. 创建数据样本文件mcf14TopN.txt
打开终端在用户主目录下创建数据样本文件TopN.txt(注意里边不能有空格)。
5. 创建程序代码文件mcf14TopN.scala
在mcf14gzxm项目中的src/main/scala目录上右击,选择New→Package→Name为mcf14TopN→Finish来创建mcf14TopN包,并右击此包选择New→Scala Object→Name为mcf14TopN.mcf14TopN→Finish来创建mcf14TopN.scala代码文件,并在其中输入代码(见文末),然后运行即可。
任务2:文件排序程序个性化(30分)
基于ubuntukylin14.04(16)版本,完成教材143页5.4.2节文件排序程序个性化。相关代码和数据参考http://dblab.