自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 在Idea中编写Spark程序并运行

安装Scala的操 作,也是一路默认安装即可。(2) 打开命令提示符(CMD),输入以下命令:scala -version 如果显示Scala 的版本信息,说明安装成功。前面我们搭建好三种不同的集群,但是还没有开始学习Spark的核心内容,接下来,我们会使用Idea编辑器来写代码运行Spark程序,为我们后续的学习打好基础。Spark是基于scala的,当然它也可以支持java和scala还有python语言,我们这里会使用scala。IDEA中,默认是不支持编写Scala的,需要额外配置一个插件。

2025-05-13 10:04:34 726

原创 Spark处理过程-转换算子

它的核心作用是对具有相同键的所有值进行聚合操作,通过用户提供的聚合函数将这些值合并成一个结果,从而实现数据的归约和统计。作用:对 RDD 中的每个元素应用给定的函数 f,将每个元素转换为另一个元素,最终返回一个新的 RDD。作用:筛选出 RDD 中满足函数 f 条件(即 f 函数返回 true)的元素,返回一个新的 RDD,新 RDD 中的元素类型与原 RDD 相同。作用:对 RDD 中的每个元素应用函数 f,函数 f 返回一个可遍历的集合,然后将这些集合中的元素扁平化合并成一个新的 RDD。

2025-05-13 09:56:58 439

原创 Spark处理过程-行动算子

行动算子是触发 Spark 计算的“触发点”,因为 Spark 的 RDD 是懒惰计算的,只有在执行行动算子时,才会真正开始计算。它会触发 Spark 作业的实际执行,对 RDD 中的所有元素进行计数,并将最终的计数结果返回给驱动程序。f: T => Unit:这是一个函数,它接收一个类型为 T 的元素(T 为 RDD 中元素的类型),并对该元素执行相应的操作,但不返回任何值(返回类型为 Unit)。返回值:返回一个包含 RDD 中所有元素的数组,数组元素的类型与 RDD 中元素的类型一致。

2025-05-13 09:54:30 358

原创 Spark处理过程-案例数据清洗

以下是 10 条符合上述示例中数据格式(姓名,年龄,性别)的测试数据,包含了一些可能需要清洗掉的无效数据,你可以将其保存为一个文本文件,用于测试上面的数据清洗程序。这里面:“李四” 的年龄为空,“赵六” 和 “吴九” 的年龄不是有效的数字,在执行数据清洗程序时,这些行应该会被过滤掉。假设你有一个包含用户信息的文本文件,每行格式为 姓名,年龄,性别,需要清洗掉年龄为空或者非数字的行。过滤算子中,函数返回为false,就会被过滤掉,函数返回为true,就会被保留下来。【老师一边写整体的注释,一边引导同学回答】

2025-05-13 09:52:04 248

原创 Spark缓存

当持久化某个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此RDD或衍生出的RDD进行的其他动作中重用。MEMORY_ONLY_SER:将 RDD 以序列化的 Java 对象形式存储在内存中,相较于 MEMORY_ONLY,序列化后占用的内存空间更小,但读取时需要进行反序列化操作,会带来一定的性能开销。RDD通过persist方法或cache方法可以将前面的计算结果缓存,但是并不是这两个方法被调用时立即缓存,而是触发后面的行动算子时,该RDD将会被缓存在计算节点的内存中,并供以后重用。

2025-05-13 09:49:29 280

原创 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 09:15:14 311

原创 Spark缓存-cache

2025-05-13 09:13:16 280

原创 RDD的运行过程

2025-05-13 09:12:01 93

原创 spark MySQL数据库配置

在Spark中连接MySQL数据库并进行数据读写操作,需要完成以下步骤:1. 环境准备安装Spark:确保已经安装了Apache Spark,并配置好环境变量。安装MySQL:安装MySQL数据库,并创建好需要操作的数据库和表。下载MySQL JDBC驱动:下载MySQL的JDBC驱动包(例如mysql-connector-java-8.0.31.jar),并将其放置到Spark的jars目录下。2. 配置Spark连接MySQL(1)初始化SparkSession。

2025-05-13 08:46:15 209

原创 Hadoop和Spark生态系统

1.来源:Hadoop MapReduce 的 历史任务服务器,由 mr-jobhistory-daemon.sh start historyserver 启动。1.来源:Spark 集群的 工作节点(Worker Node),由 start-worker.sh 启动。1.来源:Spark 的 历史任务服务器,由 start-history-server.sh 启动。1.来源:Hadoop HDFS 的 数据节点,由 start-dfs.sh 启动。②接收客户端提交的任务,分配给 Worker 执行。

2025-05-13 08:38:42 177

