- 博客(64)
- 收藏
- 关注
原创 在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-05-14 08:48:04
1065
原创 spark的Standalone模式介绍
核心是理解 Master、Worker、Executor 和 Driver 的角色分工,以及 Client/Cluster 两种部署模式的区别。对于大规模生产环境,建议考虑更成熟的资源管理器(如 YARN)。Apache Spark 的 Standalone 模式是其自带的集群管理模式,无需依赖外部资源管理器(如 YARN 或 Mesos),可快速部署和运行 Spark 集群。Driver 向 Master 请求资源(CPU 和内存),Master 通知 Worker 节点启动 Executor。
2025-05-14 08:43:49
990
原创 mapreduce的工作原理
例如,在单词计数的例子中,输入文本被分割成单词,每个单词作为键,值为 1,表示出现一次。归约操作:每个 Reduce 任务会接收来自不同 Map 任务的相同键的中间结果,Reduce 函数会对这些结果进行合并和处理,最终生成最终的输出结果 <output_key, output_value>。MapReduce 主要由两个阶段组成:Map 阶段和 Reduce 阶段,此外还有一些辅助步骤,整体流程包括输入数据、Map 任务、Shuffle 和 Sort(洗牌与排序)、Reduce 任务、输出结果。
2025-05-14 08:40:29
417
原创 教你如何创建Maven项目
Maven 是 Java 项目的主流构建工具,用于自动化编译、测试、打包和依赖管理。通过以上步骤,你可以快速搭建和管理 Java 项目。遇到依赖问题时,可到。查找所需依赖的坐标。
2025-05-14 08:38:26
359
原创 快速学会YARN
YARN(Yet Another Resource Negotiator)是 Apache Hadoop 的集群资源管理系统,负责分配计算资源并调度任务。的三层架构,以及容器化资源分配模式。通过简单配置和命令,即可快速管理分布式计算资源。YARN 是大数据集群的 “交通警察”,负责公平分配资源。
2025-05-14 08:34:53
416
原创 结构化数据处理
agg(sum($"quantity").as("total_quantity"), sum($"quantity" * $"price").as("total_sales")):对每个分组进行聚合操作,计算销售总量和销售总额,并分别命名为 total_quantity 和 total_sales。使用sql风格操作的前提是将DataFrame注册成一个临时表,在程序中直接使用spark.sql()方式执行SQL查询,结果将作为一个DataFrame返回。(三)DataFrame的概念。
2025-05-14 08:27:44
323
原创 RDD的自定义分区器-案例演示
在代码中,通过编写一个自定义的分区函数,根据用户 ID 的范围返回对应的分区编号。如在之前的示例代码中,custom_partitioner 函数根据不同的 ID 范围返回 0、1、2 三个分区编号,从而实现按照地区进行分区的目的。具体来说,将用户 ID 在 0 - 1000 的订单数据分到一个分区,1001 - 2000 的分到另一个分区,2001 及以上的分到第三个分区。问题描述:需要根据特定的用户 ID 范围来定义分区规则,确保相同地区的订单数据被分配到相同的分区。难点二:自定义的分区来进行汇总。
2025-05-14 08:23:25
291
原创 RDD算子有几种
行动算子会触发实际计算,将转换算子构建的逻辑执行计划提交到集群执行,并将结果返回驱动程序或保存到外部存储系统。转换算子是惰性执行的,调用时不会立即计算,而是记录操作,构建逻辑执行计划,遇到行动算子时才实际计算。给出的条件过滤 RDD 中的元素,返回仅含满足条件元素的新 RDD。比如,过滤出 RDD 中大于 1 的元素。类似,但每个输入元素可映射为 0 个或多个输出元素,最后将结果扁平化。持久化算子用于将 RDD 的数据缓存到内存或磁盘中,避免重复计算,提高后续操作的执行效率。,返回新的 RDD。
2025-05-14 08:20:30
241
原创 Spark自定义分区器-基础
这就类似于 Spark 中的分区,每个分区的数据可以在不同的计算节点上同时进行处理,从而加快整个数据处理的速度。1.MyPartitioner类继承自Partitioner,实现了numPartitions方法指定分区数量为 3 ,实现getPartition方法,根据球队名称判断分区索引,湖人对应分区 0,火箭对应分区 1,其他球队对应分区 2。在 Spark 中,RDD 是数据的集合,它会被划分成多个分区,这些分区可以分布在不同的计算节点上,就像图书馆的书架分布在不同的房间一样。
2025-05-14 08:07:48
795
原创 linux 里vi编辑器的使用
Vim 是 Linux 系统中常用的文本编辑器,它有三种主要模式:命令模式、插入模式和底线模式。在命令模式下按 i(insert)、a(append)或 o(open new line)等键进入插入模式。不直接输入文本,而是输入命令(如移动光标、删除、复制等)。从插入模式或底线模式按 Esc 键返回命令模式。插入模式用于文本编辑,编辑完成后需返回命令模式。底线模式用于执行高级命令,完成后返回命令模式。:q:退出(未保存时需加!命令模式是核心模式,用于切换到其他模式。在命令模式下按 : 键进入底线模式。
2025-05-07 09:16:38
238
原创 Spark及单机模式运行
在安装Spark时,它就提供了一些示例程序,我们可以直接来调用。进入到spark-local,运行命令spark-submit命令。mv是linux的命令,这里的 \ 是换行输入的意思,整体的代码就只有一句,只不过太长了,我们把它拆开成几个部分来输入,其中\ 的意思就是这里写不下,写在下一行。请注意,它并不会产生新的文件,而是直接在控制台输出结果。接下来的操作,我们把它上传到集群中的节点,并解压运行。1.打开etc/profile.d/my_env.sh文件中,补充设置spark的环境变量。
2025-05-07 09:15:19
216
原创 如何数据清洗
对于异常值,可以根据具体情况进行处理。在完成数据清洗后,对清洗后的数据进行验证,确保数据的准确性和一致性。对于数值型数据,可以使用均值、中位数、众数等统计量来填充缺失值。例如,对于年龄变量的缺失值,可以用该变量的均值来填充。了解数据的来源、格式、范围和含义,明确数据所包含的变量、观测值以及数据类型,比如是数值型、字符型还是日期型等。如果缺失值较少,可以考虑删除包含缺失值的行或列,但要注意这可能会导致数据量减少,影响分析结果的准确性。检查数据集中是否存在缺失值、重复值、错误值以及异常值等问题。
2025-05-07 09:14:07
143
原创 教你了解数据压缩
有损压缩则会在一定程度上牺牲数据的精度来换取更高的压缩比,适用于对数据质量损失有一定容忍度的场景,如图像、音频、视频等多媒体数据。即使你的MapReduce的输入输出文件都是未压缩的文件,你仍然可以对Map任务的中间结果输出做压缩,因为它要写在硬盘并且通过网络传输到Reduce节点,对其压缩可以提高很多性能,这些工作只要设置两个属性即可,我们来看下代码怎么设置。数据压缩是指在不丢失或尽可能少丢失数据信息的前提下,通过特定的算法和技术,对原始数据进行重新编码和处理,以减少数据存储空间或传输带宽的过程。
2025-05-07 09:13:11
817
原创 JAVA序列化和反序列化
下面我们来看一个例子:通过代码来定义一个类,并创建它的一个对象,把这个对象保存到文件中(序列化),然后再写代码读取这个文件并还原回来。而且“活的”对象只能由本地的进程使用,不能被发送到网络上的另外一台计算机。序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。在java中,对应的序列化和反序列化的方法是。
2025-05-07 09:07:42
238
原创 RDD创建方式
可以从多种外部数据源创建 RDD,像文本文件、JSON 文件、CSV 文件等。以下是从文本文件创建 RDD 的 Python 代码示例。方法,将一个已存在的集合(如 Python 的列表)转换为 RDD。综上所述,RDD 主要有从集合创建、从外部数据源创建以及从其他 RDD 转换得到这三种创建方式。你能够通过对已有的 RDD 应用转换操作,来创建新的 RDD。
2025-05-07 08:57:05
131
原创 hadoop集群的常用命令
hadoop fs -chown <owner>:<group> <path>: 修改文件所有者。- hadoop fs -chgrp <group> <path>: 修改文件所属组。- hadoop fs -chmod <mode> <path>: 修改文件权限。- hadoop fs -du -h <path>: 显示目录/文件大小。- hadoop fs -rm -r <path>: 递归删除目录。- hadoop fs -cp <src> <dst>: 复制文件。
2025-05-07 08:54:59
199
原创 【无标题】
双击winutils.exe 如果报如下错误说明缺少微软运行库,这个问题可以通过在:资料包里面有对应的微软运行库安装包双击安装来解决。hadoop集群我们配置好了,要与它进行交互,我们还需要准备hadoop的客户端。要分成两步:下载hadoop包、配置环境变量。1. 找到资料包路径下的Windows依赖文件夹,拷贝hadoop-3.1.0到非中文路径(比如d:\hadoop-3.1.0)2. 新建HADOOP_HOME环境变量,值就是保存hadoop的目录。请大家根据上面的步骤,自行配置,并验证。
2025-05-07 08:53:16
159
原创 在spark里通过jps命令,看到的进程
与 Spark 的 JobHistoryServer 类似,它收集 MapReduce 作业的运行信息,包括作业的提交时间、执行时间、任务的运行状态、输入输出统计等,以便用户可以查看过去运行的 MapReduce 作业的详细信息,用于分析作业性能、调试问题以及进行容量规划等。作用:是 HDFS 的核心组件,负责管理文件系统的命名空间,维护文件系统树以及文件树中所有的文件和目录的元数据信息,包括文件的权限、副本数量、数据块的位置等。作用:是 Spark 集群的主节点,负责管理整个集群的资源和任务调度。
2025-05-07 08:50:25
274
原创 一分钟教你认识spark
为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度器,叫作独立调度器。Spark:Spark Streaming 提供了强大的实时数据处理能力,它可以将实时数据流分割成小的批次进行处理,实现准实时的数据分析。此外,Spark 还支持 Structured Streaming,提供了更高级的、基于 SQL 的实时流处理模型,使得实时数据处理更加容易和高效。
2025-05-07 08:46:40
366
原创 在sheel中运行Spark ——RDD
在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。RDD的分区是RDD数据存储的最小单位。举个生活中的例子:高考的时候,每个班的同学都打散到不同的考场,此时的高3(8)班就是一个抽象的概念,在实际中,这个班级的学生可能分布在5个不同的考场。
2025-05-07 08:44:02
879
原创 在spark里通过jps命令,看到的进程
与 Spark 的 JobHistoryServer 类似,它收集 MapReduce 作业的运行信息,包括作业的提交时间、执行时间、任务的运行状态、输入输出统计等,以便用户可以查看过去运行的 MapReduce 作业的详细信息,用于分析作业性能、调试问题以及进行容量规划等。作用:是 HDFS 的核心组件,负责管理文件系统的命名空间,维护文件系统树以及文件树中所有的文件和目录的元数据信息,包括文件的权限、副本数量、数据块的位置等。作用:是 Spark 集群的主节点,负责管理整个集群的资源和任务调度。
2025-04-30 14:32:15
281
原创 YRAN定义
是 Hadoop 的资源管理系统,用于管理和调度集群中的计算资源。它使得多个应用程序可以共享集群资源,从而提高集群的利用率和资源的灵活性。:根据资源队列的配置和应用程序的需求,将资源分配给不同的应用程序。:管理和分配集群中的计算资源,如 CPU、内存等。:监控应用程序的运行状态,确保任务的正常执行。
2025-04-18 15:05:14
218
原创 hadoop三大组件的结构及各自的作用
HDFS 是 Hadoop 的分布式文件系统,用于存储和管理海量数据。它具有高容错性、高吞吐量和可扩展性,能够在多个节点上存储和管理大规模数据:采用主从架构,由一个 NameNode 和多个 DataNode 组成。NameNode 负责管理文件1统的元数据,DataNode 负责存储实际的数据.将大文件分割成多个固定大小的块(默认 128MB),并将这些块存储在不同的 DataNode 上,每个块会存储多个副本(默认 3 个副本),以提高数据的可靠性和容错性。
2025-04-18 15:03:35
624
转载 linux 里vi编辑器的使用
Vim 是 Linux 系统中常用的文本编辑器,它有三种主要模式:命令模式、插入模式和底线模式。在命令模式下按 i(insert)、a(append)或 o(open new line)等键进入插入模式。不直接输入文本,而是输入命令(如移动光标、删除、复制等)。从插入模式或底线模式按 Esc 键返回命令模式。插入模式用于文本编辑,编辑完成后需返回命令模式。底线模式用于执行高级命令,完成后返回命令模式。:q:退出(未保存时需加!命令模式是核心模式,用于切换到其他模式。在命令模式下按 : 键进入底线模式。
2025-03-05 08:37:58
53
转载 给虚拟机配置IP
如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。具体操作是:点击编辑→虚拟网络编辑器点击,属性,IP4协议,改成如下:这里要注意一下:VMware net work Adpater VMnet8是安装了Vm这个软件之后会自动产生的。(3)设置虚拟机的IP。具体设置为:进入虚拟机,修改对应的IP。linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!重启网络。
2025-03-05 08:21:21
30
原创 vm虚拟机安装过程
如果你点击下一步出现了这个页面的话,那就证明你电脑里面已经有vmware了,就可以直接用了,如果你想重新安装,直接删除就好,再重新打开安装程序继续安装。这里我就改成了Y盘(当然是我自己定义的Y:)新的盘符下可能没有vmware文件夹,可以自己新创建一个,这样可能会好管理一些哦!这里的路径还是可以改一下的,尽量自己记住,然后点击下一步下一步就好。到下面图片中的这一个步骤,可以点击许可证,输入密钥就可以使用了,下载完之后就可以点击下一步啦,这里按照提示的填写就好啦!安装完成后,虚拟机就会自动打开。
2025-02-21 15:19:07
138
原创 scala正则表达式特点方法
/reg1.findFirstIn("12365447879, 小明:15963248756,邮编:431264").toList.foreach(println)//^开头。//reg1.findFirstIn("12365447879").toList.foreach(println)//$结尾11个数字。//6.脱字符 ^ 如果在正则的最前面,表示,要匹配的内容必须在字符串的开头。//7.脱字符 $ 如果在正则的最后面,表示,要匹配的内容必须在字符串的结尾。//10.\D:表示除\d 之外的字符。
2024-12-12 09:29:20
1233
原创 scala例题梦想管理清单
1.使用 case class 定义 Dreamllem 类。它的属性有:内容,是否完成,截止日期,优先级。2.定义可变 Array 来保存 Dreamltem。7.把优先级排名前5的梦想保存到一个新的列表中。4.将第2个梦想设置为已完成。根据优先级进行从高到低排序6.5.调高第3个梦想的优先级。任务背景:梦想清单管理。8.循环输出梦想列表。
2024-11-19 16:29:54
274
原创 scala的List可变列表(ListBuffer)和不可变列表与Set和case的实例
【代码】scala的List可变列表(ListBuffer)和不可变列表与Set的实例。
2024-11-12 14:47:17
105
原创 Scala的控制方法作用域
修饰的成员可以被定义它们的类本身、该类的子类以及同一个包内的其他类访问。修饰的成员只能在定义它们的同一个对象实例内部访问。(5)privatep[package]访问权限。如果没有指定访问修饰符,成员默认是包私有的。修饰的成员只能被定义它们的包内的其他类访问。(4)private[this]访问权限。修饰的成员只能被定义它们的类本身访问。(2) protected访问权限。(3)private访问权限。只能在定义它们的包内访问。
2024-11-12 14:16:12
221
原创 scala的List可变列表(ListBuffer)和不可变列表实例演示
【代码】scala的List可变列表(ListBuffer)和不可变列表实例演示。
2024-11-07 08:52:36
157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人