- 博客(76)
- 收藏
- 关注
原创 配置Hadoop集群环境-使用脚本命令实现集群文件同步
在一台机器上模拟出 Hadoop 分布式系统的各个组件,各个组件在逻辑上是分离的,但是都运行在同一台物理机器上,以此来模拟分布式环境。我们在前面的课中把hadoop100上安装了java,hadoop这个两个软件,那我们要如何才能把对于的文件拷贝到hadoop101上去?上面的例子中,我们是登录到hadoop100,然后把这台机器上的文件传递到另一台机器上。2. 把一台机器装好,把module 拷贝到其他的机器。现在的目标是:要把hadoop100上的jdk文件夹拷贝到hadoop101中的相同的目录下。
2025-05-13 11:40:02
263
原创 Yarn-tool接口
org.apache.hadoop.util.Tool 是 Apache Hadoop 框架里的一个接口,其用途是协助开发可通过命令行运行的 Hadoop 应用程序。// 它要做7件事 hadoop jar mc8.js com.example.mapreduce.WordCountDriver /要处理的文件夹 /结果路径。run(String[] args):此方法为应用程序的主要执行逻辑,接收命令行参数,返回一个整数代表执行结果(通常 0 表示成功,非 0 表示失败)。// 返回 0 表示执行成功。
2025-05-13 11:35:32
864
原创 Spark集群搭建-Standalone
先把名称改成spark-default.conf,再补充两个设置。进入到hadoop100机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。进入/opt/module/把解压的内容重命名一下,mv spark-3.1.1-bin-hadoop3.2/ spark-standalone。注意,这里不要省略./,它表示的是当前目录下的start-all命令,如果省略了./,它就会先去环境变量PATH中指定的目录来找这个命令。
2025-05-13 11:33:11
931
原创 30秒教你数据压缩
即使你的MapReduce的输入输出文件都是未压缩的文件,你仍然可以对Map任务的中间结果输出做压缩,因为它要写在硬盘并且通过网络传输到Reduce节点,对其压缩可以提高很多性能,这些工作只要设置两个属性即可,我们来看下代码怎么设置。数据压缩是指在不丢失或尽可能少丢失数据信息的前提下,通过特定的算法和技术,对原始数据进行重新编码和处理,以减少数据存储空间或传输带宽的过程。通过本堂课的学习,我们学习了数据压缩相关的概念,并在实际测试使用了两种编码的方式,这个部分的理论比较多,希望大家多加理解。
2025-05-13 11:29:20
955
原创 linux操作系统命令(二)
我们一般的操作是:双击文件,使用相关的软件去自动打开。ls命令可以查看文件夹下的文件信息,如果某个文件夹下的文件特别多,使用ls命令时,就只能显示后面一部分文件信息,那如果我们希望查看全部的文件信息,要怎么办呢?因为在linux下,我们要去下载安装新的软件时就需要用到它:下载下来的软件大多都是.tar格式,而安装的过程就是解压缩。会把111写入a.txt这个文件中,把之前的内容删除掉。ls 用来显示文件夹下的文件信息,more用来翻页,而 | 就可以把前一个的结果作为输入传递给more。
2025-05-13 11:25:01
301
原创 linux操作系统命令
接下来,我们快速去实操一下,路径相关的操作。3. mkdir -p 命令: 创建目录,如果父级目录不存在,就建立一个父级目录。3. ~波浪线,当前用户的home目录,比如root用户home目录是/root。1. .目录或文件名以.开始表示是隐藏的文件,如果路径以点开始表示当前路径。,意味着针对Linux的操作,大多数时间是在针对Linux文件系统操作。在linux中,使用touch命令来创建文件,使用mkdir来创建目录。下面我们来学习查看文件相关的命令,一共有三个:ls, cd, pwd。
2025-05-13 11:24:10
778
原创 文件同步2
有了上面封装的xsync这个工具之后,我们就可以很方便地把hadoop100上的环境变量配置和安装的两个软件都同步到hadoop101和hadoop102上去。我们提出一个更加高级的需求: 现在有A,B,C,D,E五台机器,我们在A上新增加了文件,那如何去同步到B,C,D,E上相同的目录下呢?rsync和scp区别是:rsync只对差异文件做更新,而scp是把所有文件都复制过去,所以它的效果更高一些。此时,我们去查看文件,可以看到它的颜色是灰色的,不具备执行权限(如下左图)。(2)在该文件中编写如下代码。
2025-05-13 11:22:56
474
原创 Zookeeper
分布式系统是一种由多个独立的计算机(节点)组成的系统,这些节点通过网络通信来协同完成任务,对外表现为一个整体的系统。spark经常和hadoop来对比,更准确是和mapReduce进行对比,因为spark本身也是一个计算框架。前面介绍了大数据的一些基本理论,那大家知道在一家企业中,大数据部门是怎么构成的?一共有四个组成部分:MapReduce计算,Yarn资源调度,HDFS数据存储,Common辅助工具。大数据不止有数量大这个显著的特点,还有其他的特点,我们总结为4V。给你家人推荐的内容,也会推荐给你。
2025-05-13 11:14:08
228
原创 SparkSQL-数据提取和保存
下面来做一个综合案例:读入csv文件中的数据,并做简单的数据筛选,然后 写入数据到数据库。准备工作:建立一个.csv文件,然后添加基本数据。【教师先完成准备工作】
2025-05-13 11:13:36
177
原创 RDD的自定义分区器-案例
对电商订单数据进行处理,订单数据包含用户 ID 和订单金额,不同地区的用户有不同的 ID 范围。我们会按照地区对订单数据进行分区,这样做能让相同地区的订单数据处于同一分区,便于后续按地区进行统计金额分析。创建input文件夹,在input下新建记事本文件,在src下创建新的scala文件,开始写功能代码。// 3. RDD使用自定义分区器分区。// 4. 对分区的数据进行汇总计算。// 5. 保存计算之后的结果。// 2. 读文件,生成RDD。// 1. 实现自定义分区器。内容就是前面的实例数据。
2025-05-13 10:46:08
179
原创 自定义分区器-基础
这就类似于 Spark 中的分区,每个分区的数据可以在不同的计算节点上同时进行处理,从而加快整个数据处理的速度。:Spark 能够同时对多个分区的数据进行处理,充分利用集群的计算资源,进而加快作业的执行速度。在 Spark 中,分区是指将数据集按照一定的规则划分成多个较小的子集,每个子集可以独立地在不同的计算节点上进行处理,这样可以实现数据的并行处理,提高计算效率。在 Spark 中,RDD 是数据的集合,它会被划分成多个分区,这些分区可以分布在不同的计算节点上,就像图书馆的书架分布在不同的房间一样。
2025-05-13 10:43:28
321
原创 Spark处理过程-案例数据清洗
把每行文本按逗号分隔成字段,查看字段数量是否为 3。检查年龄字段是否为有效的数字。创建input文件夹,在input下新建记事本文件,内容就是前面的实例数据。coalesce(1)这个方法可以让结果全部保存在一个文件中。// ①如果它不是数字或者缺失,则忽略这条数据。在src下创建新的scala文件,开始写功能代码。// 2.开始过滤,对每一行数据进行分析。// (1)字段拆分,拆分出年龄这个字段。把清洗之后的数据保存到一个文件中。// 3.保存过滤之后的文件。创建新的maven项目。
2025-05-13 10:40:58
150
原创 Yarn-概述
通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源, 这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。队列内部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部,资源的调度是采用的是先进先出(FIFO)策略。但是实际中,资源是有限的,并且在繁忙的群集上, 应用程序通常将需要等待其某些请求得到满足。现在,如果B用户在其他作业仍在运行时开始第二个作业,它将与B的另一个作业共享其资源,因此B的每个作业将拥有资源的四分之一,而A继续将拥有一半的资源。
2025-05-13 10:37:24
525
原创 行动作用作用
行动算子是触发 Spark 计算的“触发点”,因为 Spark 的 RDD 是懒惰计算的,只有在执行行动算子时,才会真正开始计算。它会触发 Spark 作业的实际执行,对 RDD 中的所有元素进行计数,并将最终的计数结果返回给驱动程序。f: T => Unit:这是一个函数,它接收一个类型为 T 的元素(T 为 RDD 中元素的类型),并对该元素执行相应的操作,但不返回任何值(返回类型为 Unit)。返回值:返回一个包含 RDD 中所有元素的数组,数组元素的类型与 RDD 中元素的类型一致。
2025-05-07 15:50:20
301
原创 转换算子作用
它的核心作用是对具有相同键的所有值进行聚合操作,通过用户提供的聚合函数将这些值合并成一个结果,从而实现数据的归约和统计。:对 RDD 中的每个元素应用给定的函数 f,将每个元素转换为另一个元素,最终返回一个新的 RDD。:筛选出 RDD 中满足函数 f 条件(即 f 函数返回 true)的元素,返回一个新的 RDD,新 RDD 中的元素类型与原 RDD 相同。:对 RDD 中的每个元素应用函数 f,函数 f 返回一个可遍历的集合,然后将这些集合中的元素扁平化合并成一个新的 RDD。
2025-05-07 15:48:04
281
原创 如何在idea中写spark程序
因为 Spark 主要使用 Scala 语言开发,所以需要在 IDEA 中安装 Scala 插件。打开 IntelliJ IDEA,进入。确保你已经安装了 IntelliJ IDEA,并且已经正确配置了 Java 开发环境(JDK)。文件中添加 Spark 相关的依赖。目录下创建一个新的 Scala 类(右键点击目录,选择。表示使用所有可用的 CPU 核心。(Windows/Linux)或。插件,安装完成后重启 IDEA。来运行你的 Spark 程序。替换为实际的文件路径,表示在本地模式下运行,
2025-04-28 19:51:37
481
原创 spark和hadoop之间的关系对比
例如,在机器学习和图计算等需要多次迭代的算法中,Spark 可以显著减少计算时间。Hadoop:Hadoop MapReduce 基于磁盘进行数据处理,数据在 Map 和 Reduce 阶段会频繁地写入磁盘和读取磁盘,这使得数据处理速度相对较慢,尤其是在处理迭代式算法和交互式查询时,性能会受到较大影响。Hadoop:Hadoop 的 MapReduce 编程模型相对较为底层和复杂,开发人员需要编写大量的代码来实现数据处理逻辑,尤其是在处理复杂的数据转换和多阶段计算时,代码量会非常庞大,开发和维护成本较高。
2025-04-28 19:48:37
280
原创 案例-流量统计
但是,这里有一个问题:map和reduce这两个函数都是通过key,value的方式来进行数据交互的,这里的key可以设置为手机号,而value值就比较复杂,它有两个信息:上行流量和下行流量要统计。而这就必然引出一个新的问题:因为key,value是需要进行磁盘的读写的,所以它们必须要能序列化,如果我们创建一个新的类来描述流量数据,就必须也实现序列化。在map阶段,我们读入每一行数据,通过空格分割,切分字段,抽取手机号,上行流量和下行流量。在reduce阶段,我们把相同手机号的数据进行求和汇总。
2025-04-28 19:48:29
159
原创 Spark集群搭建之Yarn模式
使用xsync /opt/module/hadoop-3.1.3/etc/hadoop/同步一下。--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->2. 修改一下spark的环境变量,/etc/profile.d/my_env.sh。
2025-04-28 19:48:05
457
原创 一分钟叫你数据清洗
说明:reduceTask为0,表示没有reduce阶段,那么最终输出的文件个数与mapperTask的数量一致。1 创建两个类:WebLogMapper和WebLogDriver类。需要在Map阶段对输入的数据根据规则进行过滤清洗,并不需要进行汇总。(2)期望输出数据:每行字段长度都大于11。(1)编写WebLogMapper类。编写WebLogDriver类。
2025-04-02 15:44:21
205
原创 mapreduce的工作原理
它的核心思想是将计算任务分解为 Map(映射) 和 Reduce(归约) 两个阶段,并通过 Shuffle(混洗) 阶段进行数据交换,最终完成并行计算。下面详细解析其工作流程。Shuffle 是 MapReduce 的核心,负责将 Map 输出传递给 Reduce 任务,包括 排序(Sort)、合并(Merge)、拉取(Fetch) 等操作。写入前,数据按 Partition(分区) 和 Key 排序(默认按 Key 的哈希值分区,排序规则可自定义)。
2025-03-31 19:58:09
1025
原创 Hadoop集群的常用命令
hadoop fs -count / # 统计文件数量,返回的数据是目录个数,文件个数,文件总计大小,输入路径。hadoop fs -du -s -h / #统计这个文件夹总大小,返回的数据是,文件夹大小,备份总大小。hadoop fs -du -h / # 统计文件夹下每个文件的大小。查看yarn正在运行的任务列表。查找yarn已经完成的任务列表。查找yarn所有任务列表。
2025-03-31 19:55:36
170
原创 【Linux】配置hosts
现在我们可以通过finalshell这个工具来连接我们的远程服务器,不过我们连接主机的时候,需要填入对方的ip地址,这个很麻烦。把虚拟机上的软件yum想象成你自己开的一家商场,那么yum的源就是你的供货商。hosts 文件是一个本地的文本文件,它的作用是将主机名映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。Yum是一个linux工具,用来从网络下载安装软件到linux操作系统中,在此之前,我们先要确保虚拟机的网络是通畅的。
2025-03-04 10:58:29
3161
原创 虚拟机配置IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。具体设置为:进入虚拟机,修改对应的IP。
2025-02-26 15:51:09
634
原创 Linux命令+vi编译器
3 Home键可以快速定位到首行,End键可以快速定位到行尾。4 在命令模式下,按下G键可以跳到文件的最后一行。5 在命令模式下,按下gg键可以跳到文件的第一行。nyy(n+两个小y)复制当前行往下n行内容。5.如何在命令模式下保存内容并退出编辑器?3.如何从命令模式切换到编辑模式?4.如何从编辑模式切换到命令模式?7.如何粘贴内容到当前行的下一行?nyy复制当前行往下n行内容。dd 用来删除光标所在当前行内容。p在当前行的下一行粘贴。ndd 用来删除当前行往下n行。命令模式,输入模式,底线模式。
2025-02-25 11:08:30
236
原创 大数据技术
保存(hadoop),计算。mapReduce是基于磁盘的计算。阶段3 实现大数据时代(不放磁盘,放内存)阶段2 大数据时代---分布式处理。:大数据指无法在一定时间内使用常规软件工具进行捕捉,管理和处理的数据集合。高可靠性, 高扩展性, 高效性,高容错性。:阶段1 单机时代(业务不复杂):视频推荐,电商推荐,零售,金融。:大量,高速,多样,低价值密度。
2025-02-18 10:18:38
242
原创 正则表达式
==>{0,1} 把前面的字符匹配0次 或者一次。6 * ===>{0,} 把前面的字符匹配0次 或者多次。1 {n,m} 把前面的字符匹配最少n次,最多m次。2 {n, } 把前面的字符匹配最少n次,最多不限。5 + ===>{1,} 把前面的字符匹配一次。3 {n} 把前面的字符匹配最少n次。
2024-12-09 14:32:57
584
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