- 博客(85)
- 收藏
- 关注
原创 RDD算子—运动算子
4.repartition算子和coalesce算子。2.foreachPartition算子。1.mapPartitions算子。6.redueceByKey算子。5.takeOrdered算子。3.partitionBy算子。1.mapValues算子。8.groupByKey算子。10.sortByKey算子。1.countByKey算子。4.foreach算子。3.distinct算子。2.flatMap算子。2.groupBy算子。2.collect算子。3.filter算子。
2025-05-13 10:41:28
322
原创 在sheel中运行Spark ——RDD
在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。RDD的分区是RDD数据存储的最小单位。举个生活中的例子:高考的时候,每个班的同学都打散到不同的考场,此时的高3(8)班就是一个抽象的概念,在实际中,这个班级的学生可能分布在5个不同的考场。
2025-05-13 10:38:41
824
原创 spark的安装以及单机模式的运行
在安装Spark时,它就提供了一些示例程序,我们可以直接来调用。进入到spark-local,运行命令spark-submit命令。mv是linux的命令,这里的 \ 是换行输入的意思,整体的代码就只有一句,只不过太长了,我们把它拆开成几个部分来输入,其中\ 的意思就是这里写不下,写在下一行。请注意,它并不会产生新的文件,而是直接在控制台输出结果。接下来的操作,我们把它上传到集群中的节点,并解压运行。1.打开etc/profile.d/my_env.sh文件中,补充设置spark的环境变量。
2025-05-13 10:33:07
220
原创 Spark处理过程-案例数据清洗
以下是 10 条符合上述示例中数据格式(姓名,年龄,性别)的测试数据,包含了一些可能需要清洗掉的无效数据,你可以将其保存为一个文本文件,用于测试上面的数据清洗程序。这里面:“李四” 的年龄为空,“赵六” 和 “吴九” 的年龄不是有效的数字,在执行数据清洗程序时,这些行应该会被过滤掉。假设你有一个包含用户信息的文本文件,每行格式为 姓名,年龄,性别,需要清洗掉年龄为空或者非数字的行。过滤算子中,函数返回为false,就会被过滤掉,函数返回为true,就会被保留下来。【老师一边写整体的注释,一边引导同学回答】
2025-05-13 10:28:10
150
原创 Spark处理过程-转换算子
它的核心作用是对具有相同键的所有值进行聚合操作,通过用户提供的聚合函数将这些值合并成一个结果,从而实现数据的归约和统计。作用:对 RDD 中的每个元素应用给定的函数 f,将每个元素转换为另一个元素,最终返回一个新的 RDD。作用:筛选出 RDD 中满足函数 f 条件(即 f 函数返回 true)的元素,返回一个新的 RDD,新 RDD 中的元素类型与原 RDD 相同。作用:对 RDD 中的每个元素应用函数 f,函数 f 返回一个可遍历的集合,然后将这些集合中的元素扁平化合并成一个新的 RDD。
2025-05-13 10:25:51
796
原创 三分钟教你学会数据清洗
对于异常值,可以根据具体情况进行处理。在完成数据清洗后,对清洗后的数据进行验证,确保数据的准确性和一致性。对于数值型数据,可以使用均值、中位数、众数等统计量来填充缺失值。例如,对于年龄变量的缺失值,可以用该变量的均值来填充。了解数据的来源、格式、范围和含义,明确数据所包含的变量、观测值以及数据类型,比如是数值型、字符型还是日期型等。如果缺失值较少,可以考虑删除包含缺失值的行或列,但要注意这可能会导致数据量减少,影响分析结果的准确性。检查数据集中是否存在缺失值、重复值、错误值以及异常值等问题。
2025-05-13 10:21:52
159
原创 如何配置HADOOP_HOME环境变量
生命周期:Maven 定义了一套标准的项目构建生命周期,主要包括 `clean`、`default` 和 `site` 三个生命周期。每个生命周期由多个阶段(phase)组成,例如 `default` 生命周期包含 `compile`、`test`、`package`、`install`、`deploy` 等阶段。Maven 可以帮助你管理这些依赖项,你只需在项目的 `pom.xml` 文件中声明所需的依赖,Maven 就会自动从远程仓库下载这些依赖项,并将其添加到项目的类路径中。
2025-05-13 10:19:59
1064
原创 教你如何创建Maven项目
步骤一:打开 IDEA,点击 File -> Settings(Windows/Linux)或者 IntelliJ IDEA -> Preferences(Mac),进入设置界面,然后找到 Build, Execution, Deployment -> Build Tools -> Maven。步骤三:可以在 User settings file 中指定 settings.xml 文件的路径(一般使用默认路径即可),Local repository 中指定本地仓库的路径,配置完成后点击 OK 保存设置。
2025-05-13 10:12:32
871
原创 一分钟教你学会Yarn
通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源, 这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。队列内部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部,资源的调度是采用的是先进先出(FIFO)策略。但是实际中,资源是有限的,并且在繁忙的群集上, 应用程序通常将需要等待其某些请求得到满足。现在,如果B用户在其他作业仍在运行时开始第二个作业,它将与B的另一个作业共享其资源,因此B的每个作业将拥有资源的四分之一,而A的继续将拥有一半的资源。
2025-05-13 10:06:35
815
原创 一分钟教你认识spark
为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度器,叫作独立调度器。Spark:Spark Streaming 提供了强大的实时数据处理能力,它可以将实时数据流分割成小的批次进行处理,实现准实时的数据分析。此外,Spark 还支持 Structured Streaming,提供了更高级的、基于 SQL 的实时流处理模型,使得实时数据处理更加容易和高效。
2025-05-13 09:59:48
740
原创 在spark里通过jps命令,看到的进程
与 Spark 的 JobHistoryServer 类似,它收集 MapReduce 作业的运行信息,包括作业的提交时间、执行时间、任务的运行状态、输入输出统计等,以便用户可以查看过去运行的 MapReduce 作业的详细信息,用于分析作业性能、调试问题以及进行容量规划等。作用:是 HDFS 的核心组件,负责管理文件系统的命名空间,维护文件系统树以及文件树中所有的文件和目录的元数据信息,包括文件的权限、副本数量、数据块的位置等。作用:是 Spark 集群的主节点,负责管理整个集群的资源和任务调度。
2025-05-13 09:57:10
789
原创 Spark缓存
当持久化某个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此RDD或衍生出的RDD进行的其他动作中重用。MEMORY_ONLY_SER:将 RDD 以序列化的 Java 对象形式存储在内存中,相较于 MEMORY_ONLY,序列化后占用的内存空间更小,但读取时需要进行反序列化操作,会带来一定的性能开销。RDD通过persist方法或cache方法可以将前面的计算结果缓存,但是并不是这两个方法被调用时立即缓存,而是触发后面的行动算子时,该RDD将会被缓存在计算节点的内存中,并供以后重用。
2025-05-13 09:52:39
892
原创 Spark基础介绍
为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度器,叫作独立调度器。Spark:Spark Streaming 提供了强大的实时数据处理能力,它可以将实时数据流分割成小的批次进行处理,实现准实时的数据分析。这里的 \ 是换行输入的意思,整体的代码就只有一句,只不过太长了,我们把它拆开成几个部分来输入,其中\ 的意思就是这里写不下,写在下一行。
2025-05-13 09:00:54
278
原创 运行Spark程序-在shell中运行
通过 SparkConf 类,你可以设置应用程序的名称、运行模式(如本地模式、集群模式)、资源分配(如内存、CPU 核心数)等。通过 SparkContext,你可以创建 RDD(弹性分布式数据集)、累加器、广播变量等,还可以与外部数据源进行交互。上面的代码中,我们用到了两个特殊的类来创建spark上下文,分别是SparkConf,SparkContext。// 将元组的value按照key来分组,对所有的value执行聚合操作(相加)// 将单词转换为元组对象,key是单词,value是数字1。
2025-05-13 08:51:26
763
原创 自定义分区器
/如果Key1和Key2的code相同,那么他们会被分配到同一个分区,保存到同一个文件。//产生结果的时候,会用3个文件来保存。在“// 6. 设置输入和输出路径。//如果单词是以a~m开头,那么会被分配到第一个分区。1.在WordCountDriver里面将链接集群注释了。//设置reduceTask的数量。//返回值是0,1,2.....//否则,就分配到第二个分区。//2.重写getPartition方法。//1.获取单词首字符。// 设置自定义分区器。//1.继承Partitioner类。
2025-05-12 19:33:56
259
原创 mapreduce的工作原理
Reduce 阶段: 输入:Reduce 阶段接收 Shuffle 阶段处理后的数据。处理:Reduce 函数对相同键的值进行合并计算,生成最终结果。输出:Reduce 函数的输出是最终结果,通常存储在 HDFS 中^1^。Map 阶段: 输入:Map 阶段接收输入数据,通常是键值对(key-value pairs)。输出:Map 函数的输出是新的键值对,这些中间结果将传递给 Reduce 阶段^1^。Shuffle 阶段: 分区:将 Map 阶段的输出数据进行分区,每个分区对应一个 Reduce 任务。
2025-05-12 19:32:14
188
原创 RDD算子-行动算子和转换算子的区别
转换算子是对RDD进行操作后返回一个新的RDD的算子。它是一种延迟计算的操作,即只有在触发行动算子时,转换算子才会真正执行。
2025-05-07 15:47:38
359
原创 spark-local模式
通过mv spark-3.3.1-bin-hadoop3 spark-local这个命令将解压后的文件夹改成spark-local(重命名是为了后续我们还会使用其他的配置方式,所以这里先重命名一次。三、通过tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module/这个命令将spark安装文件到/opt/module下。二、通过finalshell连接虚拟机,连接成功后打开/opt/software,将我们的压缩文件拉到这个目录下。一、首先打开我们的虚拟机。
2025-05-06 10:00:02
213
原创 spark-standalone模式
进入到hadoop100机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。6.进入/opt/module/spark-standalone/conf这个目录,修改workers.template文件,将后缀名去掉,然后点进去,添加下列内容。一、定义:Standalone 模式是一种独立的集群部署模式,自带完整服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。11.查看启动效果。8.同步设置完毕的Spark目录到其他节点。
2025-05-06 09:57:58
210
原创 如何搭建spark yarn模式的集群
Spark 的 Driver 可以运行在 YARN 容器内或提交任务的客户端进程中,而实际执行任务的 Executor 运行在 YARN 提供的容器内。Cluster 模式: 在这种模式下,Driver 运行在 YARN 集群中的一个容器内,通常用于生产环境。Client 模式: 在这种模式下,Driver 运行在客户端机器上,这通常用于学习和测试环境。在 client 模式下,日志会随客户端的标准输出流输出,而在 cluster 模式下,客户端不会有日志信息和结果输出。
2025-05-06 09:45:52
326
原创 如何在idea中写sprak程序
在IntelliJ IDEA中使用Spark技术可以帮助你更高效地进行大数据处理和分析。通过以上步骤,你可以在IntelliJ IDEA中成功配置并运行Spark程序。安装IntelliJ IDEA:下载并安装IntelliJ IDEA1。安装Scala:下载并安装Scala 2.12.15,并配置环境变量1。安装Maven:下载并安装Maven 3.5.4,并配置环境变量1。安装Scala插件:在IDEA中安装Scala插件2。安装JDK:下载并安装JDK 1.81。
2025-05-06 09:44:30
168
原创 spark和Hadoop之间的对比与联系
例如,在一个数据仓库项目中,Hadoop可以用于存储和管理海量的历史数据,Spark可以用于对这些数据进行快速的分析和处理,生成实时的报表和指标。在这种场景下,数据的处理时间可以接受较长,而Hadoop的高可靠性和高扩展性能够保证任务的顺利完成。例如,在金融领域,需要实时监控交易数据,及时发现异常交易行为,Spark可以快速处理这些数据并给出结果。Spark的生态系统丰富,集成了多种工具和库,如Spark SQL、Spark Streaming、MLlib等,方便开发者根据不同的需求选择合适的工具。
2025-04-22 10:05:52
545
原创 案例:数据统计
然后在java包下创建包com和flow包下创建四个包分别为:FlowBean,切记记得自己准备一个包下面输入自己想要的文件数据文件名如log。首先咋们创建一个新的项目随便怎么命名比如:shutongji都可以。3.1.0然后点击右边Maven刷新进行解析依赖项,等它完成。然后进入pom.xml里面在里面下载。
2025-04-15 10:31:36
262
原创 Hadoop集群的常用命令
文件权限管理: hdfs dfs -chmod permissions hdfs_path hdfs dfs -chown owner:group hdfs_path 修改 HDFS 文件的权限和所有者。合并下载: hdfs dfs -getmerge hdfs_source_path local_destination_file 将 HDFS 中的多个文件合并后下载到本地。查看文件内容: hdfs dfs -cat hdfs_file_path 查看 HDFS 中某个文件的内容。
2025-04-08 08:01:33
149
原创 Linux vi 命令和操作
%s/\(\%.\)\@<=abc/xyz/:替换字符串,仅在字符串后跟abc时。:%s/old/new/g:替换文件中所有的“old”为“new”。:%s/old/new/g:替换文件中所有的“old”为“new”。:%s/old/new:替换每行中的第一个“old”为“new”。:%s/\(.\{-}\)/\1\1/g:将每个单词翻倍。:%s/old/new/g:在整个文件中替换文本。:%s/\(.*\)/\1\1/g:将每一行翻倍。:g/old/p:打印包含“old”的所有行。
2025-03-03 19:26:49
627
原创 虚拟机配置IP
linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。配置Windows本地虚拟网卡,让本机也可以访问虚拟机。具体设置为:进入虚拟机,修改对应的IP。(3)设置虚拟机的IP。
2025-02-26 15:57:06
322
原创 linux常用命令
以长格式显示,包含文件权限、所有者、大小等信息。:递归创建目录,如果父目录不存在,会一并创建。:按修改时间排序,最近修改的文件排在前面。配合使用,以更易读的方式显示文件大小。注意:使用时要谨慎,删除后很难恢复。:显示所有文件,包括隐藏文件(以。,列出当前目录下的文件和目录。:切换到当前用户的主目录。:切换回上一次所在的目录。,显示当前所在的目录路径。表示递归删除目录及其内容。,将文件内容输出到终端。
2025-02-26 15:46:16
213
原创 一分钟教你安装和新建虚拟机
(5)选择客户机操作系统为“ Linux” ,选择版本 为“CentOS7 64”,点击“下一步”。(9)选择默认“使用网络地址转换(NAT)(E)”,不用修改,直接点击“下一步”。(13)输入“最大磁盘大小”,取消勾选“立即分配所有磁盘空间”,点击“ 下一步”。(10)选择默认的“LSI Logic(L) (推荐)”,继续点击“下一步”。(11)选择默认“SCSI(S) (推荐)”,继续点击“下一步”。(2)选择“自定义(高级)(C)” ,点击“下一步”。(3)点击“下一步”。
2025-02-25 11:25:49
285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