導航:首頁 > 源碼編譯 > sbtspark源碼

sbtspark源碼

發布時間:2023-02-07 13:46:19

① 怎麼用Eclipse搭建Spark源碼閱讀環境

第一部分、軟體安裝

1、 安裝JDK (版本為1.7.0_11)

2、 安裝Scala (版本為2.11.2)

3、 安裝ScalaIDE(版本為3.0.4)

第二部分:加壓縮官網下載的源代碼包或者找到通過Git抽取的Spark源文件:

我用的是spark-1.1.1版本(最新版本),由於idea 13已經原生支持sbt,所以無須為idea安裝sbt插件。

源碼下載(用git工具):

# Masterdevelopment branch

gitclone git://github.com/apache/spark.git

# 1.1 maintenancebranch with stability fixes on top of Spark 1.1.1

gitclone git://github.com/apache/spark.git -b branch-1.1

源碼更新(用git工具同步跟新源碼):

gitclone https://github.com/apache/spark.git

第三部分:通過sbt工具,構建Scala的Eclipse工程,詳細步驟如下所示

1、通過cmd命令進入DOS界面,之後通過cd命令進入源代碼項目中,我下載的Spark.1.1.1版本的源代碼放在(E:\Spark計算框架的研究\spark_1_1_1_eclipse)文件夾中,之後運行sbt命令,如下所示:

2、運行sbt命令之後,解析編譯相關的jar包,並出現sbt命令界面窗口,出現的效果圖如下所示,之後運行eclipse命令,sbt對這個工程進行編譯,構建Eclipse項目,效果圖如下所示:

4、 打開ScalaIDE工具,File à Import à Existing Projects into Workspace à
Next à
選擇剛好用sbt工具編譯好的Eclipse工程(E:\Spark計算框架的研究\spark_1_1_1_eclipse),如下圖所示。

5、 通過上面的操作,就可以將通過sbt工具編譯生成的Eclipse項目導入到EclipseIDE開發環境中,效果圖如下所示:

錯誤提示如下所示:我導入的包為,如下文件夾中所示。

(E:\Spark計算框架的研究\spark_1_1_1_eclipse\lib_managed\bundles)

Description Resource Path Location Type

akka-remote_2.10-2.2.3-shaded-protobuf.jar is cross-compiled

with an incompatible version of Scala (2.10).

In case of errorneous report, this check can be disabled

in the compiler preference page.

spark-core Unknown Scala Classpath Problem

Description Resource Path Location Type

akka-slf4j_2.10-2.2.3-shaded-protobuf.jar is cross-compiled with

an incompatible version of Scala (2.10). In case of errorneous report,

this check can be disabled in the compiler preference page.

spark-core Unknown Scala Classpath Problem

Description Resource Path Location Type

akka-testkit_2.10-2.2.3-shaded-protobuf.jar is cross-compiled

with an incompatible version of Scala (2.10).

In case of errorneous report, this check can be disabled in the compiler preference page.

spark-core Unknown Scala Classpath Problem

Description Resource Path Location Type

akka-zeromq_2.10-2.2.3-shaded-protobuf.jar is cross-compiled

with an incompatible version of Scala (2.10).

In case of errorneous report, this check can be disabled in the compiler preference page.

spark-core Unknown Scala Classpath Problem

上面這些包兼容性問題還沒有解決,修改相應的jar包就可以解決。

② Spark 中用 Scala 和 java 開發有什麼區別

1,構建系統的選擇,sbt更合適用來構建Scala工程,maven更合適用來構建Java工程
2,對於spark中的API來說,Java和Scala有差別,但差別並不大
3,如果用Scala開發spark原型程序,可以用spark-shell「打草稿」,或者直接使用spark-shell做互動式實時查詢
4,用Scala代碼量將減少甚至一個數量級,不過Scala的使用門檻較高
建議:使用Scala構建spark作業,因為spark本身為sbt所構建,同時使用Scala開發spark作業將有助於理解spark的實現機制

③ 虛擬機spark中怎樣導入數據,的代碼

具體操作步驟:
1、准備Spark程序目錄結構。
2、編輯build.sbt配置文件添加依賴。
3、創建WriteToCk.scala數據寫入程序文件。
4、編譯打包。
5、運行。
參數說明:your-user-name:目標ClickHouse集群中創建的資料庫賬號名。
your-pasword:資料庫賬號名對應的密碼。
your-url:目標ClickHouse集群地址。
/your/path/to/test/data/a.txt:要導入的數據文件的路徑,包含文件地址和文件名。說明文件中的數據及schema,需要與ClickHouse中目標表的結構保持一致。
your-table-name:ClickHouse集群中的目標表名稱。

