当前位置: 首页 > news >正文

对于maven创建spark项目的pom.xml配置文件(图文详解)

 

 

  不多说,直接上干货!

 

http://mvnrepository.com/

 

 

 

 

 

 

  这里,怎么创建,见

Spark编程环境搭建(基于Intellij IDEA的Ultimate版本)(包含Java和Scala版的WordCount)(博主强烈推荐)

 

 

 

  这里, 我重点说下spark项目,因为,对于hadoop这样的,我已经写了大量博客了。

   比如,我目前用得较多的spark-mllib。

  这里spark-mllib_2.10 就是你的scala版本是2.10.X系列。比如我一般是使用scala-2.10.4。

  这里spark-mllib_2.11 就是你的scala版本是2.11.X系列。

 

 

 

 

  同时,大家要养成规范,http://mvnrepository.com里是示例如下

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-mllib_2.10 -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-mllib_2.10</artifactId>
    <version>2.2.0</version>
    <scope>provided</scope>
</dependency>

 

 

  

   但是呢,我不建议这样。反而是把版本抽取出来,

 

 

 

   以下是我的maven构建出来的spark项目的pom.xml,大家可以作为参考下。当然这不是最规范的。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>zhouls.bigdata</groupId>
  <artifactId>SparkMllibBook</artifactId>
  <version>1.0-SNAPSHOT</version>
  <inceptionYear>2008</inceptionYear>

  <properties>
    <scala.version>2.10.4</scala.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <hadoop.version>2.6.0</hadoop.version>
    <spark.version>2.2.0</spark.version>
  </properties>

  <repositories>
    <repository>
      <id>scala-tools.org</id>
      <name>Scala-Tools Maven2 Repository</name>
      <url>http://scala-tools.org/repo-releases</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>scala-tools.org</id>
      <name>Scala-Tools Maven2 Repository</name>
      <url>http://scala-tools.org/repo-releases</url>
    </pluginRepository>
  </pluginRepositories>

  <dependencies>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>${scala.version}</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.specs</groupId>
      <artifactId>specs</artifactId>
      <version>1.2.5</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-common</artifactId>
      <version>${hadoop.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-hdfs</artifactId>
      <version>${hadoop.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-mapreduce-client-common</artifactId>
      <version>${hadoop.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-mapreduce-client-core</artifactId>
      <version>${hadoop.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.10</artifactId>
      <version>${spark.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-streaming_2.10</artifactId>
      <version>${spark.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-sql_2.10</artifactId>
      <version>${spark.version}</version>
      <scope>provided</scope>
    </dependency>


    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-mllib_2.10</artifactId>
      <version>${spark.version}</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>


  <build>
    <sourceDirectory>src/main/scala</sourceDirectory>
    <testSourceDirectory>src/test/scala</testSourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.scala-tools</groupId>
        <artifactId>maven-scala-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <scalaVersion>${scala.version}</scalaVersion>
          <args>
            <arg>-target:jvm-1.5</arg>
          </args>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <buildcommands>
            <buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand>
          </buildcommands>
          <additionalProjectnatures>
            <projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature>
          </additionalProjectnatures>
          <classpathContainers>
            <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
            <classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer>
          </classpathContainers>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.scala-tools</groupId>
        <artifactId>maven-scala-plugin</artifactId>
        <configuration>
          <scalaVersion>${scala.version}</scalaVersion>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
</project>

 

 

  也许,大家在具体执行代码时,出现如下问题

IDEA里运行代码时出现Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger的解决办法(图文详解)

IDEA里运行代码时出现Error:scalac: error while loading JUnit4, Scala signature JUnit4 has wrong version expected: 5.0 found: 4.1 in JUnit4.class错误的解决办法(图文详解)

 

转载于:https://www.cnblogs.com/zlslch/p/7446002.html

相关文章:

  • mongoDB (mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
  • bzoj3675 序列分割
  • 恋愛SLG-「メイド服セット」ゲットチャレンジ!
  • 1、python全栈之路-数据类型
  • 分布式数据库架构及企业实践--基于Mycat中间件pdf
  • pycharm gerrit
  • python即时标记
  • try catch 小结 , node的回调callback里不能捕获异常 , 不能被v8优化(现在能了),...
  • 实现多线程的另一种方式-Callable
  • BeginInvoke异步线程
  • ASP.NET Core 运行原理解剖[3]:Middleware-请求管道的构成
  • UVA - 10763 Foreign Exchange
  • 网络编程概述和三要素(IP/端口号/协议)以及Socket通信原理
  • 张春晖让视频的每词每句都可搜索:Autotiming 可以自动配字幕,还将改变哪些领域?...
  • 寄存器调试 (1):应用层基于shell命令访问
  • python3.6+scrapy+mysql 爬虫实战
  • 77. Combinations
  • bearychat的java client
  • JavaScript新鲜事·第5期
  • k8s 面向应用开发者的基础命令
  • KMP算法及优化
  • Linux快速复制或删除大量小文件
  • node-glob通配符
  • Sequelize 中文文档 v4 - Getting started - 入门
  • SpringCloud集成分布式事务LCN (一)
  • unity如何实现一个固定宽度的orthagraphic相机
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 前端面试之闭包
  • 前端自动化解决方案
  • 深度学习入门:10门免费线上课程推荐
  • 使用 Docker 部署 Spring Boot项目
  • 听说你叫Java(二)–Servlet请求
  • 微信小程序设置上一页数据
  • 学习使用ExpressJS 4.0中的新Router
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​TypeScript都不会用,也敢说会前端?
  • #13 yum、编译安装与sed命令的使用
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (二)c52学习之旅-简单了解单片机
  • (二)构建dubbo分布式平台-平台功能导图
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (力扣)1314.矩阵区域和
  • (六)Hibernate的二级缓存
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)程序员技术练级攻略
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET Core 中的路径问题
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .sh