使用阿里云的Maven仓库加速Spark编译过程

简介: 前言 在国内编译Spark项目需要从Maven源下载很多依赖包,官方源在国内大环境下的下载速度大家都懂得,那个煎熬啊,简直是浪费生命。 如果你的下载速度很快,你现在就可以无视这篇文章了。
前言

在国内编译Spark项目需要从Maven源下载很多依赖包,官方源在国内大环境下的下载速度大家都懂得,那个煎熬啊,简直是浪费生命。

如果你的下载速度很快,你现在就可以无视这篇文章了。

阿里云给国内开发者提供了一个非常的良心的服务:提供了一个国内Maven镜像,可以让我们拜托这种煎熬。

地址信息

阿里云的Maven也是基于nexus构建。

地址: http://maven.aliyun.com/

仓库地址: http://maven.aliyun.com/nexus/content/groups/public/

Spark支持sbt及Maven两种编译方式,接下来分别介绍,如何修改构建配置,采用阿里云的maven仓库加速Spark编译过程。

提速sbt构建速度

网上有资料介绍如何使用国内镜像加速编译,比如这个:http://blog.csdn.net/mmical/article/details/41925823

然,对于Spark项目而言,并卵!因为Spark单独定义了项目的构建规则,并不会加载默认的仓库解析配置。

我们需要修改Spark源码下的 project/SparkBuild.scala 这个文件,参考我下面这个patch进行修改:

点击(此处)折叠或打开

  1. --- a/project/SparkBuild.scala
  2. +++ b/project/SparkBuild.scala
  3. @@ -214,7 +214,8 @@ object SparkBuild extends PomBuild {
  4. // Override SBT's default resolvers:
  5. resolvers := Seq(
  6. - DefaultMavenRepository,
  7. + //DefaultMavenRepository,
  8. + Resolver.url("aliyun", url("http://maven.aliyun.com/nexus/content/groups/public/")),
  9. Resolver.mavenLocal,
  10. Resolver.file("local", file(Path.userHome.absolutePath + "/.ivy2/local"))(Resolver.ivyStylePatterns)
  11. ),
用 Resolver.url("aliyun", url("http://maven.aliyun.com/nexus/content/groups/public/"))替换掉 DefaultMavenRepository 即可。 
然后参照官方的方法用sbt编译Spark,你会发现,新下载的jar包会从阿里云获取,类似这样: 

点击(此处)折叠或打开

  1. ...
  2. [info] [SUCCESSFUL ] org.apache.parquet#parquet-encoding;1.8.2!parquet-encoding.jar (417ms)
  3. [info] downloading [url]http://maven.aliyun.com/nexus/content/groups/public/org/apache/parquet/parquet-format/2.3.1/parquet-format-2.3.1.jar[/url] ...
  4. [info] [SUCCESSFUL ] org.apache.parquet#parquet-format;2.3.1!parquet-format.jar (948ms)
  5. [info] downloading [url]http://maven.aliyun.com/nexus/content/groups/public/org/apache/parquet/parquet-jackson/1.8.2/parquet-jackson-1.8.2.jar[/url] ...
  6. [info] [SUCCESSFUL ] org.apache.parquet#parquet-jackson;1.8.2!parquet-jackson.jar (1419ms)
  7. [info] downloading [url]http://maven.aliyun.com/nexus/content/groups/public/org/apache/avro/avro/1.8.1/avro-1.8.1.jar[/url] ...
  8. [info] [SUCCESSFUL ] org.apache.avro#avro;1.8.1!avro.jar(bundle) (2448ms)
  9. [info] downloading [url]http://maven.aliyun.com/nexus/content/groups/public/org/apache/parquet/parquet-avro/1.8.2/parquet-avro-1.8.2.jar[/url] ...
  10. ...

这个下载过程,比官方的Maven源要快很多。

PS:使用sbt编译Spark子项目的方法,可以参考我的这篇文章:

提速Maven构建速度

Maven的就比较简单了,是非常通用的方法,我们仅需要修改 pom.xml 文件即可:

点击(此处)折叠或打开

  1. --- a/pom.xml
  2. +++ b/pom.xml
  3. @@ -228,7 +228,8 @@
  4. <id>central</id>
  5. <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
  6. <name>Maven Repository</name>
  7. - <url>[url]https://repo1.maven.org/maven2</url>[/url]
  8. + <!--<url>[url]https://repo1.maven.org/maven2</url>-->[/url]
  9. + <url>[url]http://maven.aliyun.com/nexus/content/groups/public/</url>[/url]
  10. <releases>
  11. <enabled>true</enabled>
  12. </releases>

配置下面还有个Maven的插件,也参考这个修改掉即可。




转: http://www.kekeyun.com/thread-3385-1-1.html
目录
相关文章
|
2月前
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
3月前
|
Java Maven 数据安全/隐私保护
弄懂maven仓库 & 仓库优先级 & settings & pom配置关系及差异
弄懂maven仓库 & 仓库优先级 & settings & pom配置关系及差异
431 1
|
3月前
|
弹性计算 Java API
阿里云OpenAPI的依赖文件通常在阿里云官方文档或者SDK的GitHub仓库中可以找到
【1月更文挑战第5天】【1月更文挑战第21篇】 阿里云OpenAPI的依赖文件通常在阿里云官方文档或者SDK的GitHub仓库中可以找到
95 1
|
4月前
|
Java Maven 数据安全/隐私保护
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
304 0
|
26天前
|
分布式计算 运维 大数据
阿里云 EMR Serverless Spark 版免费邀测中
阿里云 EMR Serverless Spark 版,以 Spark Native Engine 为基础,旨在提供一个全托管、一站式的数据开发平台。诚邀您参与 EMR Serverless Spark 版免费测试,体验 100% 兼容 Spark 的 Serverless 服务:https://survey.aliyun.com/apps/zhiliao/iscizrF54
379 0
阿里云 EMR Serverless Spark 版免费邀测中
|
2月前
|
分布式计算 Java Scala
spark 与 scala 的对应版本查看、在idea中maven版本不要选择17,弄了好久,换成11就可以啦
spark 与 scala 的对应版本查看、.在idea中maven版本不要选择17,弄了好久,换成11就可以啦
87 2
|
3月前
|
Java Maven Docker
SpringBoot项目打包部署到阿里云服务器、通过Maven插件制作Docker镜像、部署项目容器、配置生产环境
SpringBoot项目打包部署到阿里云服务器、通过Maven插件制作Docker镜像、部署项目容器、配置生产环境
104 0
|
3月前
|
Java Maven
maven配置阿里云镜像源
maven配置阿里云镜像源
3576 1
|
4月前
|
XML Java 大数据
答应粉丝的Maven仓库学习笔记,今天它来了 一起来学习快速入门Maven
答应粉丝的Maven仓库学习笔记,今天它来了 一起来学习快速入门Maven
78 1
|
4月前
|
Java Maven
请问一下云效maven仓库迁移怎么弄?
请问一下云效maven仓库迁移怎么弄?
59 0

热门文章

最新文章