④ 怎麼用Eclipse搭建Spark源碼閱讀環境

應該說這個和是不是Spark項目沒什麼關系。

建議你使用intellij idea,在spark目錄下執行"sbt/sbt gen-idea",會自動生成.idea項目,導入即可。
idea我不熟,還需要做一些其他的插件配置(python, sbt等)和環境設置。

你也可以使用Eclipse看,Eclipse有scala IDE,把Spark項目當maven工程導入。但是子項目之間的依賴會有點問題,會報錯。

推薦使用前者,向Databricks的開發者看齊;我使用的是後者,我直接依賴了編譯好的包就不會報錯了,純讀源碼的話也勉強可以跟蹤和調試。

另外,我也看有的Committer用vim看spark代碼的,所以怎麼看源碼都無所謂,你熟悉就好,而且這和是不是Spark項目也沒什麼關系。:)

⑤ 碩士畢業論文想做Spark相關的內容,大牛有什麼好idea可以推薦嗎

。 IntelliJ IDEA 13已經不需要事先sbt gen-idea了,直接打開源碼目錄,IntelliJ會自動識別SBT項目並導入。不過我一般還是習慣先sbt gen-idea一下。 不是搞spark源碼閱讀的話,直接二進制吧,里邊有spark-assembly-1.0.1-hadoop2.2.0.ja

⑥ 如何使用intellij搭建spark開發環境

注意,客戶端和虛擬集群中hadoop、spark、scala的安裝目錄是一致的,這樣開發的spark應用程序的時候不需要打包spark開發包和scala的庫文件,減少不必要的網路IO和磁碟IO。當然也可以不一樣,不過在使用部署工具spark-submit的時候需要參數指明classpath。
1:IDEA的安裝
官網jetbrains.com下載IntelliJ IDEA,有Community Editions 和& Ultimate Editions,前者免費,用戶可以選擇合適的版本使用。
根據安裝指導安裝IDEA後,需要安裝scala插件,有兩種途徑可以安裝scala插件:
啟動IDEA -> Welcome to IntelliJ IDEA -> Configure -> Plugins -> Install JetBrains plugin... -> 找到scala後安裝。
啟動IDEA -> Welcome to IntelliJ IDEA -> Open Project -> File -> Settings -> plugins -> Install JetBrains plugin... -> 找到scala後安裝。

如果你想使用那種酷酷的黑底界面,在File -> Settings -> Appearance -> Theme選擇Darcula,同時需要修改默認字體,不然菜單中的中文字體不能正常顯示。2:建立Spark應用程序
下面講述如何建立一個Spark項目week2(,正在錄制視頻),該項目包含3個object:
取自spark examples源碼中的SparkPi
計詞程序WordCount1
計詞排序程序WordCount2

A:建立新項目
創建名為dataguru的project:啟動IDEA -> Welcome to IntelliJ IDEA -> Create New Project -> Scala -> Non-SBT -> 創建一個名為week2的project(注意這里選擇自己安裝的JDK和scala編譯器) -> Finish。
設置week2的project structure
增加源碼目錄:File -> Project Structure -> Meles -> week2,給week2創建源代碼目錄和資源目錄,注意用上面的按鈕標注新增加的目錄的用途。


增加開發包:File -> Project Structure -> Libraries -> + -> java -> 選擇
/app/hadoop/spark100/lib/spark-assembly-1.0.0-hadoop2.2.0.jar
/app/scala2104/lib/scala-library.jar可能會提示錯誤,可以根據fix提示進行處理

B:編寫代碼
在源代碼scala目錄下創建1個名為week2的package,並增加3個object(SparkPi、WordCoun1、WordCount2):


SparkPi代碼
package week2

import scala.math.random
import org.apache.spark._

/** Computes an approximation to pi */
object SparkPi {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Spark Pi")
val spark = new SparkContext(conf)
val slices = if (args.length > 0) args(0).toInt else 2
val n = 100000 * slices
val count = spark.parallelize(1 to n, slices).map { i =>
val x = random * 2 - 1
val y = random * 2 - 1
if (x*x + y*y < 1) 1 else 0
}.rece(_ + _)
println("Pi is roughly " + 4.0 * count / n)
spark.stop()
}
}
復制代碼

