Spark源碼學習-windows使用idea搭建源碼閱讀集羣

最近準備開始看spark源碼,第一步當然是要搭建一個舒適的spark源碼閱讀環境,通過單步調試才能順藤摸瓜的理清具體脈絡,有助與提高閱讀效率。在搭建環境過程中,遇到一些奇怪的錯誤,但居然都鬼使神差的搞定了,人品啊,哈哈哈

Spark的源碼使用scala語言編寫的,說到scala的IDE工具,首選當然是idea,idea安裝scala插件我這裏就詳說了,除了idea外,我們還需要安裝的軟件有:

  • maven
  • sbt
  • git

1. 下載spark源碼

對於源碼,可以使用git從github上下載,也可以在spark官網上直接下載
http://spark.apache.org/
https://github.com/apache/spark.git
下載完成後,解壓到具體目錄。

2. 導入到idea(已安裝scala插件)

直接選擇import project

選擇剛剛解壓的spark目錄

next 選擇sbt項目

一直next,直至導入完成

慢慢等待吧,這是在搞定sbt依賴,可以選擇去吃個飯,再過來看看。

3. 編譯

在使用idea進行源碼編譯過程中,會遇到很多錯誤,基本上都是由於依賴引發,這裏我就我所遇到的問題
問題1:

這個問題我弄好很久,最終在網上找到答案,原因flume-sink所需的部分源文件idea不會自動下載,所有編譯時不能通過。
解決方法:
打開View -> Tool Windows -> Maven Projects

右鍵,選擇Generate Sources and Update Folders

隨後,Intellij IDEA會自動下載Flume Sink相關的包,搞定這個錯誤

其他有關編譯報錯問題,可以參考這個鏈接
http://apache-spark-user-list.1001560.n3.nabble.com/

4. 調試LogQuery

我們選擇對LogQery類進行調試,當然也可以在example下面選擇其他的測試類或者自己編寫類,方法類似

  • Run->Edit configurations
  • 添加Application,注意右側窗口中配置項內容的填寫,分別爲Main class, vm options, working directory, use classpath of module

    -Dspark.master=local 指定Spark的運行模式,可根據需要作適當修改。

使用ctrl+n找到LogQuery類,可以先查看具體的測試代碼,

可以直接運行,或者對源代碼打斷點進行單步調試

大功告成!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章