Spring Boot Vue 毕设系统讲解 9 【Spark】

@SuppressWarnings("serial")
@Configuration
@ConfigurationProperties(prefix="spark")
public class SparkConfig  implements Serializable {//spark的安装地址private String sparkHome = ".";//应用的名称private String appName = "mySpark";//master的地址private String master = "local[*]";@Bean@ConditionalOnMissingBean(SparkConf.class)public SparkConf sparkConf() throws Exception {SparkConf conf = new SparkConf().setSparkHome(sparkHome).setAppName(appName).setMaster(master);conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");//JVM申请的memory不够会导致无法启动conf.set("spark.testing.memory","471859200");return conf;}@Bean@ConditionalOnMissingBean(JavaSparkContext.class)public JavaSparkContext javaSparkContext() throws Exception {return new JavaSparkContext(sparkConf());}public String getSparkHome() {return sparkHome;}public void setSparkHome(String sparkHome) {this.sparkHome = sparkHome;}public String getAppName() {return appName;}public void setAppName(String appName) {this.appName = appName;}public String getMaster() {return master;}public void setMaster(String master) {this.master = master;}
}

这段代码是一个用于配置Apache Spark的Java配置类,它利用了Spring Boot的自动配置和条件注解功能来创建和管理Spark的配置和上下文。下面是对这段代码的详细解释:

  1. @SuppressWarnings("serial"):
    • 这个注解用于抑制编译器关于缺少serialVersionUID的警告。在Java中,当你实现Serializable接口时,最好定义一个serialVersionUID,以便在序列化对象时保持版本兼容性。然而,对于只用于Spring Boot内部管理的配置类,这个警告通常可以忽略。
  2. @Configuration:
    • 这是一个Spring Boot的注解,表明该类是一个配置类,用于定义Bean。Spring容器会扫描这个类,并识别出用@Bean注解的方法,然后将这些方法返回的实例注册为Bean。
  3. @ConfigurationProperties(prefix="spark"):
    • 这个注解用于将配置文件的属性绑定到类的字段上。在这个例子中,它告诉Spring Boot查找所有以spark为前缀的配置项,并将它们自动填充到SparkConfig类的相应字段中。这样,你可以通过在application.propertiesapplication.yml文件中设置spark.sparkHomespark.appNamespark.master等属性来配置Spark。
  4. 字段定义:
    • 类中定义了三个字段:sparkHome(Spark的安装地址)、appName(应用的名称)、master(master的地址)。这些字段通过标准的getter和setter方法提供访问。
  5. @Bean@ConditionalOnMissingBean:
    • 类中定义了两个带有@Bean注解的方法:sparkConf()javaSparkContext()。这两个方法分别用于创建SparkConfJavaSparkContext的Bean。SparkConf是Spark的配置类,而JavaSparkContext是Spark操作的主要入口点。
    • @ConditionalOnMissingBean注解用于条件化Bean的创建。如果容器中已经存在SparkConfJavaSparkContext的Bean,则不会创建新的Bean。这有助于避免在多个配置类中重复创建相同的Bean。
  6. 配置SparkConf:
    • sparkConf()方法中,通过SparkConf对象设置了Spark的一些基本配置,包括Spark的安装路径、应用名称、master地址,以及序列化器和JVM内存大小等。
  7. 创建JavaSparkContext:
    • javaSparkContext()方法通过调用new JavaSparkContext(sparkConf())来创建JavaSparkContext的Bean。这个上下文是执行Spark作业所必需的。

总之,这个类通过Spring Boot的自动配置和条件注解功能,提供了一种灵活的方式来配置和管理Spark应用的配置和上下文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/870862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像识别和目标检测在超市电子秤上的应用

目录 前言深度学习的目标检测图像识别技术视觉秤的优势其他应用场景中的技术应用未来展望 前言 随着科技的不断发展,电子秤在生鲜超市中的应用也在不断升级。传统的电子秤需要打秤人员手动输入秤码,这不仅耗时费力,还需要大量的培训以记住各…

Rust编程-泛型、Trait和生命周期

泛型: 泛型是类型编程中的一种工具。本质上是类型的变量,目的是提高代码的复用。泛型是 具体类型或其他属性的抽象替代。 为了复用,我们会使用函数将功能封装,同样,泛型也是为了复用,只不过是为了类型的复用…

工业大数据是什么?应用工业大数据时面临哪些挑战?

在当今快速发展的工业领域,大数据已成为推动企业转型升级的核心动力。工业大数据,以其独特的价值和潜力,正逐渐改变着传统的生产、管理和决策模式。然而,伴随着大数据的快速发展,一系列挑战也随之浮现。本文将深入探讨…

算法日常练习

对于这个题&#xff0c;如何处理同一个方向的问题&#xff0c;且对于同一组的如果间隔太大如何实现离散化 #include<bits/stdc.h> using namespace std;#define int long long typedef long long ll; map<pair<int,int>,vector<pair<ll,ll>>> mp…

关于机械键盘的购买,该怎么选择?

一.关于轴体的选择。 1.青轴&#xff1a;青轴是机械键盘最有段落感的轴&#xff0c;声音比较大&#xff0c;以吵死人别人著称。有人将其比喻为Cherry的春天&#xff0c;爽快清脆的段落感如春天般舒畅。适合在宿舍、咖啡厅&#xff0c;图书馆使用。&#xff08;我装的 &#xf…

C++ STL std::lexicographical_compare用法和实现

一&#xff1a;功能 按字典顺序比较两个序列&#xff0c;判断第一个序列是否小于(或大于)第二个序列 二&#xff1a;用法 #include <compare> #include <vector> #include <string> #include <algorithm> #include <iostream> #include <fo…

