自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Spark大数据处理讲课笔记3.3 掌握RDD分区

在有些情况下,使用Spark自带的分区器满足不了特定的需求。例如,某学生有以下3科成绩数据:科目成绩chinese98math88english96现需要将每一科成绩单独分配到一个分区中,然后将3科成绩输出到HDFS的指定目录(每个分区对应一个结果文件),此时就需要对数据进行自定义分区。创建类/*** 功能:自定义分区器* 作者:华卫* 日期:2022年03月30日*//*** 取得分区数量* @return 分区数量*//*** 根据key取得分区ID。

2023-06-15 18:09:30 239

原创 Spark大数据处理讲课笔记2.2 搭建Spark开发环境

为应用程序运行在Worker节点上的一个进程,由Worker进程启动,负责执行具体的Task,并存储数据在内存或磁盘上。提交Spark作业后,观察Spark集群管理界面,其中“Running Applications”列表表示当前Spark集群正在计算的作业,执行几秒后,刷新界面,在Completed Applications表单下,可以看到当前应用执行完毕,返回控制台查看输出信息,出现了“读取的依然是HDFS上的文件,绝对不是本地文件)​​​​​​​。集群进行交互),提交Spark作业,并将作业转化为。

2023-06-15 18:09:13 324

原创 大数据处理学习笔记1.5 掌握Scala内建控制结构

注意不会是finally的返回值,finally即使有返回值,也会被抛弃,这点和Java是不同的。for循环语句本身的返回值是Unit类型,无论在循环体中返回什么都是无效的,最终得到的都是Unit的值,但是可以在循环中的循环条件和循环体之间加上。对于[100, 999]范围的每个数n,我们要去判断它是否等于其各位数字的立方和,这里的难点或关键在于如何分解一个三位数,得到它的每位数字。翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?

2023-06-15 18:08:53 168 1

原创 Spark大数据处理讲课笔记1.7 掌握Scala类、对象、抽象类与特质

对象是类的具体实例,类是抽象的,不占用内存,而对象是具体的,占用存储空间。面向对象三大特性之一:封装(encapsulation) - 封装数据和操作Scala中一个简单的类定义是使用关键字class,类名首字母必须大写。类中的方法用关键字def定义创建包,在包里创建User类,包含三个私有属性和一个公共方法/*** 功能:用户类* 作者:华卫* 日期:2023年03月15日*/private var name = "张三丰"private var gender = "男"

2023-06-15 18:07:49 131 1

原创 Spark大数据处理讲课笔记2.4 IDEA开发词频统计项目

由于Spark项目要求Spark内核版本与Scala库版本(主版本.次版本)要保持一致,否则本地都无法运行项目。Spark3.2.0开始,要求Scala库版本就更新到了2.13,只有Spark3.1.3使用Scala库版本依然是2.12,因此Spark项目选择使用Spark3.1.3。由于没有将依赖包添加到生成的jar包,所以生成的jar包很小,只有5KB。如果将全部依赖包都打进jar包,那么生成的jar包就会有几十兆。,本地运行没有问题,但是打成Jar包提交到集群运行会报错。

2023-06-15 18:07:33 179 1

原创 Spark大数据处理讲课笔记3.6 RDD容错机制

会单独启动一个任务将标记为检查点的RDD的数据写入文件系统,如果RDD的数据已经持久化到了内存,将直接从内存中读取数据,然后进行写入,提高数据写入效率,否则需要重复计算一遍RDD的数据。方法指定的文件系统目录中,并且该RDD的所有父RDD依赖关系将被移除,因为下一次对该RDD计算时将直接从文件系统中读取数据,而不需要根据依赖关系重新计算。在第一次行动计算时,被标记为检查点的RDD的数据将以文件的形式保存在。语句,关闭了Spark容器,缓存的数据就被清除了,当然也无法访问Spark的存储数据。

2023-06-15 18:07:32 135 1

原创 Spark大数据处理讲课笔记1.6 掌握Scala数据结构

