- 博客(67)
- 收藏
- 关注
原创 运行Spark程序-在shell中运行 3
RDD的每次转换都会生成一个新的RDD,所以RDD之间就会形成类似于流水线一样的前后依赖关系。在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。RDD的分区是RDD数据存储的最小单位。如下图示,假如1个RDD有3个分区,RDD内存储了123456,那么数据本质上分散在三个分区内进行存储。举个生活中的例子:高考的时候,每个班的同学都打散到不同的考场,此时的高3(8)班就是一个抽象的概念,在实际中,这个班级的学生可能分布在5个不同的考场。
2025-05-13 14:44:29
331
原创 运行Spark程序-在shell中运行 2
通过 SparkConf 类,你可以设置应用程序的名称、运行模式(如本地模式、集群模式)、资源分配(如内存、CPU 核心数)等。是 Spark 应用程序的入口点,它代表了与 Spark 集群的连接。Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。【强调】要先确保这个外部的文件是存在的。:集合中的数据可以被并行的计算处理,每个分区数据被一个Task任务处理。
2025-05-13 14:35:10
249
原创 运行Spark程序-在shell中运行1
比如,先把试卷按照班级分成不同的 “分区”,每个班级的试卷就是一个独立的分区,就像分布式计算中把数据划分成不同的部分进行处理。然后,不同学科的老师负责批改相应学科的试卷,这就是 “区域控制”,每个学科区域专注于自己的任务。在批改试卷之前,需要对试卷信息进行整理,就像 “数据的存储序列化”。老师们根据评分标准给试卷打分,这就是 “计算” 操作,每个老师就如同一个计算节点,各自处理分配到的试卷任务。不同分区之间的数据是需要有关联的,在不同的分区之间进行数据的传输就是Shuffle,也叫洗牌。
2025-05-13 14:32:44
526
原创 Yarn-tool接口2
(4)重新打包生成jar,假设名称为MapReduceDemo1-1.0-SNAPSHOT.jar。前面我们学习了相关的理论,接下来,我们开始去解决开头提出的问题。(2)新建一个包,名字为com.yarn。(7)不使用-D参数,测试运行。接下来,使用-D参数运行效果。(5)上传到集群的节点上。
2025-05-12 08:32:31
282
原创 Yarn-tool接口
org.apache.hadoop.util.Tool 是 Apache Hadoop 框架里的一个接口,其用途是协助开发可通过命令行运行的 Hadoop 应用程序。ToolRunner 是 Hadoop 提供的一个实用类,可用于运行实现了 Tool 接口的应用程序。run(String[] args):此方法为应用程序的主要执行逻辑,接收命令行参数,返回一个整数代表执行结果(通常 0 表示成功,非 0 表示失败)。让自己编写的程序打包之后得到jar包,也可以支持动态参数,例如在指定的队列中运行程序。
2025-05-12 08:30:12
317
原创 数据清洗3
即使你的MapReduce的输入输出文件都是未压缩的文件,你仍然可以对Map任务的中间结果输出做压缩,因为它要写在硬盘并且通过网络传输到Reduce节点,对其压缩可以提高很多性能,这些工作只要设置两个属性即可,我们来看下代码怎么设置。,只需要在dirvier类的代码中,去设置在reduce端输出压缩开启,并设置压缩的方式即可。提供的Hadoop源码支持的压缩格式有:BZip2Codec。运行之后,发现输出的结果格式没有变化,因为它是中间过程。对应的代码有如下两行,其他的代码不动。和Reducer代码。
2025-05-12 08:22:30
265
原创 数据压缩2
hadoop自动检查文件拓展名,如果拓展名能够匹配,就会用恰当的编解码方式对文件进行压缩和解压。如果数据量小于块大小(128M),则不需要考虑切点问题,重点考虑压缩和解压缩速度比较快的LZO/Snappy。如果需要切片,重点考虑支持切片的Bzip2和LZO。为了减少MapTask和ReduceTask之间的网络IO,重点考虑压缩和解压缩快的LZO,Snappy。压缩方式选择时重点考虑:压缩/解压缩速度、压缩率(压缩后存储大小)、压缩后是否可以支持切片。优点:压缩和解压缩速度快;优点:压缩率比较高;
2025-05-12 08:20:19
294
原创 数据压缩1
就好比有一堆杂乱的积木,压缩算法呢,就像是把这些积木按照一定规则整理起来,装进一个小盒子里,这样占用的空间就变小了,这个过程就是压缩。不同的压缩算法整理积木的方式不一样,有的整理得更紧凑但花时间,有的速度快但可能没那么紧凑哦。有损压缩则会在一定程度上牺牲数据的精度来换取更高的压缩比,适用于对数据质量损失有一定容忍度的场景,如图像、音频、视频等多媒体数据。数据压缩是指在不丢失或尽可能少丢失数据信息的前提下,通过特定的算法和技术,对原始数据进行重新编码和处理,以减少数据存储空间或传输带宽的过程。
2025-05-12 08:17:10
365
原创 在Idea中编写Spark程序并运行2
复制之前的文件,重命名为WordCount_online,并修改两个地方:输入目录改成args(0), 输出的目录改成args(1)。如何在Idea中编写程序的基本流程,并写了一个wordcount程序,可以对比它和mapreduce的使用方式区别。// 写一个spark程序,统计input目录下所有文本文件中单词的词频。完成修改之后,要刷新maven,以下载相关的插件。// 将所有分区的数据合并成一个分区。// 读取目录下的所有文本文件。// 把结果保存在output下。// 保存结果到文件。
2025-05-06 15:09:49
673
原创 如何在idea中写spark程序1
在项目根目录下建立文件夹input,并穿件两个文本文件:word1.txt, word2.txt。的版本信息,说明安装成功。它的功能是wordcount的功能:从指定的文件夹中去读取文件,并做词频统计。IDEA中,默认是不支持编写Scala的,需要额外配置一个插件。如果这里没有看到Scala类的选项,就去检查第2步。添加完成之后,刷新Maven,它会帮助我们去下载依赖。使用Maven创建项目,并在pom.xml文件中配置相关的依赖。在Idea中安装插件,使得Idea中可以编写scala代码。
2025-05-06 15:08:30
909
原创 如何搭建spark yarn 模式的集群集群
1.上传并解压spark-3.1.2-bin-hadoop3.2.tgz,重命名解压之后的目录为spark-yarn。5. /opt/module/spark-standalone/examples/jars/spark-examples_2.12-3.1.1.jar:指定了包含应用程序代码的 JAR 文件的路径。NodeManager:部署在集群中的每个节点上,负责管理该节点上的资源使用情况,监控容器的运行状态,并且与 ResourceManager 保持通信,汇报节点的资源使用信息。
2025-04-29 16:05:19
1118
原创 Spark集群搭建-Standalone
进入到hadoop100机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。注意,这里不要省略./,它表示的是当前目录下的start-all命令,如果省略了./,它就会先去环境变量PATH中指定的目录来找这个命令。切换到目录 /opt/module/spark-standalone/bin下,可以看到有一个spark-submit可执行文件,我们通过它来提交任务。9.重新提交一个新的任务,再次回到18080下,看看是否已经有了任务。
2025-04-21 10:36:18
1186
原创 spark基础介绍
为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度器,叫作独立调度器。Spark:Spark Streaming 提供了强大的实时数据处理能力,它可以将实时数据流分割成小的批次进行处理,实现准实时的数据分析。这里的 \ 是换行输入的意思,整体的代码就只有一句,只不过太长了,我们把它拆开成几个部分来输入,其中\ 的意思就是这里写不下,写在下一行。
2025-04-21 10:32:09
1009
原创 spark和Hadoop的区别和联系
• Spark是一个开源的分布式计算系统,它提供了一个快速、通用的集群计算平台。Spark的核心是RDD(Resilient Distributed Dataset,弹性分布式数据集)抽象。RDD是一个不可变的分布式数据集合,它支持多种操作,包括转换操作(如map、filter等)和行动操作(如count、collect等)。Spark还支持多种计算模式,包括批处理、流处理(通过Spark Streaming)、机器学习(通过MLlib)和图计算(通过GraphX)。
2025-04-21 08:35:05
886
原创 案例-流量统计
我们有一份统计数据,这个数据是关于手机号消耗流量的情况,需求统计每一个手机号耗费的总上行流量、总下行流量、总流量。在map阶段读一行数据,切分字段,抽取手机号,上行流量和下行流量。以手机号为key,bean对象为value输出。但是,map,reducer函数都需要我们使用键值对的数据,所以我们需要一个类来描述。reduce阶段将每个手机号对应的phoneFlowBean对象封装的信息。统计每一个手机号耗费的总上行流量、总下行流量、总流量。按行读出手机号,上行流量和下行流量。通过本堂课的学习,我们学习了。
2025-04-08 16:03:30
298
原创 HDFS概述
随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。寻址时间为传输时间的1%时,则为最佳状态。其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。搭建好了hadoop集群,并测试了它们的基本使用方式,下面几节课,我们来系统学习一下hadoop的三个组成之一:hdfs的相关内容。它有两种操作,一是移动,会把当前的文件删除,二是复制,保留当前的文件。
2025-04-01 14:47:04
586
原创 14 配置Hadoop集群-配置历史和日志服务
第一课时前面的课程我们搭建了hadoop集群,并成功启动了它,接下来我们看看如何去使用集群。测试的内容包括:1.上传文件,2.下载文件,3.运行程序为了查看程序的历史运行情况,需要配置一下历史服务器。这个历史服务器需要消耗的资源比较小,你可以选择把它配置在集群中的任意一台节点上。但是,请注意,在哪一台上配置了,就应该在哪一台上去启动。我们这把它配置在nn节点上。具体配置步骤如下:1配置mapred-site.xml。
2025-03-31 22:47:10
1023
原创 13 配置Hadoop集群-测试使用
上传文件的时候,我们传一个大一点的(>128M),再传一个小一点的。对于大一点的文件,我们要去看看它是否会按128M为单位去拆分这个大文件,而拆分成大文件之后,我们又怎么才能去还原?上传完成之后,我们去查看,很明显大文件被分块了,128M一块,一共有两个块。在我们上一节的hadoop配置中,我们设置了保持文件的目录是/data,所以,我们进入hadoop的按照目录下的data中去看一看。hadoop集群配置完成之后的基本组成,测试了上传小文件,大文件和执行程序时的状态。
2025-03-31 22:38:10
836
原创 11 配置Hadoop集群-免密登录
hadoop101上。我们希望达成的目标是:希望用户在hadoop100登录到hadoop101时,hadoop101不需要输入密码。hosts文件中的主机名和ip地址是否与finalshell中的连接的主机名以及对应的虚拟机上的ip地址一致。目标:hadoop100通过ssh访问hadoop101,hadoop102时不需要密码,其他两台设备也类似。(4)在hadoop100上,输入ssh hadoop101命令,看看是否可以免密登录?例如:我们先登录hadoop100,然后去登录到hadoop101。
2025-03-31 22:20:42
960
原创 配置Hadoop集群环境-使用脚本命令实现集群文件同步
hadoop一共有如下三种运行方式:1. 本地运行。数据存储在linux本地,测试偶尔用一下。我们上一节课使用的就是本地运行模式hadoop100。2. 伪分布式。在一台机器上模拟出 Hadoop 分布式系统的各个组件,各个组件在逻辑上是分离的,但是都运行在同一台物理机器上,以此来模拟分布式环境。3. 完全分布式。数据存储在HDFS,多台服务器工作,企业中大量使用。要在本地去模拟这个真实的场景功能,我们需要做好如下的准备:1)准备3台客户机(关闭防火墙、静态IP、主机名称)
2025-03-31 22:13:50
1137
原创 12配置Hadoop集群-集群配置
(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。刚才我们是在hadoop100这台机器上进行了正确的设置,但是,其他的2台机器也要做相同的配置。对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。在Hadoop3.X中,hadoop一共有三个组成部分:MapReduce,Yarn,HDFS。重新启动hdfs, yarn。
2025-03-17 23:37:06
597
原创 ssh命令
eg:目标:hadoop100通过ssh访问hadoop101,hadoop102时不需要密码,其他两台设备也类似。2.在hadoop100中,把自己的公钥传递给hadoop101,hadoop102。1.在hadoop100中生成公钥和密码。hadoop101 无密登录 hadoop100,hadoop102 与(1)类似。hadoop102 无密登录 hadoop100,hadoop101 与(1)类似。eg:从hadoop100进入hadoop101的命令就是。ssh命令无需密码也可登录。
2025-03-17 23:07:28
270
原创 配置Hadoop集群
也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类节点,特点:Hadoop 启动的这些守护进程都在同一台机器上运行,是相互独立的 Java 进程。在hadoop102上,将hadoop101中/opt/module/hadoop-3.1.3目录拷贝到hadoop102上。如果当前在A机器上,要把A机器上的/etc/tst下的所有内容拷贝到B机器上的/etc/tst目录下,应该的命令应该怎么写?在hadoop100机器上,把文件推送到hadoop101机器上(如上右图)。
2025-03-10 11:02:52
1248
原创 配置并克隆虚拟机
这里要注意一下:VMware net work Adpater VMnet8是安装了Vm这个软件之后会自动产生的。地址用来通信,我们要把多台虚拟机设置为一个集群来工作,就必须给他们配置相同网段的IP地址。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。命令是reboot,检查是否能Ping通外网。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。进入虚拟机,修改对应的IP。
2025-02-25 16:43:29
398
原创 安装vm和centOS
在 Windows 系统下安装 VMware Workstation Pro(简称 VM)虚拟机软件以及在该虚拟机中安装 CentOS 系统的步骤。安装 VMware Workstation Pro ####
2025-02-25 14:24:21
547
原创 vi的基本使用
是Linux的内置命令,以命令的方式来运行。命令格式:vi /路径/文件名注意以下两种情况:1.如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:new file2.如果文件已存在,此时就打开这个文件,进入命令模式。把文本内容添加到一个全新的文件的快捷方式:echo 1 >> 1.txt。
2025-02-24 14:16:29
296
原创 Linux常用命令
1.安装vm,安装Linux/:linux根目录~:当前用户的主目录2、Linux命令CD:切换目录touch:新建一个空文件ls:查看文件信息mkdir:新建目录mkdir -p:创建子目录rm:删除文件rm -f:删除文件,不提示rm -r:删除文件夹rm -rf:删除文件夹,不提示rm -rf/*删库跑路。
2025-02-24 14:16:18
286
原创 Linux操作系统命令
当前路径:也叫做当前工作目录是当下用户所处的位置。~波浪线,当前用户的home目录,比如root用户home目录是/root。rm -rf ./bbb 将目录及以下所有递归逐一删除,无需用户确认。相对路径:当前相对当前工作目录开始的路径,会随着当前路径变化而变化。rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认。mkdir -p:创建目录,如果父级目录不存在,就建立一个新目录。ll -a 命令,显示当前的目录下的文件,包括隐藏文件。ll 命令,用来显示当前的目录下的文件。
2025-02-24 07:52:17
255
原创 spark
阶段一:单机时代阶段二:大数据时代-分布式处理阶段三:实时大数据时代hadoop慢因为她的计算结果保存在磁盘 处理在spark中可解决属于内存。
2025-02-18 14:26:43
283
原创 scala-图书管理系统
表示层UI:用户直接操作,调用Service层。models:模型(操作文件,数据库)service:业务逻辑,调用DAO。附件:师承B站@凡友福 老师。
2024-12-26 10:45:50
162
原创 Scala-异常
case e:异常类型1 => 处理逻辑1。case e:异常类型2 => 处理逻辑2。无论是否有异常发生,都会做的事情。发生异常之后的处理逻辑。
2024-12-16 13:15:00
511
原创 Scala-隐式转换
函数的参数类型 和 返回值类型是重要的,它约定了把什么类型转成什么类型。系统自动完成的:把一种类型的数据转成了另一种类型的数据。不是所有的类型都可以执行隐式转换。
2024-12-05 10:02:49
584
原创 Scala文件读写——成绩分析
在本课内容的基础上,补充两门新课(Java,scala)的成绩,并完成。(1)计算每个同学的总分和平均分。(2)每个科目的平均分。3.每个学生的在班级的整体排名。1.读入txt文件:按行读入。2.单科成绩的前5名排名。1.总分和平均分的计算。
2024-11-25 14:47:58
621
原创 scala集合复习
先进先出.enqueue入队,dequeue出队。pop表示取出,push表示在栈中添加元素。Stack:栈,特殊的结构。它对元素的操作是在头部:栈顶。集Set:表示无序且不重复的集合。Seq表示有先后顺序的集合。映射Map:表示键值对。二.Queue 队列。
2024-11-18 22:30:00
234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