標籤:
我們使用 sbt 建立、測試、運行和提交作業。該教程會解釋你在我們的課程中將會用到的所有 sbt 命令。工具安裝頁說明了如何安裝 sbt。我們一般將代碼和庫做成jar包,通過spark-submit 提交到spark 叢集上運行。
1)下載安裝:
http://www.scala-sbt.org/
2)建立工程:
比如現在的工程名為“sparksample”。那麼
2345 |
cdsparksamplemkdirprojectmkdirsrc/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.KafkaWordCount" --packages org.apache.spark:spark-streaming-kafka_2.10:1.4.1 --master local[2] /home/ubuntu/KafkaWordCount/target/scala-2.10/kafkawordcount_2.10-1.0.jar 10.81.52.88:9092 tintin
具體怎麼寫參數,請看官方:
|
http://spark.apache.org/docs/latest/submitting-applications.html#submitting-applications |
注意: 略坑的是, 需要將調用的包手動加入 ---packages *****。
參考: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/
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
【大資料處理架構】2. 用sbt 構建工具 到spark cluster