Spark—idea

news/2024/5/21 21:49:03/文章来源:https://blog.csdn.net/cp1002327672/article/details/129850212

ideal—Spark

  • 新建工程
    • 新建maven工程,添加scala
    • 添加依赖
      • pom添加依赖并下载 spark-core
      • 重复步骤下载spark-sql
      • spark-hive
      • spark-graphx
      • mysql-connector-java
      • 安装完成
    • 新建SparkDemo的scala object
      • sc对象
        • 可能会出现报错,参考这位老哥的解决办法
    • wordcount
      • 打架包
      • 执行
    • 分区

新建工程

新建maven工程,添加scala

在这里插入图片描述

添加依赖

去官网查询依赖
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

pom添加依赖并下载 spark-core

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.12</artifactId><version>3.1.2</version>
</dependency>

重复步骤下载spark-sql

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
<dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.12</artifactId><version>3.1.2</version><scope>provided</scope>
</dependency>

spark-hive

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-hive -->
<dependency><groupId>org.apache.spark</groupId><artifactId>spark-hive_2.12</artifactId><version>3.1.2</version><scope>provided</scope>
</dependency>

spark-graphx

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-graphx -->
<dependency><groupId>org.apache.spark</groupId><artifactId>spark-graphx_2.12</artifactId><version>3.1.2</version>
</dependency>

mysql-connector-java

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.29</version>
</dependency>

安装完成

在这里插入图片描述

新建SparkDemo的scala object

sc对象

object SparkDemo {def main(args: Array[String]): Unit = {val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("sparkDemo")val sc: SparkContext = SparkContext.getOrCreate(conf)println(sc)}
}

在这里插入图片描述
去除红色的字段,去

D:\environment\server\apache-maven-3.6.1\repository\org\apache\spark\spark-core_2.12\3.1.2\spark-core_2.12-3.1.2.jar!\org\apache\spark\log4j-defaults.properties

将-defaults删除,然后将
在这里插入图片描述

val spark: SparkSession = SparkSession.builder().master("local[*]").appName("SparkSessionDemo").getOrCreate()println(spark)val rdd: RDD[Int] = sc.parallelize(1 to 10)rdd.collect().foreach(println)val pNum: Int = rdd.getNumPartitionsprintln("分区数量:" + pNum)

在这里插入图片描述

可能会出现报错,参考这位老哥的解决办法

Exception in thread “main“ java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$——红目香薰

wordcount

val dataString: RDD[String] = sc.makeRDD(Array("hello world", "hello java", "hello scala", "hello spark", "hello hello"))dataString.collect().foreach(println)dataString.flatMap(x => x.split(" ")).map(x => (x,1)).reduceByKey(_+_).collect.foreach(println)

在这里插入图片描述

打架包

在这里插入图片描述
将代码编译打包,上传到虚拟机的opt目录下

执行

[root@cp145 opt]# spark-submit --class org.example.WordCount --master local[*] ./sparkstu-1.0-SNAPSHOT.jar

在这里插入图片描述

分区

def main(args: Array[String]): Unit = {val conf: SparkConf = new SparkConf().setAppName("partitions").setMaster("local[5]")val sc: SparkContext = SparkContext.getOrCreate(conf)val rdd: RDD[Int] = sc.parallelize(1 to 20)rdd.glom().collect.foreach(x => println(x.toList))println("---------假分区----------")val rdd2: RDD[Int] = rdd.coalesce(3,false)rdd2.glom().collect.foreach(x => println(x.toList))println("---------真分区----------")val rdd3: RDD[Int] = rdd.coalesce(3,true)rdd3.glom().collect.foreach(x => println(x.toList))println("---------真分区----------")val rdd4: RDD[Int] = rdd.repartition(3)rdd4.glom().collect.foreach(x => println(x.toList))}

在这里插入图片描述

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

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

相关文章

快递的旅行日记 - 深度挖掘快递物流地图轨迹查询API 的使用场景

