- 博客(62)
- 收藏
- 关注
原创 Hadoop的优势
Hadoop 可以处理 PB 级甚至更大规模的数据,它通过分布式存储和计算的方式,将大规模数据分散到多个节点上进行处理,利用集群的计算能力来提高数据处理的效率,能够对海量数据进行高效的存储、管理和分析。对于数据的错误和丢失,通过数据副本和恢复机制,可以快速地恢复数据,确保数据的一致性和可用性。:Hadoop 支持多种数据格式,如文本、JSON、Avro、Parquet 等,无论是结构化数据、半结构化数据还是非结构化数据,都可以在 Hadoop 平台上进行处理和分析,具有很强的数据适应性。
2025-05-14 09:32:52
228
原创 大数据的基本概念
spark经常和hadoop来对比,更准确是和mapReduce进行对比,因为spark本身也是一个计算框架。首先进入到我们安装yarn的主机,通过命令来关闭掉yarn和historyServer,然后再重启。它也提供类似于Hive的方案让用户在spark的API上去写SQL。金融:多维度体现用户特征,帮助金额机构推荐优质客户。大数据技术与我们整个社会都融合到了一起,密不可分。零售:分析用户消费习惯,为用户购买商品提供方便。给你家人推荐的内容,也会推荐给你。的计算,mapReduce是基于。
2025-05-14 09:29:14
191
原创 安装Spark
在安装Spark时,它就提供了一些示例程序,我们可以直接来调用。进入到spark-local,运行命令spark-submit命令。4.重命名,把解压后的文件夹改成spark-local。使用tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module/解压。安装Spark的过程就是下载和解压的过程。接下来的操作,我们把它上传到集群中的节点,并解压运行。打开etc/profile.d/my_env.sh文件中,补充设置spark的环境变量。
2025-05-14 09:21:48
232
原创 Spark的基础介绍
为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度器,叫作独立调度器。Spark SQL:是Spark用来操作结构化数据的程序包。Hadoop:Hadoop MapReduce 基于磁盘进行数据处理,数据在 Map 和 Reduce 阶段会频繁地写入磁盘和读取磁盘,这使得数据处理速度相对较慢,尤其是在处理迭代式算法和交互式查询时,性能会受到较大影响。
2025-05-14 09:14:21
658
原创 Spark之搭建Yarn模式
对应的命令是:tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module。NodeManager:部署在集群中的每个节点上,负责管理该节点上的资源使用情况,监控容器的运行状态,并且与 ResourceManager 保持通信,汇报节点的资源使用信息。使用xsync /opt/module/hadoop-3.1.3/etc/hadoop/同步一下。
2025-05-14 09:07:58
760
原创 RDD的自定义分区器
创建input文件夹,在input下新建记事本文件,在src下创建新的scala文件,开始写功能代码。// 3. RDD使用自定义分区器分区。// 4. 对分区的数据进行汇总计算。// 5. 保存计算之后的结果。我们在编写代码时有以下几个过程。// 2. 读文件,生成RDD。// 1. 实现自定义分区器。创建新的maven项目。内容就是前面的实例数据。
2025-05-14 08:54:11
359
原创 自定义分区器
这就类似于 Spark 中的分区,每个分区的数据可以在不同的计算节点上同时进行处理,从而加快整个数据处理的速度。例如,若一个 RDD 有 10 个分区,且集群有足够的计算资源,Spark 就可以同时处理这 10 个分区的数据。在 Spark 中,分区是指将数据集按照一定的规则划分成多个较小的子集,每个子集可以独立地在不同的计算节点上进行处理,这样可以实现数据的并行处理,提高计算效率。例如,一个 128MB 的文件在 HDFS 上被分成 2 个 64MB 的块,那么创建的 RDD 默认分区数就是 2。
2025-05-09 16:01:30
284
原创 Spark缓存中的persist与cache方法
MEMORY_ONLY_SER:将 RDD 以序列化的 Java 对象形式存储在内存中,相较于 MEMORY_ONLY,序列化后占用的内存空间更小,但读取时需要进行反序列化操作,会带来一定的性能开销。cache:其实是 persist 方法的一种特殊情况,它等价于调用 persist(StorageLevel.MEMORY_ONLY),也就是将数据以非序列化的 Java 对象形式存储在内存中。MEMORY_AND_DISK:优先把 RDD 以 Java 对象的形式存储在 JVM 的内存中。
2025-05-09 15:54:52
204
原创 Vi文本编辑器
它的核心设计思想:让程序员的手指始终在键盘上就能完成所有的编辑操作。1. 如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:new file。(2)按下o:进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)当我们通过VI命令第一次打开文件的时候,进入的就是命令模式。2. 如果文件已经存在,此时就打开这个文件,进入命令模式。从命令模式切换到底线命令模式,输入: 进入底线命令模式。它是linux的内置命令,所以还是以命令的方式来运行。(3)在输入模式下,按下ESC退回到命令模式。
2025-05-07 22:13:56
353
原创 MapReduce中的分区器
默认的分区器是HashPartitioner,它会根据键的哈希值将数据均匀分配到各个Reducer中。在MapReduce框架中,分区器(Partitioner)是一个关键组件,其主要作用是决定由一个maptask生成的键值,最终是生成在哪个文件中的。上一步我们定义了分区器,接下来,我们在job中使用它。自定义分区器:如果使用自定义分区器,可以根据特定的逻辑(如键的首字母、键的范围等)将数据分配到不同的Reducer中。结果相同的key对应的数据就会放在一个文件中。1.定义一个分区类。
2025-05-07 21:49:59
478
原创 Hadoop客户端环境准备
hadoop集群我们配置好了,要与它进行交互,我们还需要准备hadoop的客户端。若能够找到Maven与hadoop的配置则已经完成。找到资料包路径下的Windows依赖文件夹,拷贝。adoop-3.1.0到非中文路径(比如d。,值就是保存hadoop的目录。要分成两步:下载hadoop包。
2025-05-07 11:36:41
533
原创 Hadoop集群搭建——免密登录
这里专门有一个命令ssh-copy-id。它的格式是: ssh-copy-id 目标机器。SSH(Secure Shell)命令是一种用于通过加密协议安全地连接到远程服务器的工具。它广泛应用于远程登录、文件传输和命令执行等场景。2.在hadoop100上,运行命令:ssh-keygen -t rsa,然后根据提示连续敲入三个回车。目前我们有三台机器,它们之间相互访问都应该不需要输入密码。它最基本的用法是连接到远程服务器,格式如:ssh 用户名@主机名。首先打开我们三台虚拟机,此时三台虚拟机并不相互关联。
2025-05-07 11:29:45
216
原创 安装spark与配置环境变量
安装Spark的过程就是下载和解压的过程。接下来的操作,我们把它上传到集群中的节点,并解压运行。2.通过finalshell连接虚拟机,并上传安装文件到 /opt/software下。在保存后再对环境变量进行生效:/source /etc/profile。3.解压spark安装文件到/opt/module下。
2025-05-07 11:13:15
324
原创 Spark处理过程——转换算子与行动算子
行动算子是触发 Spark 计算的“触发点”,因为 Spark 的 RDD 是懒惰计算的,只有在执行行动算子时,才会真正开始计算。:对 RDD 中的每个元素应用给定的函数 f,将每个元素转换为另一个元素,最终返回一个新的 RDD。:筛选出 RDD 中满足函数 f 条件(即 f 函数返回 true)的元素,返回一个新的 RDD,新 RDD 中的元素类型与原 RDD 相同。:对 RDD 中的每个元素应用函数 f,函数 f 返回一个可遍历的集合,然后将这些集合中的元素扁平化合并成一个新的 RDD。
2025-05-07 11:03:31
352
原创 RDD的基本概念与创建
Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。- Dataset: 一个数据集合,用来存放数据的。之前我们学习的Scala中,Array, Set等也叫数据集。- Distributed: 分布式存储的,表示数据是存放在不同的机器上的。可以通过将本地集合(如数组、列表等)传递给 SparkContext 的 parallelize。例如,读入外部的文件。
2025-05-07 10:54:22
133
原创 使用Maven打包在集群上运行
复制之前的文件,重命名为WordCount_online,并修改两个地方:输入目录改成args(0), 输出的目录改成args(1)完成修改之后,要刷新maven,以下载相关的插件。上传到集群,执行代码。
2025-05-07 10:50:03
177
原创 在IDEA中编写Spark程序并运行
在项目根目录下建立文件夹input,并穿件两个文本文件:word1.txt, word2.txt。Spark是基于scala的,当然它也可以支持java和scala还有python语言,我们这里会使用scala。6.新建Scala类。如果这里没有看到Scala类的选项,就去检查第2步。2.使用Maven创建项目,并在pom.xml文件中配置相关的依赖。添加完成之后,刷新Maven,它会帮助我们去下载依赖。1.在Idea中安装插件,使得Idea中可以编写scala代码。点击运行代码,生成代码如下。
2025-05-07 10:45:02
468
原创 Spark集群搭建——standalone
进入到hadoop100机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。3.重命名:进入/opt/module/把解压的内容重命名一下,mv spark-3.1.1-bin-hadoop3.2/ spark-standalone。这里我自己的三台主机名是其他名字,不是hadoop100,hadoop101,hadoop102,所以根据自己的主机进行更改。(linux,ip设置,能ping 百度),免密互联,
2025-05-07 10:32:14
498
原创 启动Hadoop集群及集群效果
1Web端查看HDFS的NameNode(a)浏览器中输入:2Web端查看YARN的ResourceManager(a)浏览器中输入。
2025-04-30 15:40:09
290
原创 Hadoop中的集群配置规划
这里一共有5个文件要配置:分别是core-site.xml,hdfs-site.xml,yarn-site.xml,但是,我们要把它搭建起起来,就必须要了解它的基本组成,知道它的内部分工。配置/opt/module/hadoop-3.1.3/etc/hadoop。-- 指定ResourceManager的地址-->-- 指定hadoop数据的存储目录 -->-- 指定NameNode的地址 -->-- 指定MR走shuffle -->-- nn web端访问地址-->-- 环境变量继承 -->
2025-04-30 15:36:57
729
原创 Hadoop中的scp命令
如果要拷贝的是文件夹,就把文件夹下的内容都拷贝。可以实现服务器与服务器之间的数据拷贝。目的地用户@主机:目的地路径/名称。要拷贝的文件路径/名称。2. 进入到hadoop10。
2025-04-30 15:32:20
238
原创 Hadoop虚拟机中配置hosts
默认情况下,本机的名称叫:localhost。我们进入linux系统之后,显示出来的就是。为了方便后面我们更加便捷地访问这台主机,而不是通过ip地址,我们要重新给他取个名字。使用vi修改之后,:wq保存退出,我这里改成了hadoop100,大家可以自行修改。打开/etc/hostname这个文件,并修改其中的内容。并在最后一行的后边,添加。
2025-04-30 15:26:16
563
原创 spark和Hadoop之间的对比与联系
Spark :除批处理外,在实时流处理(Spark Streaming )、机器学习(MLlib )、图计算(GraphX )等方面应用广泛,适用于对实时性、交互性要求高的场景。Hadoop:采用MapReduce计算模型,分map与reduce两个阶段,数据处理按阶段顺序执行,数据处理按阶段顺序执行,中间结果会写入磁盘,I/O开销大。Spark :内存计算特性使其在迭代计算(如机器学习算法迭代 )、交互式查询等场景下,相比 Hadoop 有显著速度优势,能快速处理数据。
2025-04-23 11:17:36
333
原创 Mapreduce中maven打包
核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序。这个是我自己改过名的,可以自定义,可以右键打开资源管理器,找到打包的文件。是一个分布式运算程序的编程框架,是用户开发“基于。的数据分析应用”的核心框架。(例如:jar包),
2025-04-23 11:00:07
335
原创 yarn的概念
通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源, 这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。Capacity可以理解成一个个的资源队列,这个资源队列是用户自己去分配的。队列内部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部,资源的调度是采用的是先进先出(FIFO)策略。yarn的三大组件及作用:(1)ResourceManager :是YARN的全局资源管理器,它是集群中只有一个实例,主要负责整个集群的资源管理和分配。
2025-04-18 15:22:24
302
原创 Hadoop的三大结构及其作用?
Hadoop是一个分布式存储和计算框架,其三大核心组件是HDFS(Hadoop Distributed File System)、YARN(Yet Another Resource Negotiator)和MapReduce。三者之间的关系:HDFS为MapReduce提供数据存储,YARN为MapReduce提供资源管理和任务调度,HDFS和YARN共同为MapReduce提供支持。(1)HDFS是Hadoop的分布式文件系统,主要作用是为海量数据提供高可靠性和高吞吐量的存储。
2025-04-18 15:06:19
460
原创 如何配置虚拟机连接finalshell并克隆
点击SSH连接,之后进入之后在名称自定义,主机是IP地址,用户是root,备注可写可不写,密码自己设置,接着把另外两个主机按同样方法进行,当上方出现绿色则已经连接完成,如图(只是一台)在VMware中我们在后期的学习中是必须要用到fianlshell这个工具,首先在我们在VMware中将虚拟机的IP全部完成后,可以开始克隆 了。找到自己的虚拟机,先关闭虚拟机,然后右键管理,找到克隆,在一步步的下一步后,要选择创建完整克隆。当三台主机都可连接finalshell,这个操作就算完成了。
2025-03-05 23:48:21
498
原创 VMware中的常见操作命令
进入网络编辑页面:vi /etc/sysconfig/network-scripts/ifcfg-ens33。撤销:1.u 撤销上一步。2.ctrl +r :反撤销,重做上一步的步骤。重启网络服务:service network restart。粘贴:1.p(小写p,在当前的下一行),P(在当前的上一行)删除:1.dd,用来删除当下内容,ndd.用来删除当下n行。进入编辑一般的命令格式是: vi /路径/文件名。复制的命令是yy,复制光标所在的内容。进入超级用户:su root。
2025-03-03 20:03:16
267
原创 VMware如何配置IP网络
再依次将虚拟机的IPADDR,NETMASK,GATEWAY,DNS配置好后,就可以退出,按Esc,再按shift加冒号,输入wq,退出编辑页面,再输入service network restart 后出现OK,则可以ping 自己的IP,如果成功,接着ping 百度,都没问题的话 则单台VMware虚拟机的网络搭建完成了。点击更改适配器设置,进入VMnet8并点击属性,找到IPv4并进入,可以看到自己的网络IP地址。在桌面找到控制面板,进入网络查看,
2025-03-03 19:46:10
287
原创 如何安装虚拟机cenos7系统
在hadoop集群平台搭建中,我们需要对基础环境搭建一个平台,首先需要用到VMware虚拟机,我们需要用到的是centos7操作系统。将cenos7系统选择在合适的系统盘中,最好不是C盘,D盘与E盘都可,点击下一步。之后的都可以默认下一步,按推荐来,在配置好后,等待加载后进入cenos7中,语言选择中文后,点击继续,在配置界面配置好后,设置用户名与密码,之后可以直接选择下一步,此处选择cenos7系统,如图,首先进入VMware虚拟机中,点击创建新的虚拟机,如图。
2025-02-19 11:34:13
282
原创 Scala中的泛型
scala中的泛型大部分特征与java兼容,如类的泛型,方法的泛型和接口/trait的泛型等。泛型的定义为参数化类型,即所有的数据类型被指定为一个参数。有了泛型,一个类就可以有多种类型。由于泛型的特质 ,可以为任何类型,泛型可以用于指定方法或类可以接受任意类型的参数,参数在实际使用时才能被确定。一般情况下,使用泛型类是需要对类的某些成员进行 统一的类型限制,这样可以保证程序的稳定性。
2024-12-12 09:31:45
274
原创 Scala中的for循环
循环中添加过滤器(filter),用于筛选满足特定条件的元素。循环是 Scala 中最常用的循环结构之一,用于遍历集合(如。循环中使用多个生成器来嵌套遍历多个集合。等)或执行一定次数的操作。
2024-12-12 00:40:04
326
原创 Scala中的abstract
关键字用于定义抽象类和抽象方法。抽象方法是只有定义而没有具体实现的方法,它强制子类去实现这些方法,从而实现多态性。在 Scala 中,抽象类是一种不能被实例化的类,它用于作为其他类的基类,提供通用的属性和方法定义。
2024-12-12 00:28:16
206
原创 scala中的map
是一种用于存储键值对(key - value pairs)的数据结构。它就像是一个字典,通过键(key)来唯一标识每个值(value),可以根据键快速地查找、插入和删除对应的元素。在 Scala 中,
2024-12-12 00:12:23
240
原创 Scala中的List
它类似于数组,但在功能和使用方式上有一些区别。与数组相比,List 具有更丰富的操作方法,并且在函数式编程场景下更方便,因为它的不可变性符合函数式编程的理念,避免了副作用。Scala 中的 List 是一种有序的、不可变的(默认)集合类型。这意味着一旦创建,List 中的元素顺序就固定了,并且不能直接修改其内容。创建了一个包含整数 1、2、3 的 List,并且这个 List 在其生命周期内保持不变。
2024-12-11 23:55:54
277
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