- 博客(27)
- 收藏
- 关注
原创 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-05-25 08:55:05
370
原创 Spark大数据处理讲课笔记3.6 RDD容错机制
会单独启动一个任务将标记为检查点的RDD的数据写入文件系统,如果RDD的数据已经持久化到了内存,将直接从内存中读取数据,然后进行写入,提高数据写入效率,否则需要重复计算一遍RDD的数据。方法指定的文件系统目录中,并且该RDD的所有父RDD依赖关系将被移除,因为下一次对该RDD计算时将直接从文件系统中读取数据,而不需要根据依赖关系重新计算。方法将RDD标记为检查点(只是标记,遇到行动算子才会执行)。在第一次行动计算时,被标记为检查点的RDD的数据将以文件的形式保存在。中执行,因此输出结果不正确。
2023-05-11 10:33:41
369
原创 Spark大数据处理学习笔记3.5 RDD持久化机制
若RDD3没有持久化保存,则每次对RDD3进行操作时都需要从textFile()开始计算,将文件数据转化为RDD1,再转化为RDD2,最终才得到RDD3。* 在第一次行动操作时持久化RDD,并设置存储级别,当RDD从来没有设置过存储级别时才能使用该方法。Spark的缓存是容错的:如果缓存的RDD的任何分区丢失,Spark就会按照该RDD原来的转换过程自动重新计算并缓存。上述操作说明,调用RDD的persist()方法只是将该RDD标记为持久化,当执行行动操作时才会对标记为持久化的RDD进行持久化操作。
2023-05-11 08:48:30
193
原创 Spark大数据处理学习笔记3.3 掌握RDD分区
在有些情况下,使用Spark自带的分区器满足不了特定的需求。例如,某学生有以下3科成绩数据:科目成绩chinese98math88english96chinese89math96english67chinese88math78english89现需要将每一科成绩单独分配到一个分区中,然后将3科成绩输出到HDFS的指定目录(每个分区对应一个结果文件),此时就需要对数据进行自定义分区。在net.zhj.rdd.day04中创建SubjectPartitioner类/**
2023-05-08 09:08:33
508
原创 Spark大数据处理学习笔记3.2 掌握RDD算子
上面这个映射写成函数: f ( x ) = 2 x , x ∈ R f(x)=2x,x\in \Bbb R f(x)=2x,x∈R。一个数组中存放了三个元组,将该数组转为RDD集合,然后对该RDD按照每个元素中的第二个值进行降序排列。,不是一元函数,而是二元函数,系统立马就蒙逼了,不晓得该怎么取两个参数来进行乘法运算。中的x代表rdd1中的每个元素。因为RDD的元素为分布式的,数据可能分布在不同的节点上。Spark会将RDD中的每个元素传入该函数的参数中。上述代码中,向算子map()传入了一个函数。
2023-05-04 09:10:41
1461
原创 Spark大数据处理学习笔记3.1 掌握RDD的创建
将数据集(hello, world, scala, spark, love, spark, happy)存储在三个节点上,节点一存储(hello, world),节点二存储(scala, spark, love),节点三存储(spark, happy),这样对三个节点的数据可以。在编程时,可以把RDD看作是一个数据操作的基本单位,而不必关心数据的分布式特性,Spark会自动将RDD的数据分发到集群的各个节点。Spark中对数据的操作主要是对RDD的操作(创建、转化、求值)。,查看RDD中的内容。
2023-04-20 08:13:45
317
2
原创 Spark大数据处理讲课笔记2.4 IDEA开发词频统计项目
由于没有将依赖包添加到生成的jar包,所以生成的jar包很小,只有5KB。如果将全部依赖包都打进jar包,那么生成的jar包就会有几十兆。设置项目信息(项目名称、保存位置、组编号以及产品编号)(只设置输入路径参数,没有设置输出路径参数)配置命令行参数,注意两个参数之间必须有空格。新建Maven项目,注意,要基于JDK8。有两个结果文件,我们可以分别查看其内容。修改名称,将输出目录里的依赖包全部移除。在一堆输出信息中查看词频统计结果。在一堆输出信息里查看词频统计结果。然后查看HDFS上的结果文件。
2023-04-13 11:34:06
97
原创 2.2 Spark大数据处理笔记
为应用程序运行在Worker节点上的一个进程,由Worker进程启动,负责执行具体的Task,并存储数据在内存或磁盘上。提交Spark作业后,观察Spark集群管理界面,其中“Running Applications”列表表示当前Spark集群正在计算的作业,执行几秒后,刷新界面,在Completed Applications表单下,可以看到当前应用执行完毕,返回控制台查看输出信息,出现了“命令,查看启动的进程。该参数根据不同的Spark集群模式,其取值也有所不同,常用取值如下表所示。
2023-04-06 10:42:46
1274
原创 Spark大数据处理笔记1.7掌握Scala类、对象、抽象类与特质
辅助构造器的方法名称为this每一个辅助构造器的方法体中必须首先调用其他已定义的构造器辅助构造器的参数不能使用var或val进行修饰Scala的抽象类使用关键字abstract定义trait 特质名 {// 抽象字段// 抽象方法// 普通字段// 普通方法。
2023-04-01 08:09:59
310
2
原创 大数据处理学习笔记1.6
(1)定义数组时初始化数据自动推断数组类型手动指定数据类型2)定义时指定数组长度,后赋值先定义,后赋值,(数据的动态初始化)避免数组下标越界错误变长数组使用类进行定义定义一个变长Int类型数组arr,利用+=运算符、append方法添加一个数组元素(注意是追加元素),还可以利用appendAll方法添加一个数组(多个元素)
2023-03-16 09:48:16
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人