我们使用 sbt 创建、测试、运行和提交作业。该教程会解释你在我们的课程中将会用到的所有 sbt 命令。工具安装页说明了如何安装 sbt。我们一般将代码和库做成jar包,通过spark-submit 提交到spark 集群上运行。
1)下载安装:
http://www.scala-sbt.org/
2)创建工程:
比如现在的工程名为“sparksample”。那么
2
3
4
5
|
cd
sparksample
mkdir
project
mkdir
src
/
main
/
scala
|
一般的工程文件结构如下:
- project – 工程定义文件
- project/build/.scala – 主要的工程定义文件
- project/build.properties – 工程,sbt以及scala版本定义
- src/main – 你的应用代码放在这里,不同的子目录名称表示不同的编程语言(例如,src/main/scala,src/main/java)
- src/main/resources – 你想添加到jar包里的静态文件(例如日志配置文件)
- lib_managed – 你的工程所依赖的jar文件。会在sbt更新的时候添加到该目录
- target – 最终生成的文件存放的目录(例如,生成的thrift代码,class文件,jar文件)
3)编写build.sbt
name := "Spark Sample"
version := "1.0"
scalaVersion := "2.10.3"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.1.1"
这里需要注意使用的版本,scala 和spark streaming的版本是否匹配等等。
http://mvnrepository.com/artifact/org.apache.spark/spark-streaming_2.10/1.4.1
4) 构建jar 包。
在project的文件目录下(e.g. "sparksample")
> sbt package
5)提交到spark:
e.g: cd /opt/spark******
bin/spark-submit --class "org.apache.spark.examples.streaming.sparksample" --packages org.apache.spark:spark-streaming-kafka_2.10:1.4.1 --master local[2] /home/ubuntu/sparksample/target/scala-2.10/sparksample_2.10-1.0.jar 10.81.52.88:9092 tintin
具体怎么写参数,请看官方:
| http://spark.apache.org/docs/latest/submitting-applications.html#submitting-applications |
参考:
http://www.tuicool.com/articles/AJnIvq
http://www.scala-sbt.org/release/docs/index.html
http://www.supergloo.com/fieldnotes/apache-spark-cluster-part-2-deploy-a-scala-program-to-spark-cluster/