Feeling

              三人行,必有我?guī)熝?/p>

             ::  :: 新隨筆 :: 聯系 ::  :: 管理 ::
            185 隨筆 :: 0 文章 :: 392 評論 :: 0 Trackbacks
          Spark源代碼下載地址: http://spark.apache.org/downloads.html

          下載后,直接用 Scala IDE 通過已存在的項目導入到Eclipse workspace中去,然后Eclipse會自動進行編譯。第一次編譯會報很多錯誤,不過總的來說,導致編譯錯誤的源頭有三個:
          1、Scala編譯器版本錯誤
          2、Eclipse Maven插件不能自動識別spark project的一些pom,報Plugin execution not covered by lifecycle configuration異常
          3、一些項目,maven會自動生成scala和java文件,但是這些自動生成的代碼文件沒有配置在eclipse項目的classpath里。

          針對第一種錯誤,比較簡單,對于每個scala項目,右鍵屬性選擇spark對應的scala編譯器版本。



          當然spark代碼里的項目有幾十個,只能手工一個個設置了,比較傻,沒辦法,還不停的彈出對話框,不停地回車吧。

          編譯的難點主要在第二種錯誤上,比如spark-sql項目的pom, 里面有個build-helper-maven-plugin,它下面的execution,eclipse maven插件無法識別,報Plugin execution not covered by lifecycle configuration異常,解決方案參見 https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html,先使用 Eclipse quick-fix選項自動修復,忽略此 maven goal,Eclipse 會為 pom.xml自動添加一段xml代碼,包含在 pluginManagement section中,里面有一段 <action><ignore/></action>,此處手動修改成
          <action>
              <execute>
                  <runOnIncremental>false</runOnIncremental>
              </execute>
          </action>
          然后右鍵 maven update project 就OK了。

          一共有5個project需要修改pom,如圖


          修改pom后重新編譯,依舊會報一些錯誤,這些錯誤都是由于maven自動生成的java和scala代碼沒有添加到classpath里導致的編譯錯誤,只需要手工添加一下即可,需要手工添加項目有 spark-streaming-flume-sink 的 src_managed\main\compiled_avro 目錄 和 spark-sql 項目的 test\gen-java 目錄。

          全部編譯好以后的截圖:


          修改完以后,Spark代碼全部編譯下來大概耗時25分鐘左右(CPU 雙核 I7 4600)

          原文地址:http://www.aygfsteel.com/cnfree/archive/2016/11/08/431965.html

          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          GitHub |  開源中國社區(qū) |  maven倉庫 |  文件格式轉換 
          主站蜘蛛池模板: 巴马| 万载县| 长乐市| 湖南省| 庆阳市| 连云港市| 德令哈市| 黄山市| 东丰县| 乐昌市| 道孚县| 镇赉县| 岱山县| 禹城市| 诏安县| 汝南县| 赣榆县| 江阴市| 辉南县| 富平县| 邵阳市| 仙居县| 庄河市| 凤凰县| 崇义县| 山东| 宜州市| 丰城市| 新乡县| 盐山县| 仁布县| 海林市| 大埔区| 太康县| 万源市| 定兴县| 舒城县| 龙州县| 梁山县| 永丰县| 昆山市|