原创 RDD算子转换算子和行动算子的区别

执行方式转换算子:延迟执行,返回一个新的RDD,记录操作逻辑。行动算子:立即执行,触发所有之前的转换操作,计算出最终结果。返回值转换算子:返回一个新的RDD。行动算子:返回一个非RDD的结果,如一个值、一个集合、一个文件等。用途转换算子:用于数据的转换和处理。行动算子:用于获取最终结果。

2025-05-07 15:47:21 383

原创 了解大数据

二、大数据的应用场景:视频推荐、电商推荐等。阶段2:大数据时代-分布式处理。三、大数据的技术发展脉络。阶段3:实时大数据时代。六、Hadoop的优势。

2025-05-07 14:28:48 209

原创 jps问题答案

来源: NameNode 运行在主节点 (Master) 上,通常通过 start-dfs.sh 或者 start-all.sh 启动脚本启动。功能: DataNode 是实际存储数据块的工作节点,分布在集群的多个 Slave 节点上。功能: NodeManager 是 YARN 下属的一个子模块,专注于单个节点上的容器生命周期管理和服务监控。来源:History Server 则是用来存储已完成应用程序的日志文件,并提供一种机制让用户能够回顾过去作业的表现情况。4、 Master 进程。

2025-05-06 09:41:08 418

原创 如何在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-04-28 19:52:34 214

原创 如何搭建spark yarn模式的集群

Spark 的 Driver 可以运行在 YARN 容器内或提交任务的客户端进程中,而实际执行任务的 Executor 运行在 YARN 提供的容器内。Cluster 模式: 在这种模式下,Driver 运行在 YARN 集群中的一个容器内,通常用于生产环境。Client 模式: 在这种模式下,Driver 运行在客户端机器上,这通常用于学习和测试环境。在 client 模式下,日志会随客户端的标准输出流输出,而在 cluster 模式下,客户端不会有日志信息和结果输出。

2025-04-28 19:50:11 444

原创 spark-standalone模式

进入到hadoop100机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。6.进入/opt/module/spark-standalone/conf这个目录,修改workers.template文件,将后缀名去掉,然后点进去,添加下列内容。一、定义:Standalone 模式是一种独立的集群部署模式,自带完整服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。11.查看启动效果。8.同步设置完毕的Spark目录到其他节点。

2025-04-22 11:23:27 268

原创 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-04-22 10:34:11 277

原创 spark和hadoop之间的对比与联系

Hadoop和Spark都是处理大规模数据集的分布式系统,但它们在设计理念、性能和使用场景上有显著的区别。核心设计与实现原理Hadoop是一个分布式管理、存储、计算的生态系统,包括HDFS(存储)、MapReduce(计算)、Yarn(资源调度)。Hadoop的MapReduce模型依赖于磁盘存储,进行计算时需要多次从磁盘读取数据,处理后再写回磁盘,这导致了较高的延迟和I/O开销。Spark则是一个基于内存的快速、通用、可扩展的大数据分析引擎,使用Scala语言编写。

2025-04-22 08:30:45 408

原创 案例-流量统计

然后在java包下创建包com和flow包下创建四个包分别为:FlowBean,切记记得自己准备一个包下面输入自己想要的文件数据文件名如log。3.1.0然后点击右边Maven刷新进行解析依赖项,等它完成。首先咋们创建一个新的项目随便怎么命名比如:sdshf都可以。然后进入pom.xml里面在里面下载。

2025-04-15 10:17:52 295

原创 序列化和反序列化(hadoop)

【代码】序列化和反序列化(hadoop)

2025-04-15 08:06:56 119

原创 序列化和反序列化(Java)

【代码】序列化和反序列化(Java)

2025-04-15 08:06:04 97

原创 自定义分区器

/如果Key1和Key2的code相同,那么他们会被分配到同一个分区,保存到同一个文件。//产生结果的时候,会用3个文件来保存。在“// 6. 设置输入和输出路径。//如果单词是以a~m开头,那么会被分配到第一个分区。1.在WordCountDriver里面将链接集群注释了。//设置reduceTask的数量。//返回值是0,1,2.....//否则,就分配到第二个分区。//2.重写getPartition方法。//1.获取单词首字符。// 设置自定义分区器。//1.继承Partitioner类。

2025-04-09 14:26:23 337

原创 大数据(数据清洗)

/ 1. 获取一行数据,使用空格进行拆分,判断是否有8个字段。// 这条数据是无意义的,不保留。// 这条数据是有意义的,保留。// 设置reducetask个数为0。一、先修改pom.xml,在后面添加下面代码。// 5 设置输入和输出路径。// 4 设置最终输出类型。// 2 加载jar包。// 3 关联map。二、创建WebLogMapper类。三、创建WebLogDriver类。// 1 获取job信息。

