安裝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