spring boot java项目整合Scala&Spark,接口api调用方式调用scala代码,配置分享

这篇具有很好参考价值的文章主要介绍了spring boot java项目整合Scala&Spark,接口api调用方式调用scala代码,配置分享。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

版本说明:

spring boot:2.5.9

jdk:1.8

spark:2.4.5

sclala:2.11.12

首先你需要有一个完美的spring boot项目(java版本)能成功运行,这就不赘述了,按照网上的自己搭建吧,然后重要的来了,我捣鼓了两天时间,各样的报错见过了,网上的处理方法要嘛是不全,要嘛是没有用,各种办法都试过,我只分享我成功后的配置,

xml配置添加:(scala环境和spark环境)

在原有的<dependencies>依赖里面添加下面的依赖,然后在<plugins>里面添加scala编译依赖,不然编译不通过,会报错找不到符号

        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.11.12</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.4.5</version>
        </dependency>
            <!--            加入Scala的编译插件,否则无法进行编译-->
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

service层,注意前端调用scala接口,那么scala服务的所有代码都需要用scala代码编写,不能跟java代码混编(会报错:包导入成功了但是运行时报错找不到包)

scala service层测试代码

package com.jack.graduation.service

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
import org.springframework.stereotype.Service


@Service
class TestService {
  def test(): Boolean = {
    true
  }

  def wc(): Map[String, Int] = {
    val sparkConf: SparkConf = new SparkConf()
      .set("spark.driver.host", "myword")
      .setAppName("test_scala")
      .setMaster("local[*]")
    val sc = new SparkContext(sparkConf)

    val fileRDD: RDD[String] = sc.textFile("D:/idea2020/IdeaProjects/graduation/src/main/resources/files/a.txt")
    val tempRDD: RDD[String] = fileRDD.flatMap(_.split(" "))
    val mapRDD: RDD[(String, Int)] = tempRDD.map((_, 1))
    val map: Map[String, Int] = mapRDD.reduceByKey(_ + _).collect().toMap
    println("testmap"+map)
    sc.stop()
    map
  }
}

scala controller层测试代码

package com.jack.graduation.controller


import com.jack.graduation.service.TestService
import javax.annotation.Resource
import org.springframework.web.bind.annotation._

/**
 *
 * @param test
 */
@RestController
@RequestMapping(Array("/sparkCon"))
class CustomerController @Resource()(test: TestService) {
  @GetMapping(Array("/test"))
  def test(): String = {
    val bool: Boolean = test.test()
    println(bool)
    "hello scala"
  }

  @GetMapping(Array("/wc"))
  def wcTest(): Boolean = {
    val stringToInt: Map[String, Int] = test.wc()
    println("wcmap" + stringToInt)
    stringToInt.nonEmpty
  }
}
注意上面的服务层代码的导入方式: @Resource()(test: TestService),如果通过@Autowired会报错

途中碰到各种困难,可以尝试以下方法

spring boot java项目整合Scala&Spark,接口api调用方式调用scala代码,配置分享
  1. maven先clean

  1. 然后install

  1. 然后重启idea

spring boot java项目整合Scala&Spark,接口api调用方式调用scala代码,配置分享

也可重新编译代码文章来源地址https://www.toymoban.com/news/detail-497140.html

到了这里,关于spring boot java项目整合Scala&Spark,接口api调用方式调用scala代码,配置分享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Spark项目Java和Scala混合打包编译

    Spark项目Java和Scala混合打包编译

    实际开发用有时候引用自己写的一些java工具类,但是整个项目是scala开发的spark程序,在项目打包时需要考虑到java和scala混合在一起编译。 今天看到之前很久之前写的一些打包编译文章,发现很多地方不太对,于是重新整理更新如下。 我们的项目结构可能如下图,既包含ja

    2024年02月11日
    浏览(12)
  • 【Spring Boot】SpringBoot 优雅整合Swagger Api 自动生成文档

    【Spring Boot】SpringBoot 优雅整合Swagger Api 自动生成文档

    Swagger 是一套 RESTful API 文档生成工具,可以方便地生成 API 文档并提供 API 调试页面。 而 Spring Boot 是一款非常优秀的 Java Web 开发框架,它可以非常方便地构建 Web 应用程序。 在本文中,我们将介绍如何使用 Swagger 以及如何在 Spring Boot 中整合 Swagger 。 首先,在 pom.xml 文件中添

    2023年04月22日
    浏览(11)
  • Spring Boot 调用外部接口的 3 种方式

    SpringBoot不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求, 比如在apaas开发过程中需要封装接口在接口中调用apaas提供的接口(

    2024年02月12日
    浏览(25)
  • Spring Boot 中调用外部接口的 3 种方式

      SpringBoot不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求。   调用外部接口是指在应用程序中与其他系统、服务或服务

    2024年02月14日
    浏览(9)
  • spring boot 项目整合 websocket

    spring boot 项目整合 websocket

            负责的项目有一个搜索功能,搜索的范围几乎是全表扫,且数据源类型贼多。目前对搜索的数据量量级未知,但肯定不会太少,不仅需要搜索还得点击下载文件。           关于搜索这块类型 众多,未了避免有个别极大数据源影响整个搜索效率,我采用多线程异步

    2024年02月11日
    浏览(12)
  • HttpServiceProxyFactory 在 Spring Boot 3 中的应用:Spring Boot 3 使用 HttpServiceProxyFactory 调用远程接口

    HttpServiceProxyFactory 在 Spring Boot 3 中的应用:Spring Boot 3 使用 HttpServiceProxyFactory 调用远程接口

    博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接 : 🔗 精选专栏 : 《面试题大全》 — 面试准备的宝典! 《IDEA开发秘籍》 — 提升你的IDEA技能! 《100天精通Golang》 — Go语言学习之旅! 领域矩阵 : 🌐 猫头虎技术领域矩阵 : 深入探索

    2024年02月02日
    浏览(9)
  • Spring Boot 调用外部接口的 3 种方式,还有谁不会?!

    Spring Boot 调用外部接口的 3 种方式,还有谁不会?!

    SpringBoot不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求, 比如在apaas开发过程中需要封装接口在接口中调用apaas提供的接口(

    2024年02月09日
    浏览(9)
  • 用API Key保护Spring Boot 接口的安全

    用API Key保护Spring Boot 接口的安全

         安全性在REST API开发中扮演着重要的角色。一个不安全的REST API可以直接访问到后台系统中的敏感数据。因此,企业组织需要关注API安全性。         Spring Security  提供了各种机制来保护我们的  REST API 。其中之一是  API  密钥。API 密钥是客户端在调用 API 调用时提

    2024年02月12日
    浏览(13)
  • [Spring boot] Spring boot 整合RabbitMQ实现通过RabbitMQ进行项目的连接

    [Spring boot] Spring boot 整合RabbitMQ实现通过RabbitMQ进行项目的连接

     🍳作者:天海奈奈 💭眼过千遍不如手锤一遍:推荐一款模拟面试,斩获大厂 o f f e r ,程序员的必备刷题平台 − − 牛客网  👉🏻点击开始刷题之旅 目录 什么是RabbitMQ   消息队列:接受并转发消息,类似于快递公司 消息队列的优点 消息队列的特性 RabbitMQ特点 RabbitMQ核

    2024年01月24日
    浏览(29)
  • 如何在Spring Boot中优雅地重试调用第三方API?

    如何在Spring Boot中优雅地重试调用第三方API?

    🎉如何在Spring Boot中优雅地重试调用第三方API? ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:架构设计 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术和水平有限,如果文中出现错误,

    2024年02月05日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包