一、前言

  首先说明一下,这个框架的整合可能对大神来说十分容易,但是对我来说十分不易,踩了不少坑。虽然整合的时间不长,但是值得来纪念下!!!我个人开发工具比较喜欢IDEA,创建的springboot的java工程再引入scala的library之后当前工程即可创建java文件又可创建scala文件,这个一个工程里可采用java+scala双语言来开发。用了这个框架搭建成功后给我们开发spark代码能带来什么便利之处?

  1、springboot可以开发非web项目,与spark不相关的代码可以采用java来开发,比如访问数据库,中间件等,用java十分便利。

  2、spark相关开发采用scala语言代码量更少,开发效率更高。

  主要基于以上两点,搭建这个框架还是具有不小的意义。

二、搭建过程

  1、利用maven引入springboot的基础jar包

  2、利用maven引入spark相关jar包

  3、利用maven引入解决冲突的jar包

完整pom文件如下:
<?xml version="1.0" encoding="UTF-8"?>

<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/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>

    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.0.0.RELEASE</version>    </parent>

    <groupId>ba</groupId>    <artifactId>SparkTest01</artifactId>    <version>1.0-SNAPSHOT</version>

    <name>SparkTest01</name>    <!-- FIXME change it to the project's website -->    <url>http://www.example.com</url>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <maven.compiler.source>1.7</maven.compiler.source>        <maven.compiler.target>1.7</maven.compiler.target>        <spark.version>2.1.0</spark.version>        <hadoop.version>2.7.4</hadoop.version>        <springboot.version>2.0.0.RELEASE</springboot.version>    </properties>    <dependencies>        <!--spark框架开始-->        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-core_2.11</artifactId>            <version>${spark.version}</version><exclusions>                <exclusion>                    <groupId>org.slf4j</groupId>                    <artifactId>slf4j-log4j12</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-sql_2.11</artifactId>            <version>${spark.version}</version>        </dependency>        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-hive_2.11</artifactId>            <version>${spark.version}</version>        </dependency>        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-streaming_2.11</artifactId>            <version>${spark.version}</version>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-client</artifactId>            <version>${hadoop.version}</version> <exclusions>                <exclusion>                    <groupId>org.slf4j</groupId>                    <artifactId>slf4j-log4j12</artifactId>                </exclusion>            </exclusions>        </dependency>        <!--spark框架结束-->

        <!--springboot开始 -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter</artifactId>            <version>${springboot.version}</version>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-configuration-processor</artifactId>            <version>${springboot.version}</version>            <optional>true</optional>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-autoconfigure</artifactId>            <version>${springboot.version}</version>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-test</artifactId>            <version>${springboot.version}</version>        </dependency>        <!-- springboot框架结束-->

        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.6</version>        </dependency>     <!--解决框架加载失败 -->        <dependency>            <groupId>javax.validation</groupId>            <artifactId>validation-api</artifactId>            <version>1.1.0.Final</version>        </dependency>        <!--解决框架加载失败 -->        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-validator</artifactId>            <version>5.2.4.Final</version>        </dependency>

    </dependencies>
<build>        <plugins>            <!-- springboot maven打包-->            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>            </plugin>        </plugins></build>
</project>

注意:1、黄色标记是作用是jar包冲突。   2、青色标记是解决框架引入失败的问题。    三、实测结果  

四、打jar包发布至spark平台 坑:将spark安装包里的gson-2.2.4.jar从jars目录移除!!! 打包打用的spring-boot-maven-plugin插件,将jar放至spark服务器上,提交代码时指定类为springboot的启动代理类--class org.springframework.boot.loader.JarLauncher。以下是提交命令: spark-submit --class org.springframework.boot.loader.JarLauncher SparkStudy01-1.0-SNAPSHOT.jar

  以下是运行的结果:



转载于:https://www.cnblogs.com/runnerjack/p/9446660.html