写在前面 全球化经济的不断发展使得快递业变得越来越重要&#xff0c;而快递物流地图轨迹查询 API 也因此应运而生。 该 API 可以帮助用户追踪物流信息&#xff0c;了解快递的运输状态&#xff0c;方便快递企业、个人用户以及电商平台等多方面的需求。 快递物流地图轨迹查询 …

Matlab进阶绘图第13期—带填充纹理的堆叠图

带填充纹理的堆叠图是通过在原始堆叠图的基础上添加不同的纹理得到的&#xff0c;可以很好地解决由于颜色区分不够而导致的对象识别困难问题。 由于Matlab中未收录提供填充纹理选项&#xff0c;因此需要大家自行设法解决。 本文使用hatchfill2工具&#xff08;Kesh Ikuma. Ma…

JVM 字符串常量池(StringTable)

String的基本特性 String&#xff1a;字符串&#xff0c;使用一对 “” 引起来表示String s1 "hello" ; // 字面量的定义方式String s2 new String("hello"); // new 对象的方式 String被声明为final的&#xff0c;不可被继承 String实现了…

【新股打新】北森控股:发行比例只有区区1%,这是要作妖的前奏?

一、公司简介 北森控股&#xff0c;成立于2002年&#xff0c;是国内领先的人力资源管理的高科技公司&#xff0c;旗下的一体化HR SaaS及人才管理平台 —— iTalentX&#xff0c;覆盖了企业招聘、入职、管理到离职的全生命周期的数字化管理&#xff0c;帮助企业快速提升人力资源…

玄子Share-BCSP助学手册之数据库开发(已优化)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NIr0tYNc-1680505151717)(./assets/XuanZiShare_QQ_3336392096.jpg)] 玄子Share-BCSP助学手册之数据库开发 前言&#xff1a; 此文为玄子&#xff0c;学习 BCSP 一二期后整理的文章&#xff0c;文中对…

Vivado中如何修改IP源文件

前一篇文章是通过改变JESD204B IP的设置&#xff0c;在Shared Logic里勾选in example design&#xff0c;来避免共用输入时钟的问题。那么还有没有别的办法呢&#xff1f;有没有更直接点的实现方式呢&#xff1f; 答案是肯定的&#xff1a;可以直接修改IP&#xff0c;将IBUFDS…

开心档之开发入门网-C++ 变量类型

C 变量类型 目录 C 变量类型 C 中的变量定义 C 中的变量声明 实例 实例 C 中的左值&#xff08;Lvalues&#xff09;和右值&#xff08;Rvalues&#xff09; 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有指定的类型&#xff0c;类型决定了变量存储的大小…

合宙Air780E|ScreenStream|图传|LuatOS-SOC接口|学习(23):4G远程遥控小车(2)-图传设置及解析

目录 基础资料 原项目地址 实现功能&#xff1a; 前文&#xff1a; 图传设置及解析 概述 提示 软件亮点 操作步骤 4G小车控制前端相关代码 图传显示函数&#xff1a; 按钮及显示框 待解决问题&#xff1a;小车图传前端不能正常显示 基础资料 ​ 基于Air780E开发板&…

「Python 机器学习」Matplotlib 数据探索

Matplotlib 是一个 Python 的数据可视化库&#xff0c;它能够轻松创建各种类型的图表和图形&#xff1b;Matplotlib 可以在 Jupyter Notebooks、交互式应用程序和脚本中使用&#xff0c;并支持多种绘图样式和格式&#xff1b; Matplotlib 最初是为科学计算而设计的&#xff0c…

【观察】诺基亚贝尔品牌焕新传递新价值,以无线专网加速中国数字化进程

今年2月底&#xff0c;在西班牙巴塞罗那举行的2023年世界移动通信大会上&#xff0c;诺基亚宣布重塑企业战略和技术战略&#xff0c;同时推出全新企业品牌形象&#xff0c;这标志着诺基亚在长期战略转型之路上迈出了坚实的一步。而作为诺基亚在华独家运营实体&#xff0c;诺基亚…