2025-04-09 14:23:16 661

原创 mapreduce的工作原理

Reduce 阶段: 输入:Reduce 阶段接收 Shuffle 阶段处理后的数据。处理:Reduce 函数对相同键的值进行合并计算,生成最终结果。输出:Reduce 函数的输出是最终结果,通常存储在 HDFS 中^1^。Map 阶段: 输入:Map 阶段接收输入数据,通常是键值对(key-value pairs)。输出:Map 函数的输出是新的键值对,这些中间结果将传递给 Reduce 阶段^1^。Shuffle 阶段: 分区:将 Map 阶段的输出数据进行分区,每个分区对应一个 Reduce 任务。

2025-04-01 10:21:23 223

原创 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-01 10:14:19 204

原创 虚拟机的网络连接

如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。具体操作是:点击编辑→虚拟网络编辑器让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。具体操作如下:选择控制面板 → 网络连接 → VMware network Adapter Vmnet8点击,属性,IP4协议,改成如下:P4地址:192.168.10.1IPV4网关:192.168.10.2。

2025-02-26 15:50:03 276

原创 linux的问题

命令

2025-02-26 15:45:04 110

原创 编译器(vi)

命令模式:在这个模式下,所敲按键编译器都理解为命令,以命令来驱动执行不同的功能。i:进入编辑模式(此时键盘可以正常打字)(i、a、o)2.nyy复制当前行往下n行内容。底线命令系统:以:开始通常用于文件的保存并退出。vi a.txt:创建/打开(进入命令模式)esc:退出编辑模式(回到命令模式)4.按下G键可以跳到文件的最后一行。编辑模式:此时我们可以修改文件。5.按下gg键跳到文件的第一行。wq:保存编辑内容(保存退出)1.yy复制光标所在行的内容。1.p在当前行的下一行粘贴。

2025-02-25 11:19:32 369

原创 Linux创造命令系统

如:echo 111 >a.txt,会把111写入,a.txt这个文件中,把之前内容删除掉。把1.txt 2.txt 3.txt压缩到test.tar文件中。示例:把file1.txt 复制一份得到file2.txt。echo 111 >>a.txt,会把111追加到,a.txt这个文件中。命令:tar -cvf test.tsr 1.txt 2.txt 3.txt。参数:-c :从建立一个压缩文件,把多个文件或者文件夹压缩袋一个新的文件中,3.more -tail:查看文件的结尾部分的内容。

2025-02-25 11:15:21 439

原创 Linux命令操作

rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认,请一定要使用。3.mkdir -p 命令:创建目录,如果父级目录不存在,就建一个父级目录。1.ls:列出目录内容,包括参数-l(详细列表)、-a(显示隐藏文件)2. ll -a命令,显示当前的目录下的文件,包括隐藏文件。2.mkdir命令:创建目录。1. ll命令,用来显示当前的目录下的文件。3. ~波浪线,当前用户的home目录。1.touch命令:创建一个空文件。3.cd命令,用来进入指定的目录。4.删除目录无需用户确认。

2025-02-25 11:03:22 260

原创 一分钟教会你创建虚拟机

第二步:进入vm创建虚拟机,然后打开编辑虚拟机设置找到CD/DVD(IDE),勾选设备状态启动时连接并保存。第三步:开启虚拟机等待下载虚拟机完整进入虚拟机更改中文,然后创建账号root设置密码,完成之后进行开机回车。第三步:进入操作系统里输出root回车,输入密码回车,然后就进入系统进行后续操作。

2025-02-19 15:12:17 314

原创 Scala的隐式类

【代码】Scala的隐式类。

2024-12-11 17:09:48 278

原创 Scala求阶乘

【代码】Scala求阶乘。

2024-12-11 17:09:16 458

原创 Scala隐式对象

【代码】Scala隐式对象。

2024-12-11 17:07:10 285

原创 期末题目之一Scala

【代码】期末题目之一Scala。

2024-12-11 17:06:40 560

原创 Scala的泛型

【代码】Scala的泛型。

2024-12-11 17:06:06 372

原创 Scala中的正则表达式

【代码】Scala中的正则表达式。

2024-12-04 17:03:31 101

原创 Scala匹配for表达式

【代码】Scala匹配for表达式。

2024-12-04 16:49:20 114

原创 Scala变量声明中的模式匹配

【代码】Scala变量声明中的模式匹配。

2024-12-04 16:48:00 115

原创 Scala高阶匹配之匹配到对应的类

【代码】Scala高阶匹配之匹配到对应的类。

2024-12-04 16:47:24 326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除