linux源码安装mysql8.0的小白教程

1.下载8.x版本的mysql MySQL :: Download MySQL Community Server (Archived Versions) 2.安装linux 我安装的是Rocky Linux8.6 3.设置ip地址,方便远程连接 使用nmcli或者nmtui设置或修改ip地址 4.使用远程连接工具MobaXterm操作: (1)将mysql8版本的压缩包上传到mybaxterm…

数据建设实践之大数据平台(三)安装hadoop

安装hadoop 上传安装文件到/opt/software目录并解压 [bigdata@node101 software]$ tar -zxvf hadoop-3.3.5.tar.gz -C /opt/services/ 配置环境变量 [bigdata@node101 ~]$ sudo vim /etc/profile.d/bigdata_env.sh export JAVA_HOME=/opt/services/jdk1.8.0_161 export ZK…

一图看懂 | 蓝卓油气行业解决方案

我国是全球最大的能源消费国&#xff0c;保障国家能源安全是我国能源发展的首要任务&#xff0c;油气作为我国能源体系的重要组成部分&#xff0c;是支撑我国工业和经济社会发展的基础和“压舱石&#xff0c;也是必须筑牢的能源安全底线。 蓝卓根据油气田行业发展趋势&#xf…

前端实现一键复制功能

1、下载插件 npm i vue-clipboard32.0.0 2、在需要复制的文件中引入插件并使用&#xff1a; JS: import useClipboard from "vue-clipboard3"; const { toClipboard } useClipboard(); HTML: <el-tooltip content"复制内容" placement"top&…

算法面试题_字节

问题一&#xff1a;Transfomer矩阵维度分析及MultiHead详解&#xff1a; 细致链接1 细致链接2 问题二&#xff1a;transformer的结构&#xff0c;流程&#xff0c;维度变换&#xff0c;encoder&#xff0c;decoder&#xff1a; 多头维度怎么变化&#xff1a;先在q&#xff0…

自然语言处理基本概念

自然语言处理基本概念 所有学习循环神经网络的人都是看这一篇博客长大的&#xff1a; https://colah.github.io/posts/2015-08-Understanding-LSTMs/ import jieba import torch from torch import nns1 "我吃饭了&#xff01;" s2 "今天天气很好&#xff01…

电脑录屏软件哪个效果最好 怎么一边录屏一边直播 电脑录屏软件好用免费推荐

随着科技的发展&#xff0c;电脑的更新迭代也越来越快&#xff0c;各项功能的进步与完善使得人们的工作和生活越来越离不开电脑&#xff0c;其中录屏功能就很好的体现了网络的便利&#xff0c;人们可以将在电脑画面的变化通过录屏功能记录下来&#xff0c;以便后续学习和回顾。…

基于STM32设计的智能手环(ESP8266+华为云IOT)178

基于STM32设计的智能手环(178) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成【3】ESP8266工作模式配置【4】Android手机APP开发思路【5】项目模块划分1.2 项目功能需求(1)生理参数监测(2)计步功能(3)GPS定位(4)时间显示(5)OLED显示屏展示(…

xlwings 链接到 指定sheet 从别的 excel 复制 sheet 到指定 sheet

重点 可以参考 宏录制 cell sheet.range(G4)cell.api.Hyperlinks.Add(Anchorcell.api, Address"", SubAddress"001-000-02301!A1")def deal_excel(self):with xw.App(visibleTrue) as app:wb app.books.open(self.summary_path, update_linksFalse)sheet…

python-小理与他的画(赛氪OJ)

[题目描述] 小理是个画家&#xff0c;他希望有一天他的画能让心仪的她看到。 只是后来她有了他&#xff0c;他却只有他的画&#xff0c;他望着他的画&#xff0c;默默的发呆。 可惜做题的你&#xff0c;画不出他画的她&#xff0c;所以&#xff0c;我们只好画点简单的画&#x…

Python的入门知识(上)

学习目标&#xff1a; 了解python 入门知识 这里写目录标题 学习目标&#xff1a;学习内容&#xff1a;快速入门 Python 基础特殊规则及特殊字符&#xff1a;Python 文件组织&#xff1a;多元赋值&#xff1a;变量命名规则&#xff1a;__name__ 系统变量&#xff1a;内存管理&a…

centos9+mysql8.0下mycat1.6部署

#创作灵感# 整理一下mysql代理技术&#xff0c;这个当时是和mysql集群部署一个项目的&#xff0c;一并整理出来供参考。 1、环境准备 此处使用的为M-M-SS双主双从结构集群&#xff0c;集群部署方法放在我的上一篇文章中 防火墙可以使用firewall-cmd放行&#xff0c;演示环境…

民航飞机维修工卡、放行单推广使用电子签章,每天可省约3万张纸

据某民航公司对外公布数据显示&#xff0c;通过在飞机航线维修工作中应用电子签章&#xff0c;以日均1000个航班计算&#xff0c;每天可节省约3万张纸、每年可节约1200多万元的费用成本。 小小一枚印章的转变&#xff0c;电子签章是如何做到的&#xff1f; 据了解&#xff0c;…

PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现

0x01 产品简介 PowerCreator CMS是翰博尔信息技术有限公司(简称翰博尔PowerCreator)推出的一款教育资源管理平台,专注于教育领域的信息化解决方案。PowerCreator CMS是集成了软件平台和硬件设备、多系统高度融合的教育资源管理平台。它旨在通过技术手段提升教育资源的管理、…