Spark IDEA 编程环境配置

文章目录

    • 1. 下载资料准备
    • 2. 建立项目、添加环境设置
    • 3. 第一个 Spark 程序

学自:Spark机器学习实战
https://book.douban.com/subject/35280412/

记录一下踩过的坑:

环境:win 10 + java 1.8.0_281 + Scala 2.11.11 + Hadoop 2.7.7 + Spark2.4.7

1. 下载资料准备

配套代码下载:https://www.epubit.com/bookDetails?id=UB72279bcfb49b8

下载 jar 包(注意版本2.11是scala的,2.4.7是spark的,根据你的版本改下面的下载链接就行)

https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-flume-assembly_2.11/2.4.7/spark-streaming-flume-assembly_2.11-2.4.7.jar

https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-kafka-0-10-assembly_2.11/2.4.7/spark-streaming-kafka-0-10-assembly_2.11-2.4.7.jar

jfreechart-1.0.19 下载,lib文件夹内有2个jar文件

放到下面路径,spark 安装路径下
在这里插入图片描述

2. 建立项目、添加环境设置

  • 创建文件夹路径,考入配套代码文件
D:\spark-2.4.7-bin-hadoop2.7\examples\src\main\scala\spark\ml\cookbook\chapter1


使用 idea 在 examples 文件夹下创建 maven 项目


设置 scala 文件夹为 Sources Root

设置 project structure
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后就可以 run 了,没有报错!

3. 第一个 Spark 程序

// package 打包
package spark.ml.cookbook.chapter1// 导入 SparkSession 上下文
import org.apache.spark.sql.SparkSession
import org.apache.log4j.Logger
import org.apache.log4j.Level // 减少输出内容object MyFirstSpark20 {def main(args: Array[String]): Unit = {// 输出日志级别为 error,减少输出Logger.getLogger("org").setLevel(Level.ERROR)// 使用 Builder 模型,指定配置初始化 SparkSession,作为访问Spark集群的入口val spark = SparkSession.builder.master("local[*]").appName("myFirstSpark20").config("spark.sql.warehouse.dir", ".").getOrCreate()// 以上为创建 SparkSession 的典型方法val x = Array(1.0,5.0,8.0,10.0,15.0,21.0,27.0,30.0,38.0,45.0,50.0,64.0)val y = Array(5.0,1.0,4.0,11.0,25.0,18.0,33.0,20.0,30.0,43.0,55.0,57.0)// 创建数组的 RDDval xRDD = spark.sparkContext.parallelize(x)val yRDD = spark.sparkContext.parallelize(y)// 创建新的 打包后的 rddval zipedRDD = xRDD.zip(yRDD)zipedRDD.collect().foreach(println)// (1.0,5.0)// (5.0,1.0)// ...val xSum = zipedRDD.map(_._1).sum()val ySum = zipedRDD.map(_._2).sum()val xySum = zipedRDD.map(c => c._1 * c._2).sum()val n = zipedRDD.count()println("RDD X Sum: " +xSum) //314.0println("RDD Y Sum: " +ySum) //302.0println("RDD X*Y Sum: "+xySum) // 11869.0println("Total count: "+n) // 12spark.stop() // 退出程序,释放资源}
}

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

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

相关文章

天池 在线编程 订单分配(回溯)

文章目录1. 题目2. 解题1. 题目 描述 打车派单场景, 假定有N个订单,待分配给N个司机。 每个订单在匹配司机前,会对候选司机进行打分,打分的结果保存在N*N的矩阵score,其中score[i][j]代表订单 i 派给司机 j 的分值。 假定每个订单…

2015年北京户口全攻略

最新统计数据指出 截至2013年底,北京市常住人口为2114.8万人,其中常住外来人口为802.7万人。和“北京户口”捆绑的字眼,历来是身份、福利,以至于幸福感、安全感。那么北京户口有什么好处?外来人口如何落户北京呢&#…

水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合

dada-report报表整合UReport报表设计器工具结合日常工作和学习实践,针对传统报表子站面临的问题,尝试借助UReport报表设计器解决1.可在现有工程基础上引入Ureport2报表设计器Ureport报表设计器是一个基于WEB的在线报表设计器,其具有良好的界面…

LeetCode 1844. 将所有数字用字符替换

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的字符串 s ,它的 偶数 下标处为小写英文字母,奇数 下标处为数字。 定义一个函数 shift(c, x) ,其中 c 是一个字符且 x 是一个数字,函数返回字母表中 c 后面第 x 个字符。 …

LeetCode 1845. 座位预约管理系统(set)

文章目录1. 题目2. 解题1. 题目 请你设计一个管理 n 个座位预约的系统,座位编号从 1 到 n 。 请你实现 SeatManager 类: SeatManager(int n) 初始化一个 SeatManager 对象,它管理从 1 到 n 编号的 n 个座位。所有座位初始都是可预约的。in…

unity game和scene效果不一样_不同的真石漆装饰效果也是不一样的

外墙真石漆真的是一件很好的产品,具有防火性、防水性、安全且环保、粘力强、永不褪色等特点,无疑是人们较好的选择,在很早之前就已经逐渐的取代了瓷砖和其他石材在人们心中的位置。真石漆的品种不止一种,按照装饰效果我们可以分为…