pdf格式可以编辑吗?提供几个思路

PDF格式文件常常用于共享文档和保护文档内容&#xff0c;但是很多人都会遇到一个问题&#xff1a;PDF格式文件是否可编辑&#xff1f; 答案是肯定的&#xff0c;PDF格式文件是可以编辑的。虽然PDF格式文件的初衷是为了保护文档内容&#xff0c;但是现在很多软件已经支持PDF格式…

【OJ比赛日历】快周末了,不来一场比赛吗? #04.01-04.07 #14场

CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号同时会推送最新的比赛消息&#xff0c;欢迎关注&#xff01;更多比赛信息见 CompHub主页 或 点击文末阅读原文以下信息仅供参考&#xff0c;以比赛官网为准目录2023-04-01&…

Android OKHttp源码解析

Https是Http协议加上下一层的SSL/TSL协议组成的&#xff0c;TSL是SSL的后继版本&#xff0c;差别很小&#xff0c;可以理解为一个东西。进行Https连接时&#xff0c;会先进行TSL的握手&#xff0c;完成证书认证操作&#xff0c;产生对称加密的公钥、加密套件等参数。之后就可以…

【人工智能】—局部搜索算法、爬山法、模拟退火、局部剪枝、遗传算法

Local search algorithms &#xff08;局部搜索算法&#xff09;局部搜索算法内存限制局部搜索算法示例&#xff1a;n-皇后爬山算法随机重启爬山模拟退火算法局部剪枝搜索遗传算法小结局部搜索算法 在某些规模太大的问题状态空间内&#xff0c;A*往往不够用 问题空间太大了无法…

InVEST模型

详情点击链接&#xff1a;invest模型 生态系统服务理论联系实践案例InVEST模型的开发历程、不同版本的差异及对数据需求InVEST所需数据的要求&#xff08;分辨率、格式、投影系统等&#xff09;、获取及标准化预处理InVEST运行常见问题及处理解决方法ArcGIS工具支撑InVEST模型…

PropertySourceLocator(SpringCloud中的配置操作)

又是美好的一天呀~ 个人博客地址&#xff1a; huanghong.top 往下看看~内容简介源码分析prepareContextapplyInitializersPropertySourceBootstrapConfiguration#initializelocateCollectionNacos示例insertPropertySourcesConfigurationPropertiespostProcessBeforeInitializa…

[python]浅谈Flask的SSTI漏洞

目录 基础知识 python类方法 内建函数 获取基类的几种方法 利用思路 概念简介 服务器端模板注入&#xff08;Server-Side Template Injection&#xff09; 类型判断 简单探测 实战练习 reference 基础知识 python类方法 __class__用来查看变量所属的类&#xff0c…

Android Framework—WMS

WMS的定义 它是framework层的窗口管理服务&#xff0c;职责是管理android系统中所有的window。其中包含了添加窗口、删除窗口、token管理、输入法管理、系统事件消息收集和分发、活动窗口管理&#xff08;FocusWindow&#xff09;、活动应用管理&#xff08;FocusApp&#xff…

HTML5 代码规范

HTML5 代码规范 在使用HTML5的过程中&#xff0c;使用规范化的代码能够更加方便你的运用与阅读&#xff0c;本节我们将带领你了解如何能够使得HTML5中的代码变得更加规范&#xff01; HTML 代码约定 很多 Web 开发人员对 HTML 的代码规范知之甚少。 在2000年至2010年&#x…

G1—Block Memory Generator IP核-2023-03-30

1.简介 xilinx提供了两个ip用于生成ROM存储空间。一个是 Distributed Memory Generator&#xff0c;另一个是Block Memory Generator&#xff0c;两者最主要的差别是生成的 Core所占用的 FPGA 资源不一样&#xff0c;从 Distributed Memory Generator 生成的 ROM/RAM Core 占用…