首页 > 其他分享 >springboot集成spark大数据

springboot集成spark大数据

时间:2024-04-17 11:12:32浏览次数:23  
标签:集成 JDK1.8 java springboot df add test spark

1、特别申明,请注意JDK版本,最好用JDK1.8,用JDK17会导致很多报错

2、导入pom依赖 JDK1.8直接导入spark依赖就行。

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.13</artifactId>
            <version>3.4.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.13</artifactId>
            <version>3.4.1</version>
        </dependency>

3、如果是JDK17需要导入JDK1.8的(JDK1.8版本跳过下面依赖)

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</artifactId>
            <version>1.6.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>        

4、直接上代码

    @Operation(summary = "spark处理")
    @PostMapping("sparkHander")
    public Resp sparkTest() throws IOException { 
        //System.setProperty("hadoop.home.dir", "C:\\hadoop-common-2.2.0");
        SparkConf sparkConf = new SparkConf();
        sparkConf.set("spark.ui.enabled", "false");
        sparkConf.set("spark.some.config.option", "some-value");
        SparkSession spark = SparkSession
                .builder()
                .master("local")
                .appName("SparkSQLTest4")
                .config(sparkConf)
                .getOrCreate();
//本地后缀名.json的文件 Dataset<Row> df = spark.read().json("C:\\test.json"); df.printSchema(); df.show();
     //表名可以随便写如:"test" df.createOrReplaceTempView("test");
     //如果上面写test这里你就可以写查询条件select * from test Dataset<Row> dataset = spark.sql("select * from test"); dataset.show();
     //得到JSON的字符串 List<String> strings = dataset.toJSON().collectAsList(); spark.stop(); return Resp.of(strings); }

5、JSON格式如下:

[
    {
        "port": "1",
        "name": "测试服务器1",
        "showPassword": false,
        "status": "0"
    },
    {
        "port": "2",
        "name": "测试服务器2",
        "showPassword": false,
        "status": "0"
    },{
        "port": "3",
        "name": "测试服务器3",
        "showPassword": false,
        "status": "0"
    }
]

6、(JDK1.8无需配置)如果是JDK17还需要配置:vm options 

 

--add-opens
java.base/java.io=ALL-UNNAMED
--add-opens
java.base/java.nio=ALL-UNNAMED
--add-exports
java.base/sun.nio.ch=ALL-UNNAMED
--add-opens
java.base/java.javax=ALL-UNNAMED

 

标签:集成,JDK1.8,java,springboot,df,add,test,spark
From: https://www.cnblogs.com/Ifyou/p/18140113

相关文章

  • springboot多模块项目启动经历
    springboot多模块使用@目录springboot多模块使用前言大佬把项目权限给我了,我就先下下来看看学习一下一、识别二、maven配置1.安装maven三、加载刷新总结前言大佬把项目权限给我了,我就先下下来看看学习一下一、识别项目分为母模块和多个子模块,开始idea只是识别了最外层的pom......
  • 31.SpringBoot项目_员工管理系统总结 下
    本来想好好整理最后结束的奈何又接了个项目一个挺大的项目更能运用所以时间不够就简单整理算烂了个尾吧首先:1.人工AI取代程序员对我来说是不对的确实是骗外行的但其确实强大带来的便利但也只有程序员才能完美部署并运用它2.有多少人像我一样不喜欢wordexcelppt喜......
  • springboot简单正确的使用构造函数注入
    一个一个写构造函数太麻烦了,而且代码会显得非常多,这里我们可以采用lombok快捷注入但是我们并不是所有的成员变量都需要进行注入,所以使用@RequiredArgsConstrucotr需要构造函数的部分添加上final关键字"Alwaysuseconstructorbaseddependencyinjectioninyourbeans.Alwa......
  • SpringBoot 事务失效常见的原因
    low一点的原因:1.非public方法2.异常被处理了(trycatch)3.bean没被Spring管理,比如没加Component注解4.数据库不支持(比如MyISAM) 高大上一点的原因:5.内部方法调用,可以注入本实例的代理类,通过代理类来调用6.抛出的是非RuntimeException,可以这么解决(@Transactional(rollb......
  • 初次使用SpringBoot3遇到的一些问题
    打开网址https://start.spring.io/  选择版本依赖等信息 本机环境原先装了个jdk8,由于SpringBoot3最低支持jdk17,所以本机环境上又装了个jdk17   https://www.oracle.com/java/technologies/downloads/#java17出于怀旧,jdk8还保留着,并且环境变量还是jdk8,只是在idea里吧......
  • 30.swagger springboot中简单整理
    类似postman接口在线测试API接口哈哈我也不太懂接口还没前后端整合过呢也就是注释你的各种接口吧可有可无先说依赖问题这个是swagger2的依赖当然出现问题了已经更新到了swagger3了参考:https://cloud.tencent.com/developer/article/1936862https://mvnrepos......
  • SpringBoot+SpringSecurity6+Jwt最小化代码
    SpringBoot+SpringSecurity6+Jwt最小化代码[toc]零、参考资料https://blog.csdn.net/m0_71273766/article/details/132942056一、快速开始1.1、引入依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0&quo......
  • RocketMQ集成SpringBoot
    踩了3天的坑,发现使用rocketMQTemplte消费者一直注册不上,发现是springboot版本问题1.版本选择经过不严格测试发现rocketmq-spring-boot-starter2.3.0支持springboot3以上rocketmq-spring-boot-starter2.2.x只能使用3以下,高版本会导致消费者注册不上的问题2.application.y......
  • 80、SpringBoot3 SpringSecurity Mybatisplus最新版 整合 实现登入权限控制
    1、导入pom依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apac......
  • SpringBoot+MybatisPlus 增删改查学习第三章 (C#转JAVA)
    packagecom.example.demo;importcom.baomidou.mybatisplus.core.conditions.query.QueryWrapper;importcom.example.demo.entity.Person;importcom.example.demo.mapper.PersonMapper;importcom.example.demo.service.PersonService;importorg.junit.jupiter.api.Test;i......