springboot远程链接spark

springboot远程链接spark

1、导入依赖
xml 复制代码
<!--        spark依赖-->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId>
            <version>3.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.12</artifactId>
            <version>3.2.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-mllib -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.12</artifactId>
            <version>3.2.2</version>
        </dependency>
2、配置spark信息
  • 建立一个配置文件,配置spark信息

    java 复制代码
    import org.apache.spark.SparkConf;
    import org.apache.spark.sql.SparkSession;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    //将文件交于spring管理
    @Configuration
    public class SparkConfig {
    
        //使用yml中的配置
        @Value("${spark.master}")
        private String sparkMaster;
    
        @Value("${spark.appName}")
        private String sparkAppName;
        @Bean
        public SparkConf sparkConf() {
            SparkConf conf = new SparkConf();
            conf.setMaster(sparkMaster);
            conf.setAppName(sparkAppName);
            return conf;
        }
    
        @Bean
        public SparkSession sparkSession() {
            return SparkSession.builder()
                    .config(sparkConf())
                    .getOrCreate();
        }
    }
3、controller和service
  • controller类

    java 复制代码
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import xyz.zzj.traffic_main_code.service.SparkService;
    
    @RestController
    @RequestMapping("/spark")
    public class SparkController {
    
        @Autowired
        private SparkService sparkService;
    
        @GetMapping("/run")
        public String runSparkJob() {
            sparkService.executeSparkJob();
            return "Spark job executed successfully!";
        }
    }
  • service

    java 复制代码
    import org.springframework.stereotype.Service;
    
    @Service
    public class SparkService {
    
        public void executeSparkJob() {
            System.out.println("Spark job started");
        }
    }
4、运行
相关推荐
cjy0001119 小时前
springboot的 nacos 配置获取不到导致启动失败及日志不输出问题
java·spring boot·后端
sheji34169 小时前
【开题答辩全过程】以 基于springboot的校园失物招领系统为例,包含答辩的问题和答案
java·spring boot·后端
程序员阿伦12 小时前
璋㈤鏈虹殑Java澶у巶闈㈣瘯璁帮細浠嶴pring Boot鍒癒ubernetes锛�3杞湡棰樺叏瑙f瀽锛�
spring boot·redis·kubernetes·aigc·java闈㈣瘯·寰湇鍔�·鐢靛晢绉掓潃
wuyikeer12 小时前
Spring BOOT 启动参数
java·spring boot·后端
zdl68613 小时前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
可观测性用观测云14 小时前
SpringBootAI 接入观测云 MCP 最佳实践
spring boot
BUG胡汉三14 小时前
自建在线文档编辑服务:基于 Collabora CODE + Spring Boot + Vue 3 的完整实现
vue.js·spring boot·后端·在线编辑
荒古前15 小时前
Spring Boot + MyBatis 启动报错:不允许有匹配 “[xX][mM][lL]“ 的处理指令目标
spring boot·后端·mybatis
mldlds15 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
xxjj998a15 小时前
Spring Boot 整合 Apollo 配置中心实战
java·spring boot·后端