使用阿里雲的Maven倉庫加速Spark編譯過程
在國內編譯Spark專案需要從Maven源下載很多依賴包,官方源在國內大環境下的下載速度大家都懂得,那個煎熬啊,簡直是浪費生命。
如果你的下載速度很快,你現在就可以無視這篇文章了。
阿里雲給國內開發者提供了一個非常的良心的服務:提供了一個國內Maven映象,可以讓我們拜託這種煎熬。
地址資訊阿里雲的Maven也是基於nexus構建。
地址:
倉庫地址:
Spark支援sbt及Maven兩種編譯方式,接下來分別介紹,如何修改構建配置,採用阿里雲的maven倉庫加速Spark編譯過程。
提速sbt構建速度網上有資料介紹如何使用國內映象加速編譯,比如這個:http://blog.csdn.net/mmical/article/details/41925823
然,對於Spark專案而言,並卵!因為Spark單獨定義了專案的構建規則,並不會載入預設的倉庫解析配置。
我們需要修改Spark原始碼下的 project/SparkBuild.scala 這個檔案,參考我下面這個patch進行修改:
點選(此處)摺疊或開啟
- --- a/project/SparkBuild.scala
- +++ b/project/SparkBuild.scala
- @@ -214,7 +214,8 @@ object SparkBuild extends PomBuild {
- // Override SBT's default resolvers:
- resolvers := Seq(
- - DefaultMavenRepository,
- + //DefaultMavenRepository,
- + Resolver.url("aliyun", url("")),
- Resolver.mavenLocal,
- Resolver.file("local", file(Path.userHome.absolutePath + "/.ivy2/local"))(Resolver.ivyStylePatterns)
- ),
用 Resolver.url("aliyun", url(""))替換掉 DefaultMavenRepository 即可。
然後參照官方的方法用sbt編譯Spark,你會發現,新下載的jar包會從阿里雲獲取,類似這樣:
點選(此處)摺疊或開啟
- ...
- [info] [SUCCESSFUL ] org.apache.parquet#parquet-encoding;1.8.2!parquet-encoding.jar (417ms)
- [info] downloading [url]org/apache/parquet/parquet-format/2.3.1/parquet-format-2.3.1.jar[/url] ...
- [info] [SUCCESSFUL ] org.apache.parquet#parquet-format;2.3.1!parquet-format.jar (948ms)
- [info] downloading [url]org/apache/parquet/parquet-jackson/1.8.2/parquet-jackson-1.8.2.jar[/url] ...
- [info] [SUCCESSFUL ] org.apache.parquet#parquet-jackson;1.8.2!parquet-jackson.jar (1419ms)
- [info] downloading [url]org/apache/avro/avro/1.8.1/avro-1.8.1.jar[/url] ...
- [info] [SUCCESSFUL ] org.apache.avro#avro;1.8.1!avro.jar(bundle) (2448ms)
- [info] downloading [url]org/apache/parquet/parquet-avro/1.8.2/parquet-avro-1.8.2.jar[/url] ...
- ...
這個下載過程,比官方的Maven源要快很多。
PS:使用sbt編譯Spark子專案的方法,可以參考我的這篇文章:
提速Maven構建速度Maven的就比較簡單了,是非常通用的方法,我們僅需要修改 pom.xml 檔案即可:
點選(此處)摺疊或開啟
- --- a/pom.xml
- +++ b/pom.xml
- @@ -228,7 +228,8 @@
- <id>central</id>
- <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
- <name>Maven Repository</name>
- - <url>[url][/url]
- + <!--<url>[url]-->[/url]
- + <url>[url]</url>[/url]
- <releases>
- <enabled>true</enabled>
- </releases>
配置下面還有個Maven的外掛,也參考這個修改掉即可。
轉:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30089851/viewspace-2134060/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- aliyun阿里雲Maven倉庫地址——加速你的maven構建阿里Maven
- maven阿里雲中央倉庫Maven阿里
- 阿里雲Maven倉庫地址阿里Maven
- aliyun阿里雲Maven倉庫地址阿里Maven
- 配置 Docker 加速器:使用阿里雲映象倉庫Docker阿里
- maven配置阿里雲及本地倉庫Maven阿里
- Maven中央倉庫釋出歷程Maven
- 編譯器的編譯基本過程編譯
- 編譯過程編譯
- 使用阿里雲Maven倉庫映象加快依賴下載速度阿里Maven
- 配置maven 的阿里雲遠端倉庫(國內)Maven阿里
- IDEA如何配置自己的maven和maven設定阿里雲倉庫IdeaMaven阿里
- Maven 倉庫Maven
- Javac編譯過程Java編譯
- 編譯核心過程編譯
- 編譯器的工作過程編譯
- EVC編譯TCPMP的過程編譯TCP
- SBT使用阿里雲Maven倉庫,解決SBT下載依賴慢。阿里Maven
- Maven 編譯使用 rt.jarMaven編譯JAR
- maven中心倉庫OSSRH使用簡介Maven
- 如何使用GitHub建立Maven私有倉庫GithubMaven
- 使用Nexus搭建Maven本地倉庫Maven
- 編譯連結過程編譯
- 編譯過程簡介編譯
- C++ 編譯過程C++編譯
- JavaScript的預編譯過程分析JavaScript編譯
- 編譯C++ 程式的過程編譯C++
- 使用Github搭建Maven私有遠端倉庫GithubMaven
- ORACLE 資料庫分析,重新編譯失敗過程Oracle資料庫編譯
- Maven 倉庫 mvnrepositoryMaven
- 建立個人Maven倉庫Maven
- 國內maven倉庫Maven
- 自建Maven倉庫 - ArtifactoryMaven
- ios底層 編譯過程iOS編譯
- .NET 程式碼編譯過程編譯
- glade 編譯過程 (轉)編譯
- Maven-修改maven本地倉庫地址Maven
- Maven遠端倉庫的配置Maven