1.1 jdk,scala,sbt安装
Jdk安装:1.8.0_191
Scala安装: 2.11.6
Sbt安装: 1.2.6
都是默认安装,建议跟自己spark集群中安装的版本一致,可以升级spark集群的版本。否则后续需要在intellij中修改兼容性。
这三个安装后找到此计算机->属性->高级系统设置,选择环境变量,然后添加这三者的环境变量,步骤为:
sbt sbtVersion(-前有空格)
注:添加sbt系统变量后,由于sbt下载依赖时默认是从国外服务器下载,所以速度会比较慢。建议采用源:在sbt/conf下新建一个repository.properties文件,输入以下内容:
[repositories]
local
comp-maven:http://mvnrepository.com/artifact/ store_cn:http://maven.aliyun.com/nexus/content/groups/public/ store_mir:http://mirrors.ibiblio.org/maven2/
store_0:http://maven.net.cn/content/groups/public/
store_1:http://repo.typesafe.com/typesafe/ivy-releases/
store_2:http://repo2.maven.org/maven2/
sbt-releases-repo: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
sbt-plugins-repo: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
maven-central: http://repo1.maven.org/maven2/
然后在sbtconfig.txt输入以下内容:
# Set the java args to high
-Xmx512M
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=128m
# Set the extra SBT options
-Dsbt.log.format=true
-Dsbt.boot.directory=D:/project/.sbt/boot//设置你的git仓库
-Dsbt.ivy.home=D:/project/.ivy2
-Dsbt.global.base=D:/project/.sbt
-Dsbt.repository.config=C:/Program Files (x86)/sbt/conf/repository.properties
这部分我添加后在cmd输入sbt sbtVersion会显示此处不应该有repository.properties等信息,但是运行程序没有问题。所以也就忽略了。
参考博客:https://blog.csdn.net/leo3070/article/details/80040400
1.2 Intellij安装以及scala插件
a. Intellij注册码通过学校邮箱可以获取(https://www.jetbrains.com/shop/eform/students),有效期是一年,每年可以延长(只要学校邮箱有效),安装也都是默认安装.
b. 安装后在界面的右下角有configure,点击后选择第二个的plugins安装scala插件,在搜索栏中输入scala,然后点击install即可。安装后重启intellij。
c.配置jdk:欢迎界面的configure->project default->(若新建了文件则直接点击
file->) project structure->project->new选择Jdk,弹出的界面中选择jdk安装的路径,然后点击ok。
Intellij使用scala进行开发
a.file->create project->next
b. 选择jdk,sbt,scala对应的版本,点击finish
建立以下目录:
Project structure->module->dependence->module source->+->library
若正确配置,点击new liabrary 会显示对应的scala版本,勾选即可,若没有,则点击browse,找到scala/lib的安装路径。
保存该lib。
点击ok后,返回选中该文件,并且点击左下角的add selected,即添加该lib
增加scala类
按照下图,点击scala右键,选中scala为resource root
然后右键新建一个class,输入对应的代码:
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object WordCount {
def main(args: Array[String]) {
val logFile = "file:///usr/local/spark/README.md"
val conf = new SparkConf().setAppName("WordCount")
val sc = new SparkContext(conf)
val logData = sc.textFile(logFile,2).cache()
val numAs = logData.filter(line =>line.contains("a")).count()
val numBs = logData.filter(line =>line.contains("b")).count()
println("Line with a :%s,Line with b :%s".format(numAs,numBs))
}
}
6打包为jar包
File->artifact->jar->from module with dependence
按下边操作,在3处若没有显示,则在搜索栏输入scala class类名,选中,再继续操作
由于最后在spark中运行(有些文件spark可能自带了),只需要下边两个文件,选中其余文件,然后点击-删除,接着点击ok.
点击菜单栏的bulid->build artfacts
cd /usr/local/spark#你的spark安装目录
./bin/spark-submit --class "WordCount" /home/hadoop/Downloads/test.jar 2>&1 | grep "Line with a :"