WordCount1代碼

package week2

import org.apache.spark.{SparkContext, SparkConf}
import org.apache.spark.SparkContext._

object WordCount1 {
def main(args: Array[String]) {
if (args.length == 0) {
System.err.println("Usage: WordCount1 <file1>")
System.exit(1)
}

val conf = new SparkConf().setAppName("WordCount1")
val sc = new SparkContext(conf)
sc.textFile(args(0)).flatMap(_.split(" ")).map(x => (x, 1)).receByKey(_ + _).take(10).foreach(println)
sc.stop()
}
}
復制代碼

WordCount2代碼

package week2

import org.apache.spark.{SparkContext, SparkConf}
import org.apache.spark.SparkContext._

object WordCount2 {
def main(args: Array[String]) {
if (args.length == 0) {
System.err.println("Usage: WordCount2 <file1>")
System.exit(1)
}

val conf = new SparkConf().setAppName("WordCount2")
val sc = new SparkContext(conf)
sc.textFile(args(0)).flatMap(_.split(" ")).map(x => (x, 1)).receByKey(_ + _).map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1)).take(10).foreach(println)
sc.stop()
}
}
復制代碼

C:生成程序包
生成程序包之前要先建立一個artifacts,File -> Project Structure -> Artifacts -> + -> Jars -> From moudles with dependencies,然後隨便選一個class作為主class。


按OK後,對artifacts進行配置,修改Name為week2,刪除Output Layout中week2.jar中的幾個依賴包,只剩week2項目本身。


按OK後, Build -> Build Artifacts -> week2 -> rebuild進行打包,經過編譯後,程序包放置在out/artifacts/week2目錄下,文件名為week2.jar。

3:Spark應用程序部署
將生成的程序包week2.jar復制到spark安裝目錄下,切換到用戶hadoop,然後切換到/app/hadoop/spark100目錄,進行程序包的部署。具體的部署參見應用程序部署工具spark-submit 。

⑦ 怎樣在 intelliJ 中開發 spark 應用

IntelliJ IDEA 13已經不需要事先sbt gen-idea了,直接打開源碼目錄,IntelliJ會自動識別SBT項目並導入。不過我一般還是習慣先sbt gen-idea一下。
不是搞spark源碼閱讀的話,直接下載二進制吧,里邊有spark-assembly-1.0.1-hadoop2.2.0.jar,添加lib,就可以歡快的寫spark應用了
~如果你認可我的回答,請及時點擊【採納為滿意回答】按鈕
~~手機提問的朋友在客戶端右上角評價點【滿意】即可。

⑧ AIUI.jar在項目文件中要解壓

網上搜一下就有,下面轉的董西成的博客(1)准備工作1) 安裝JDK 6或者JDK 72) 安裝scala 2.10.x (注意版本)3) 將的Intellij IDEA解壓後,安裝scala插件,流程如下:依次選擇「Configure」–> 「Plugins」–> 「Browse repositories」,輸入scala,然後安裝即可(2)搭建Spark源碼閱讀環境(需要聯網)第一種方法是直接依次選擇「import project」–> 選擇spark所在目錄 –> 「SBT」,之後intellij會自動識別SBT文件,並依賴的外部jar包,整個流程用時非常長,取決於機器的網路環境(不建議在windows下操作,可能遇到各種問題),一般需花費幾十分鍾到幾個小時。注意,過程會用到git,因此應該事先安裝了git。第二種方法是首先在linux操作系統上生成intellij項目文件,然後在intellij IDEA中直接通過「Open Project」打開項目即可。在linux上生成intellij項目文件的方法(需要安裝git,不需要安裝scala,sbt會自動)是:在spark源代碼根目錄下,輸入sbt/sbt gen-idea註:如果你在windows下閱讀源代碼,建議先在linux下生成項目文件,然後導入到windows中的intellij IDEA中。(3)搭建Spark開發環境在intellij IDEA中創建scala project,並依次選擇「File」–> 「project structure」 –> 「Libraries」,選擇「+」,將spark-hadoop 對應的包導入,比如導入spark-assembly_2.10-0.9.0-incubating-hadoop2.2.0.jar(只需導入該jar包,其他不需要),如果IDE沒有識別scala 庫,則需要以同樣方式將scala庫導入。之後開發scala程序即可:編寫完scala程序後,可以直接在intellij中,以local模式運行,方法如下:點擊「Run」–> 「Run Configurations」,在彈出的框中對應欄中填寫「local」,表示將該參數傳遞給main函數,如下圖所示,之後點擊「Run」–> 「Run」運行程序即可。如果想把程序打成jar包,通過命令行的形式運行在spark 集群中,可以按照以下步驟操作:依次選擇「File」–> 「Project Structure」 –> 「Artifact」,選擇「+」–> 「Jar」 –> 「From Moles with dependencies」,選擇main函數,並在彈出框中選擇輸出jar位置,並選擇「OK」。最後依次選擇「Build」–> 「Build Artifact」編譯生成jar包。