Springboot(2.0.0.RELEASE)+spark(2.1.0)框架整合到jar包成功发布(原创)!!!相关推荐

  1. android studio 3.0以后主moudle无法调用依赖moudle里的jar包问题

        关于这个问题,首先3.0以前gradle中使用的是compile来引入依赖,升级到3.0后studio会自动提示Configuration 'compile' is obsolete and ...

  2. spring-boot引用资源:图片、json文件、模板目录(jar包运行依旧有效)

    spring-boot引用资源:图片.json文件.模板目录 前端时间,在idea上运行项目OK,但在打成jar包后运行却出了岔子.网上一番搜索,终于得到了解决:使用流,使用类路径 干货 图片,jso ...

  3. 基于springboot+shiro一套可落地实施安全认证框架整合

    前言 俗话说,兵马未动,粮草先行,万丈高楼平地起,一套切实可用的微服务框架是整个项目小组进行后续高效开发的保障,在前期微服务框架构建过程中,大体来说,主要考虑3个点: 技术选项,如果公司业务规模能够提 ...

  4. Apache Spark 2.2.0 中文文档 - 概述 | ApacheCN

    Spark 概述 Apache Spark 是一个快速的, 多用途的集群计算系统. 它提供了 Java, Scala, Python 和 R 的高级 API,以及一个支持通用的执行图计算的优化过的引擎 ...

  5. (转)hibernate-5.0.7+struts-2.3.24+spring-4.2.4三大框架整合

    http://blog.csdn.net/yerenyuan_pku/article/details/70040220 SSH框架整合思想 三大框架应用在JavaEE三层结构,每一层都用到了不同的框架 ...

  6. springboot打Jar包和War包

    一:打JAR包 在工程的pom.xml中添加以下依赖 <build> <plugins> <plugin> <groupId>org.springfra ...

  7. Springboot jar包外置教程

    Springboot jar包外置教程     入职的第一个小任务是:使springboot项目的外部依赖jar包与项目本身打成的jar包分离.每次默认的把springboot项目打成可运行jar包, ...

  8. 【SpringBoot】人工更新SpringBoot项目,Jar包太大问题解决,SpringBoot瘦包

    楼主也是刚接触SpringBoot几天,以前都是用SpringMVC开发,这里跟小伙伴们分享一个需求问题,如果有遇到的话可以继续往下看,能帮助到各位,是最好不过啦. 我们知道用SpringBoot开发 ...

  9. 直接替换Springboot jar包中的文件

    Linux Springboot 在不重新打包的情况下,修改配置文件 直接vim xxx.jar包后,可以通过 /关键字来查找文件,查找到以后,通过方向键进行控制,enter进入文件,i进入插入模式, ...

最新文章

  1. POJ-2251 Dungeon Master bfs搜索
  2. 性能调优某大型银行的一个系统过程跟踪和记录
  3. BZOJ 1084: [SCOI2005]最大子矩阵【DP】
  4. linux第一季运维001
  5. 【mmdetection2.0错误】——ModuleNotFoundError: No module named ‘mmdet‘
  6. edHat linux光盘引导,[原]个性化Linux发行版光盘之补充——XZ(LZMA算法)
  7. Vue-cli项目中mockjs + axios实现前后端分离代码demo(清晰易懂)
  8. C/C++库函数math用法案例篇一
  9. ArcGIS:ArcToolBox工具使用——提取DEM/DSM中的高程点
  10. 《ANTLR 4权威指南 》一导读
  11. SEO快速排名是什么,百度快速排名软件还有用吗?
  12. oracle 18c 新特性,Oracle 18c新特性测试
  13. 【共词聚类分析】基于CNKI和WOS的小样本稳健性检验
  14. Servlet文件上传的实现
  15. UESTC ACM训练题二
  16. MCAL-GTM之时钟管理CMU
  17. 头脑王者类似源码研究
  18. 电脑上怎么发出电子版准考证
  19. Qt QWidget播放视频背景图片闪烁
  20. jpg转换成word(如何把jpg转换成word文档)

热门文章

  1. java uuid静态方法_Java UUID timestamp()方法与示例
  2. 计算机编程要哪方面天赋,编程要哪门子天赋
  3. 教主们:虽然这道题我不会,但Ac还是没问题的。
  4. 283. 移动零 golang
  5. qq ip探测仪 php,巧用Win7资源监视器,查看QQ好友IP
  6. CentOS 7关闭firewalld启用iptables
  7. 【C++11新特性】 C++11智能指针之unique_ptr
  8. 【微机原理与接口技术】多功能可编程芯片 与 多功能电饭煲
  9. Makefile规则介绍
  10. 437. 路径总和 III