sbt创建spark程序(windows下)

1 安装sbt

官方网站:http://www.scala-sbt.org/ 

解压下载包,把sbt/bin放到环境变量PATH下便可。

通常先添加环境变量SBT_HOME,再把SBT_HOME/bin添加到PATH中

假设把sbt-0.13.6安装到F:\sbt\中,设置如下环境变量:

添加到Path中:

找到一下目录

找到文件夹~/.sbt/0.13/plugins下面的plugins.sbt配置文件,如果没有相应文件夹和文件则创建。编辑该文件添加插件:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.5.0")

在cmd中执行sbt即可。

2 创建scala工程

创建名为scala的文件夹,进入该文件夹如下图创建目录

在build.sbt中设置(有空行)

name := "spark"

version := "1.0"

scalaVersion := "2.10.6"

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.1.0"


在project/build.properties设置

sbt.version=0.13.6


在project/plugins.sbt中设置

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.5.0")


打开cmd,进入scala目录后,执行

sbt eclipse


在src/main/scala中创建test.scala

添加如下代码

import org.apache.spark.{SparkContext, SparkConf} 
import org.apache.spark.SparkContext._ 


object test{
	def main(args:Array[String]) : Unit = {
		println("hello")

		if (args.length == 0) {
		    System.err.println("Usage bin/spark-submit [options] --class test /root/spark_2.10-1.0.jar <file1:URI>")
		    System.err.println("Usage bin/spark-submit [options] --class test /root/spark_2.10-1.0.jar hdfs://node2:8020/tmp/README.md")
		    System.exit(1);
		}
		println(args(0))
	    val conf = new SparkConf().setAppName("WordCount")
	    val sc = new SparkContext(conf)
	    val doc = sc.textFile(args(0))
	    println(doc)

	    doc.cache()
	    val words = doc.flatMap(_.split(" "))
	    val pairs = words.map( x=> (x,1))
	    val res = pairs.reduceByKey(_+_)
	    res.collect().foreach(println)
	    sc.stop()
		
		

	}
}


3 打包提交到Spark上执行

进入scala目录,执行

sbt package

在target目录找到目标文件


上传到spark所在服务器


执行

spark-submit  --class test --master local[2]  /root/spark_2.10-1.0.jar  hdfs://node2:8020/tmp/README.md


若项目依赖其他jar包,执行时添加--jar选项,具体可参考spark-submit 命令参数

例如下面命令依赖jedis.jar包

spark-submit  --class test --master local[2] --jars /root/jedis-2.1.0.jar /root/spark_2.10-1.0.jar  hdfs://node2:8020/tmp/README.md


4 参考文档

https://taoistwar.gitbooks.io/spark-developer-guide/content/spark_base/use_sbt_create_scala_project.html


阅读更多
个人分类: Scala
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