⑨ 如何在mac上搭建spark環境

(1)准備工作

1) 安裝JDK 6或者JDK 7

2) 安裝scala 2.10.x (注意版本)

2)下載Intellij IDEA最新版(本文以IntelliJ IDEA Community Edition 13.1.1為例說明,不同版本,界面布局可能不同)

3)將下載的Intellij IDEA解壓後,安裝scala插件,流程如下:

依次選擇「Configure」–> 「Plugins」–> 「Browse repositories」,輸入scala,然後安裝即可

(2)搭建Spark源碼閱讀環境(需要聯網)

一種方法是直接依次選擇「import project」–> 選擇spark所在目錄 –>
「SBT」,之後intellij會自動識別SBT文件,並下載依賴的外部jar包,整個流程用時非常長,取決於機器的網路環境(不建議在windows
下操作,可能遇到各種問題),一般需花費幾十分鍾到幾個小時。注意,下載過程會用到git,因此應該事先安裝了git。

第二種方法是首先在linux操作系統上生成intellij項目文件,然後在intellij IDEA中直接通過「Open
Project」打開項目即可。在linux上生成intellij項目文件的方法(需要安裝git,不需要安裝scala,sbt會自動下載)是:在
spark源代碼根目錄下,輸入sbt/sbt gen-idea

註:如果你在windows下閱讀源代碼,建議先在linux下生成項目文件,然後導入到windows中的intellij IDEA中。

(3)搭建Spark開發環境

在intellij IDEA中創建scala project,並依次選擇「File」–> 「project structure」
–> 「Libraries」,選擇「+」,將spark-hadoop
對應的包導入,比如導入spark-assembly_2.10-0.9.0-incubating-hadoop2.2.0.jar(只需導入該jar
包,其他不需要),如果IDE沒有識別scala 庫,則需要以同樣方式將scala庫導入。之後開發scala程序即可:

編寫完scala程序後,可以直接在intellij中,以local模式運行,方法如下:

點擊「Run」–> 「Run Configurations」,在彈出的框中對應欄中填寫「local」,表示將該參數傳遞給main函數,如下圖所示,之後點擊「Run」–> 「Run」運行程序即可。

如果想把程序打成jar包,通過命令行的形式運行在spark 集群中,可以按照以下步驟操作:

依次選擇「File」–> 「Project Structure」 –> 「Artifact」,選擇「+」–>
「Jar」 –> 「From Moles with
dependencies」,選擇main函數,並在彈出框中選擇輸出jar位置,並選擇「OK」。

最後依次選擇「Build」–> 「Build Artifact」編譯生成jar包。

閱讀全文

與sbtspark源碼相關的資料

熱點內容
編譯原理課設項目簡介 瀏覽:920
日本《失樂園》無刪減 瀏覽:227
更新最快的電視劇網站 瀏覽:597
啟動app的廣告怎麼關 瀏覽:850
非sp文中的sp情節的小說 瀏覽:76
女主是被拐賣到大山的小說 瀏覽:858
哆啦a夢美人魚電影 瀏覽:597
舊版本蝌蚪短視頻app怎麼不能 瀏覽:458
電影劇情里有個老頭在雨里騎單車有防 瀏覽:950
日本歐美推理片電影 瀏覽:75
主角穿越到紅軍長征 瀏覽:915
《屍吻》拿走不謝 瀏覽:306
日本重生電影最後主角死了沒 瀏覽:137
愛奇電影大全 瀏覽:373
cf美國伺服器如何下載 瀏覽:152
linux後退命令 瀏覽:901
吳京在泰國監牢叫什麼電影 瀏覽:726
男主是中東王儲的小說 瀏覽:587
囚禁百合文推薦 瀏覽:582
李海仁倫理片 瀏覽:316