Ⅰ 如何運行Spark程序
本文前提是已經正確安裝好scala,sbt以及spark了 簡述將程序掛載到集群上運行的步驟:
1、構建sbt標準的項目工程結構:SBT項目工程結構圖其中:~/build.sbt文件用來配置項目的基本信息(項目名、組織名、項目版本、使用的scala版本或者再次配置些項目所需的依賴包);project/build.properties文件配置你要使用什麼版本的sbt對項目操作;project/plugins.sbt文件是給項目添加所需的插件;project/Build.scala文件是對項目進行些復雜的高級配置;詳細的sbt安裝配置實用參見博文:
2、到相應目錄下編寫程序,spark程序必須要創建一個SparkContext實例。SparkContext("master", "projectName", "SPARK_HOME", "yourProject.jar path")
3、sbt compile命令編譯程序無錯後,sbt package命令將程序打包。默認打包的jar文件存放路徑為:項目根目錄/target/scala-xx.xx.xx/your-project-name_xx.xx.xx-xx.jar
4、將打包好的jar問價添加到SPAK_CLASSPATH中(在linux中根據作用范圍的不同有多種更改環境變數的方式,這里只說我的配置方式:spark根目錄下的conf/spark-env.sh文件添加SPARK_CLASSPATH:xxxxxxxx)
5、配置好環境變數後就可以在spark的根目錄下使用./run腳本運行你的程序了例如:./run spark.examples.SparkPi spark://masterIP:port注意,如果程序涉及IO操作起默認路徑為SPARK_HOME;至於如何修改這個路徑,有待研究
轉載,僅供參考。
Ⅱ eclipse怎樣支持scala
1、scala是什麼
其實,scala是 一種語法,類似java,而sbt是 一個構建工具,類似maven,gradle,ant等。在eclipse中只有scala開發環境的插件,可以構建scala project,但是沒有sbt 插件,就像沒有maven插件的eclipse,只能構建和編輯java project,但是整不了maven project。
2、 構建步驟
1)構建Scala語言環境 ,和java一樣,主要分兩步:下載軟體、配置HOME和Path.
2)安裝SBT 工具,下載、配置全局變數(在windows環境中添加sbt.bat腳本,可以直接運行)
3)使用SBT生成一個類似maven 包結構的scala project。
3、實際操作
1)新建一個目錄叫 test
2)在test目錄中新建文件build.sbt
3)在test目錄新建project目錄,進入project目錄,並新建plugins.sbt,在其中添加
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.4.0")
4)在build.sbt中配置工程的name,scala編譯環境,依賴等等。如:
import sbt._
import Process._
import Keys._
EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource
lazy val commonSettings = Seq(
name := "test",
organization := "com.marsyoung",
version := "0.0.1-SNAPSHOT",
scalaVersion := "2.11.7"
)
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
libraryDependencies ++= Seq(
"junit" % "junit" % "4.4",
"javax.ws.rs" % "jsr311-api" % "1.1.1"
)
)
5)在cmd中進入對應的project目錄,即test目錄。運行sbt。
6)執行eclipse命令,將對應的項目轉化成可以引入eclipse開發工具並且目錄結構類似maven的項目。
7)打開已經安裝了scala ide的eclipse,導入對應的project,會自動的編譯成scala peoject.
4、小提示
SBT配置使其支持本地maven和私服,如下:
在用戶根目錄下的.sbt文件夾內,在windows下就是C->用戶->用戶名->.sbt目錄下新建repositories文件並插入內容:
[repositories]
local
activator-launcher-local: file:////${activator.local.repository-${activator.home-${user.home}/.activator}/repository}, [organization]/[mole]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
activator-local: file:////${activator.local.repository-D:/maven/repo3.3.1}
sohu-public: http://xxx.com/nexus/content/groups/public
typesafe-releases: http://repo.typesafe.com/typesafe/releases
typesafe-ivy-releasez: http://repo.typesafe.com/typesafe/ivy-releases, [organization]/[mole]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
sonatype-oss-releases
sonatype-oss-snapshots
maven-central
本地maven地址為:
D:/maven/repo3.3.1