使用 IntelliJ IDEA 匯入 Spark 最新原始碼及編譯 Spark 原始碼(博主強烈推薦)

weixin_30639719發表於2020-04-05

 

 

前言

    其實啊,無論你是初學者還是具備了有一定spark程式設計經驗,都需要對spark原始碼足夠重視起來。

  本人,肺腑之己見,想要成為大資料的大牛和頂尖專家,多結合原始碼和操練程式設計。

 

 

 

 

準備工作

 1、scala 2.10.4(本地的安裝)

         Scala的安裝(本地)

  2、Jdk1.7+  或 jdk1.8+ (本地的安裝)

         Jdk 1.7*安裝並配置

         Jdk 1.8*安裝並配置

         JDK的windows和Linux版本之下載

  3、IntelliJ IDEA

IntelliJ IDEA(Community版本)的下載、安裝和WordCount的初步使用(本地模式和叢集模式)

IntelliJ IDEA(Ultimate版本)的下載、安裝和WordCount的初步使用(本地模式和叢集模式)

 

         Spark原始碼的編譯過程詳細解讀(各版本)

          另外,最後還是建議大家開始先使用 pre-built 的 Spark,對 Spark 的執行、使用方法有所瞭解,編寫了一些 Spark 應用程式後再展開原始碼的閱讀,並嘗試修改原始碼,進行手動編譯。 

 

 

 

 

總體流程

  1、從 Github 匯入 Spark 工程

      開啟IntelliJ IDEA 後,在選單欄中選擇 VCS→Check out from Version Control→Git,之後在 Git Repository URL 中填入 Spark 專案的地址,並指定好本地路徑,如下圖所示。

 

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

 

 

 

 或者,我們可以直接先下載好,

比如我這裡,已經下載好了

解壓,

提前,先準備好

 

 

 

對於spark原始碼的目錄結構

  1、編譯相關    : sbt 、assembly、project

  2、spark核心  :core

  3、Spark Lib  : streaming 、 sql 、graphx 、mllib

  4、執行指令碼和配置 : bin  、sbin 、conf

  5、虛擬化 : ec2 、docker 、dev

  6、式例  : examples 、data

  7、部署相關: yarn

  8、python支援 : python

  9、repl : repl

  10、 3pp : externals

 

 

 

 

 

 

 

 

 

現在,我開始,進入spark原始碼匯入工作。

先來關閉,已有的工程。

 

File   ->   Close Project

 

得到,如下

 

選擇,Import Project

 

 

 這裡,為了日後的spark原始碼閱讀環境的方便和開發

安裝之後的幾個常用設定:

  1、介面字型大小的設定

 

可見,介面字型的效果

 

 

 

  2、程式碼字型的設定

 

 

 

 

3、因我們平常,用習慣了eclipse,快捷鍵,設定為我們平常,eclipse的風格。

完成

 

 

 

簡單,帶領,如何巧看spark原始碼?

 這裡,為了避免一個不利的閱讀,

放到D盤的根目錄下,

 設定行號

 

 

 

 

 

其他的原始碼,首先,Ctrl + Shift + R,然後,自行去閱讀。

建議,在理解概念,真的,可以拿原始碼來幫助理解!

 

 

 

 

總結

 所以啊,原始碼 + 官網 ,是黃金組合。

 

 

 

 

 

 

 

 

  更新部落格(2017年),見

spark最新原始碼下載並匯入到開發環境下助推高質量程式碼(Scala IDEA for Eclipse和IntelliJ IDEA皆適用)(以spark2.2.0原始碼包為例)(圖文詳解)

 

如何在IDEA裡給大資料專案匯入該專案的相關原始碼(博主推薦)(圖文詳解)

 

 

 

 

 

 

 

 

 

 

歡迎大家,加入我的微信公眾號:大資料躺過的坑     免費給分享
 
 
 

同時,大家可以關注我的個人部落格

   http://www.cnblogs.com/zlslch/   和  http://www.cnblogs.com/lchzls/ 

 

  人生苦短,我願分享。本公眾號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於網際網路和個人學習工作的精華乾貨知識,一切來於網際網路,反饋回網際網路。
  目前研究領域:大資料、機器學習、深度學習、人工智慧、資料探勘、資料分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及平常所使用的手機、電腦和網際網路上的使用技巧、問題和實用軟體。 只要你一直關注和呆在群裡,每天必須有收穫

 

       以及對應本平臺的QQ群:161156071(大資料躺過的坑)

 

 

 

 

 

 

 

 

 

 

 

轉載於:https://www.cnblogs.com/zlslch/p/5881893.html

相關文章