Set集合分为可变集合和不可变集合,默认情况下,Scala使用的是不可变集合,如果要使用可变集合,就需要引用scala.collection.mutable.Set类。Scala中的列表分为可变列表和不可变列表,默认使用的列表为不可变列表。创建整型可变空列表,添加1、3、5、7四个元素,在5和7之间插入元素6,移除开头的1、3两个元素,统计列表元素总和、最大值和最小值,最后将列表降序输出。创建整型列表,包含12、5、8、12、9、7、45、16、78、10、3,分别输出奇数列表和偶数列表。

2023-06-15 18:07:13 333 1

原创 Spark大数据处理讲课笔记3.8 Spark RDD典型案例`

(5)对rdd按键归约得到rdd1,计算总分。(4)取分组后的日期集合最小值,计数为1。(2)利用映射算子生成二元组构成的RDD。(3)按键分组得到新的二元组构成的RDD。(2)倒排,互换RDD中元组的元素顺序。(3)利用RDD填充二元组成绩列表。(4)基于二元组成绩列表创建RDD。(1)读取成绩文件,生成RDD。(3)倒排后的RDD按键分组。(1)读取成绩文件得到RDD。(1)读取文件,得到RDD。(2)创建统计新增用户对象。(2)定义二元组成绩列表。(3)运行程序,查看结果。(3)运行程序,查看结果。

2023-06-15 18:05:27 155 1

原创 Spark大数据处理讲课笔记4.1 Spark SQL概述、数据帧与数据集

Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象结构叫做DataFrame的数据模型(即带有Schema信息的RDD),Spark SQL作为分布式SQL查询引擎,让用户可以通过SQL、DataFrames API和Datasets API三种方式实现对结构化数据的处理。DataFrame是Spark SQL提供的一个编程抽象,与RDD类似,也是一个分布式的数据集合,但与RDD不同,DataFrame的数据都被组织到有名字的列中,就像关系型数据库中的表一样。

2023-06-15 18:04:36 279 1

原创 Spark大数据处理讲课笔记3.2 掌握RDD算子

上面这个映射写成函数:f ( x ) = 2 x , x ∈ R f(x)=2x,x\in \Bbb Rf(x)=2x,x∈R。,不是一元函数,而是二元函数,系统立马就蒙逼了,不晓得该怎么取两个参数来进行乘法运算。但是有点美中不足,rdd2的元素变成了双精度实数,得转化成整数​​​​​​​。方法二、用神奇占位符改写传入过滤算子的匿名函数​​​​​​​。因为RDD的元素为分布式的,数据可能分布在不同的节点上。内容,可以采用遍历算子,分行输出内容​​​​​​​。方法一、将匿名函数传给过滤算子​​​​​​​。

2023-05-04 09:40:04 239 1

原创 大数据处理学习笔记1.4 掌握Scala运算符

由于Scala并没有真正的运算符,运算符其实是方法的一种形式,所以此处运算符的优先级,其实就是指方法的优先级。在Scala中方法的执行是有优先级的区别的,这也是为了解决传统运算符优先级问题。Scala中运算符其实是普通方法调用的另一种表现形式,运算符的使用其实就是隐含地调用对应的方法。如果是复杂数据类型,比较的是对象的地址,如果不是想比较地址而是想比较真正的内容,则需要使用。,前缀运算符如同中缀运算符一样,也是方法调用的另一种方式,不同的是,方法名要在符号前加上前缀。靠的是运算符优先级。

2023-02-23 09:44:06 80

原创 大数据处理学习笔记1.3 使用Scala集成开发环境

IntelliJ IDEA(简称IDEA)是一款支持Java、Scala和Groovy等语言的开发工具,主要用于企业应用、移动应用和Web应用的开发。在前面,我们都是利用Scala Shell交互式环境来学习Scala基础知识,虽然交互式有快捷的优点,但是要写比较完整的程序,编辑就显得极为不便,为了提高开发效率,我们要学会使用Scala的集成开发环境 - IntelliJ IDEA。单击绿色的【Install】按钮,安装完毕,单击绿色的【Restart IDE】按钮。启动IDEA后,选择欢迎界面下方的。

2023-02-23 09:06:53 100

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除