安装sbt 及配置
0.注意
sbt 我用的是自己用户, 编译好后,切换root提交spark,注意权限问题
1. 下载
wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.11/sbt-0.13.11.tgz
2.解压并设置环境变量
tar -zxvf sbt-0.13.6.tgz -C /data/soft
vim /etc/profile
export PATH=$PATH:/data/soft/sbt/bin
3.sbt的项目结构
4.配置build.sbt
name := "lr-model-scala"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.5.2"
5.设置sbt版本
project/build.properties
sbt.version=0.13.11
5.5 运行sbt
在项目目录下sbt, 等很长时间后可进入交互界面. 之后可以再交互界面run或test直接运行main函数调试.
6.编译spark项目
使用网上的例子代码,放入main文件夹的scala文件夹下
import org.apache.spark.{SparkContext, SparkConf}
object SparkMeApp {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("SparkMe Application").setMaster("local")
// .addjar(List("/data/ctr_workspace/chenlongzhen/lr-on-spark-scala-sbt/target/scala-2.10/"))
val sc = new SparkContext(conf)
val fileName = args(0)
val lines = sc.textFile(args(0)).cache()
val c = lines.count()
println(c)
}
}
7.编译
在项目根目录
sbt package
# 第一次编译时间巨长
8.运行
spark-submit --master "local[*]" --class SparkMeApp ./target/scala-2.10/lr-model-scala_2.10-1.0.jar file:///data
结果
[root@mcapp_yz_017020_dmp lr-on-spark-scala-sbt]# spark-submit --master "local[*]" --class SparkMeApp ./target/scala-2.10/lr-model-scala_2.10-1.0.jar file:///data/ctr_workspace/register-logistic-regression/res/segment/segment_5299_20160303_21
499