噪声产生原因_空调噪声大?啄木鸟家庭维修,看看属于哪一个问题

夏天终于要结束了,我只想安静的睡一个好觉。这个夏天中,楼上的空调每夜不休不眠的工作着,可这个空调为什么运作时的声音这么“巨大”。“轰轰轰……”,楼层都似乎和它产生了共振。而每晚的我,反反复复努力入睡&#xf…

05-按钮的基本使用-开发步骤

从Xcode5开始,图片资源都放到Images.xcassets中进行管理先添加必须的图片到Images.xcassets中调整界面尺寸 由于模拟器的默认尺寸是3.5inch,为了避免出现不必要的麻烦,最好将storyboard中的UI界面尺寸也调整为3.5inch添加4个方向按钮和2个缩放…

【机器学习】sklearn数据特征预处理:归一化和标准化

归一化处理 特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间 from sklearn.preprocessing import MinMaxScaler def mm():"""归一化处理:return: NOne"""mm MinMaxScaler(feature_range(2,3))data mm.fit_transform(…

LeetCode 1848. 到目标元素的最小距离

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums (下标 从 0 开始 计数)以及两个整数 target 和 start ,请你找出一个下标 i ,满足 nums[i] target 且 abs(i - start) 最小化 。注意:abs(x) 表示 x 的绝对值。…

【机器学习】sklearn数据集获取、分割、分类和回归

sklearn数据集1、数据集划分1.1 获取数据1.2 获取数据返回的类型举个栗子:1.3 对数据集进行分割举个栗子:2、 sklearn分类数据集3、 sklearn回归数据集1、数据集划分 机器学习一般的数据集会划分为两个部分: 训练数据:用于训练&a…

LeetCode 1846. 减小和重新排列数组后的最大元素

文章目录1. 题目2. 解题1. 题目 给你一个正整数数组 arr 。请你对 arr 执行一些操作(也可以不进行任何操作),使得数组满足以下条件: arr 中 第一个 元素必须为 1 。任意相邻两个元素的差的绝对值 小于等于 1 ,也就是…

ftp可以传输什么类型文件_FTP文件传输工具-ForkLift for Mac

orklift mac版是一款运行在Mac平台上的FTP文件传输工具。ForkLift拥有经典的两栏界面布局,简洁小巧。且支持FTP,SFTP,WebDAV,S3,iDisk,SMB,AFP和NIS协议,可以方便用户对本地以及远程…

1过程流程图 3 apqp_为什么过程开发的平面布置图要遵循精益原则?

今日话题为什么过程开发的平面布置图要遵循精益原则?问为什么过程开发的平面布置图要遵循精益原则?答工艺工程师根据过程流程图制定平面布置图,采用精益制造的原则,对加工与装配工位、物流路线、存储位置进行规划,以确…

LeetCode 1847. 最近的房间(排序离线计算 + 二分查找)

文章目录1. 题目2. 解题1. 题目 一个酒店里有 n 个房间,这些房间用二维整数数组 rooms 表示,其中 rooms[i] [roomIdi, sizei] 表示有一个房间号为 roomIdi 的房间且它的面积为 sizei 。每一个房间号 roomIdi 保证是 独一无二 的。 同时给你 k 个查询&…

【机器学习】sklearn k-近邻算法

sklearn k-近邻算法1. sklearn k-近邻算法API2. k近邻算法实例-预测入住位置核心思想:你的“邻居”来推断出你的类别定义:如果一个样本在特征空间中的 k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。…

LeetCode 1849. 将字符串拆分为递减的连续值(回溯)

文章目录1. 题目2. 解题1. 题目 给你一个仅由数字组成的字符串 s 。 请你判断能否将 s 拆分成两个或者多个 非空子 字符串 ,使子字符串的 数值 按 降序 排列,且每两个 相邻子字符串 的数值之 差 等于 1 。 例如,字符串 s "0090089&q…

flutter text 最大长度_Flutter小技巧之TextField换行自适应

无论哪种界面框架输入文本框都是非常重要的控件, 但是发现flutter中的输入框TextField介绍的虽然多,但是各个属性怎么组合满足需要很多文章却说不清楚, 再加上控件版本变更频繁很多功能的介绍都是比较陈旧的属性.现在就需要一个类似微信的输入文本框, 这样一个非常实用的效果fl…

【机器学习】分类算法sklearn-朴素贝叶斯算法

分类算法-朴素贝叶斯算法1. 概率基础2. 朴素贝叶斯介绍3. sklearn朴素贝叶斯实现API4. 朴素贝叶斯算法案例1. 概率基础 概率定义为一件事情发生的可能性:扔出一个硬币,结果头像朝上;某天是晴天 联合概率和条件概率“”: 联合概率…

LeetCode 1851. 包含每个查询的最小区间(排序 + 离线查询 + 优先队列)

文章目录1. 题目2. 解题1. 题目 给你一个二维整数数组 intervals ,其中 intervals[i] [lefti, righti] 表示第 i 个区间开始于 lefti 、结束于 righti(包含两侧取值,闭区间)。 区间的 长度 定义为区间中包含的整数数目&#xff…