- 博客(37)
- 收藏
- 关注
原创 Spark集群搭建-Standalone
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk # 替换为实际路径。export SPARK_MASTER_IP=master_hostname # 主节点主机名/IP。- 官网下载对应版本(如 spark-3.5.0-bin-hadoop3 ),上传至主节点。- 主节点Web界面: http://master_ip:8080 ,查看从节点是否在线。ssh-copy-id slave1 # 替换为从节点主机名/IP。2. 分发Spark到从节点。
2025-05-14 08:38:38
450
原创 Hadoop中的序列化和反序列化
hosts 文件是一个本地的文本文件,它的作用是将主机名(www.douyin.com)映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。在记事本中选择 “文件” -> “打开”,在 “文件类型” 中选择 “所有文件”,定位到 C:\Windows\System32\drivers\etc 目录,选择 hosts 文件并打开。在系统窗口中,点击 “更改设置”,在弹出的 “系统属性” 窗口中,切换到 “计算机名” 选项卡。
2025-05-14 08:16:04
533
原创 Spark中Maven的用法
例如,在单词计数的例子中,输入文本被分割成单词,每个单词作为键,值为 1,表示出现一次。归约操作:每个 Reduce 任务会接收来自不同 Map 任务的相同键的中间结果,Reduce 函数会对这些结果进行合并和处理,最终生成最终的输出结果 <output_key, output_value>。MapReduce 主要由两个阶段组成:Map 阶段和 Reduce 阶段,此外还有一些辅助步骤,整体流程包括输入数据、Map 任务、Shuffle 和 Sort(洗牌与排序)、Reduce 任务、输出结果。
2025-05-14 08:14:56
253
原创 RDD 案例 - 数据清洗
上述代码中,先创建包含脏数据的 RDD,然后通过 filter 算子过滤掉成绩为负数和缺失值的数据,再通过 map 算子整理数据格式,完成数据清洗。假设有一个包含学生成绩信息的 RDD,数据格式为 (学生 ID, 课程名,成绩) ,其中存在一些成绩为负数(不合理值)和缺失值(null)的数据。数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序 ,包括检查数据一致性,处理无效值和缺失值等。
2025-05-09 15:19:06
130
原创 RDD 算子 - 转换算子 2
RDD(Resilient Distributed Datasets,弹性分布式数据集 )是 Spark 中用于处理大规模数据的核心数据结构。转换算子用于对 RDD 进行转换,生成新的 RDD。
2025-05-09 15:09:08
204
原创 如何在idea中学spark代码
master("local[*]") // 本地模式,使用所有可用核心。程序运行时访问http://localhost:4040查看Spark UI。确保包含所有依赖或使用spark-submit的--packages选项。类路径问题:确保所有Spark依赖项范围设置为provided或正确打包。版本冲突:保持Scala版本与Spark的Scala版本一致。Scala插件 (如果使用Scala编写Spark程序)使用.master("local[*]")在本地运行。使用Maven或SBT打包项目。
2025-05-09 14:58:29
361
原创 【无标题】如何在sheel中运行Spark
/ 将元组的value按照key来分组,对所有的value执行聚合操作(相加)// 将单词转换为元组对象,key是单词,value是数字1。// 将单词进行切割,得到一个存储全部单词的RDD。// 收集RDD的数据并打印输出结果。// 读取文件,得到RDD。
2025-05-09 14:57:05
340
原创 RDD介绍
Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算 的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。val distData = sc.parallelize(data, 2) // 第二个参数是分区数。// 通过 parallelize 方法将本地集合转换为 RDD。// 创建 SparkConf 和 SparkContext。// 创建 SparkConf 和 SparkContext。// 创建一个本地集合。
2025-05-09 14:55:42
266
原创 集群免密登录
在hadoop100上,运行命令:ssh-keygen -t rsa。它会在当前用户目录(/root)下生成一个.ssh的文件夹,并创建了两个文件。这里专门有一个命令ssh-copy-id。它的格式是: ssh-copy-id 目标机器。这里的id_rsa就是私钥,id_rsa.pub就是公钥。在hadoop100上,输入ssh hadoop101命令,看看是否可以免密登录?在hadoop100上登录hadoop101,验证效果。把hadoop100的公钥发到hadoop101上。
2025-05-09 14:54:43
186
原创 转换算子和行动算子的区别
通过以上分析可以看出,转换算子和行动算子在Spark中扮演着不同的角色。转换算子负责逻辑构建,而行动算子负责触发计算并返回结果。理解它们的区别有助于更好地设计和优化Spark程序。转换算子(Transformation)和行动算子(Action)是Spark中RDD(弹性分布式数据集)操作的两种主要类型,它们在功能、执行方式以及返回结果上存在显著区别。
2025-05-09 14:50:59
356
原创 配置yam模式,写代码连接数据库,写回数据库
我将提供使用 Scala 语言在 YARN 模式下配置 Spark,连接数据库并将处理后的数据写回数据库的代码示例。这里以 MySQL 数据库为例,并且使用 Spark 的 DataFrame API 进行数据处理。spark-yarn-db-connection在 YARN 模式下使用 Spark 连接数据库并写回数据的 Scala 代码V1生成 spark_yarn_db_connection.scala。
2025-05-07 08:56:22
585
原创 Spark 配置 YARN
确保你已经安装并配置好了 Hadoop YARN 集群,同时安装了 Spark。Hadoop 和 Spark 的版本要相互兼容。通过以上步骤,你就能在 Spark 中成功配置 YARN 并运行 Spark 应用了。要是配置无误,这个示例应用会在 YARN 集群上运行并输出计算结果。替换成你实际的 Hadoop 配置目录。如果该文件不存在,可以复制。文件位于 Spark 的。在 Hadoop 的。
2025-05-07 08:45:31
413
原创 什么是RDD,有哪几种创建方式
从并行集合创建:可以将本地的集合(如 Scala 中的数组、列表等)并行化创建 RDD。示例代码:val data = Array(1, 2, 3, 4, 5);RDD 具有容错性,可在集群中弹性分布存储和计算,允许用户在大规模数据集上进行各种并行计算操作,比如转换(transformation)和动作(action)。例如从 HDFS 读取文本文件创建 RDD,在 Scala 中代码为val rdd = sc.textFile("hdfs://path/to/file")。
2025-05-07 08:36:02
240
原创 vm和centos
选择 “Linux” 操作系统,版本根据你下载的 CentOS 版本进行选择,如 “CentOS 7 64 位”,点击 “下一步”。选择 “安装程序光盘映像文件(ISO)”,点击 “浏览” 按钮,找到之前下载好的 CentOS 镜像文件,选择后点击 “下一步”。可以选择默认的安装位置,也可以点击 “更改” 按钮,指定其他磁盘路径进行安装,设置完成后点击 “下一步”。在弹出的 “新建虚拟机向导” 中,选择 “典型(推荐)”,然后点击 “下一步”。选择安装语言,一般选择 “中文(简体)”,点击 “继续”。
2025-05-07 08:17:55
394
原创 spark和hadoop之间的对比和联系
例如,在机器学习和图计算等需要多次迭代的算法中,Spark 可以显著减少计算时间。Hadoop:Hadoop MapReduce 基于磁盘进行数据处理,数据在 Map 和 Reduce 阶段会频繁地写入磁盘和读取磁盘,这使得数据处理速度相对较慢,尤其是在处理迭代式算法和交互式查询时,性能会受到较大影响。Hadoop:Hadoop 的 MapReduce 编程模型相对较为底层和复杂,开发人员需要编写大量的代码来实现数据处理逻辑,尤其是在处理复杂的数据转换和多阶段计算时,代码量会非常庞大,开发和维护成本较高。
2025-05-07 08:14:28
140
原创 配置spark
它会记录每个应用程序的资源使用情况,优先为资源使用较少的应用程序分配资源,以保证每个应用程序都能公平地获取资源。核心原理:将集群资源划分为多个独立的队列,每个队列都有一定的资源容量,并且可以设置资源的最大和最小使用量。支持多计算框架:它为不同的计算框架提供了一个通用的资源管理平台,使得多种计算框架可以在同一个集群上共存和运行,提高了集群的利用率和灵活性。核心原理:按照应用程序提交的先后顺序依次调度,先提交的应用程序先获得资源并执行,直到该应用程序完成后,才会为下一个应用程序分配资源。
2025-05-07 08:10:06
370
原创 如何搭建spark yarn模式的集群
软件:确保所有节点安装了相同版本的 Java(建议 Java 8 或更高版本)和 Hadoop(包含 YARN)。网络问题:确保所有节点之间网络连通,防火墙允许 Hadoop 和 Spark 相关端口通信。权限问题:确保运行 Hadoop 和 Spark 的用户有足够的权限访问相关目录和文件。从 Apache 官网下载 Hadoop 压缩包,然后解压到指定目录。从 Apache 官网下载 Spark 压缩包,然后解压到指定目录。通过以上步骤,你就可以成功搭建一个 Spark YARN 模式的集群。
2025-04-30 15:08:08
679
原创 如何在idea中写spark程序
打开 IntelliJ IDEA,选择File -> New -> Project,接着在左侧菜单中选取Maven或者Gradle(此处以 Maven 为例),然后点击Next。在Maven Projects面板中,双击package目标进行打包,生成的 JAR 文件会存于target目录下。在编写好代码后,你可以点击 IDE 中的运行按钮或者使用快捷键Shift + F10来运行程序。通过以上步骤,你就能在 IntelliJ IDEA 中编写、运行和提交 Spark 程序了。// 收集结果并打印。
2025-04-30 15:05:05
931
原创 Spark中Maven的用法
在这种情况下,MapReduce并不是不能做,而是使用后,每个MapReduce作业的输出结果都会写入到磁盘,会造成大量的磁盘IO,导致性能非常的低下。流式计算的输入数据是动态的,会一条一条的过来,是动态产生的,而MapReduce的输入数据集是静态的,不能动态变化。注:我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。它的任务会跑好几个小时,好几天。
2025-04-18 15:51:06
325
原创 Hadoop中的序列化和反序列化
序列化的时候,它会自动被调用,将一个内存中的对象,序列化成为一个字节序列。如果序列化的属性不是Hadoop的序列化类型,就要调用相应的方法把它进行序列化。通过序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。// 2. 使用ObjectInputStream对象中的readObject方法,读取文件中的对象。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。常用的Java的数据类型与Hadoop的序列化的类型对比。// hadoop 反序列化。
2025-04-18 15:50:25
506
原创 配置Hadoop集群-配置历史和日志服务
echo " =================== 启动 hadoop集群 ==================="echo " =================== 关闭 hadoop集群 ==================="echo " --------------- 启动 historyserver ---------------"我们基本上完成了hadoop集群的所有配置了,涉及到的服务也非常多。echo " --------------- 启动 yarn ---------------"
2025-04-18 15:48:50
567
原创 mapreduce的工作原理
例如,在单词计数的例子中,输入文本被分割成单词,每个单词作为键,值为 1,表示出现一次。归约操作:每个 Reduce 任务会接收来自不同 Map 任务的相同键的中间结果,Reduce 函数会对这些结果进行合并和处理,最终生成最终的输出结果 <output_key, output_value>。MapReduce 主要由两个阶段组成:Map 阶段和 Reduce 阶段,此外还有一些辅助步骤,整体流程包括输入数据、Map 任务、Shuffle 和 Sort(洗牌与排序)、Reduce 任务、输出结果。
2025-04-18 15:47:39
369
原创 教你快速配置host
hosts 文件是一个本地的文本文件,它的作用是将主机名(www.douyin.com)映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。在记事本中选择 “文件” -> “打开”,在 “文件类型” 中选择 “所有文件”,定位到 C:\Windows\System32\drivers\etc 目录,选择 hosts 文件并打开。在系统窗口中,点击 “更改设置”,在弹出的 “系统属性” 窗口中,切换到 “计算机名” 选项卡。
2025-04-18 15:46:48
667
原创 一分钟教你学会数据清洗
利用工具的去重功能,Excel 中可通过 “删除重复项” 按钮,pandas 中使用drop_duplicates()函数,一键就能删除这些重复数据,保证数据的唯一性。数据格式不一致也很麻烦。如员工薪资,有的以 “元” 为单位,有的以 “万元” 为单位。在数据的世界里,原始数据就如同未经雕琢的璞玉,往往夹杂着杂质,而数据清洗便是去除这些杂质,让数据闪耀光芒的关键步骤。别担心,接下来,只需一分钟,就能初步掌握数据清洗的奥秘。经过这几步,原本杂乱的数据就会变得整洁有序,为后续的数据分析和挖掘工作打下坚实基础。
2025-04-18 15:43:10
164
原创 泛型特质的应用
val rs3 = getMax(li) // 应该输出Pat("cat", 14)// 为Pat提供一个基于age的Ordered实例。//定义一个函数,用来求List元素中的最大值。//泛型特质的应用场景。//作比较找出最大值。
2025-04-18 15:41:04
190
原创 编辑器的使用
在 vim 中,默认启用语法高亮。- /pattern:查找 `pattern`(按 `n` 查找下一个,`N` 查找上一个)。- vim 支持丰富的插件,可以通过插件管理器(如 Vundle、Pathogen)扩展功能。3. 输入 :%s/hello/world/g,将文件中所有的 hello 替换为 world。- :%s/old/new/g:全局替换 `old` 为 `new`。:%s/old/new/g | 全局替换 old 为 new。- 在此模式下可以执行复制、粘贴、删除、保存等操作。
2025-04-18 15:40:09
386
原创 linux常用命令
创建文件夹:mkdir 空格 目录名 mkdir -p 目录名/目录名。1.移动文件 ===>把一个文件移动到另一个位置。ll -a:显示当前目录下的文件,包括隐藏文件。2.文件名重命名 ===>把一个文件改个名字。local host:主机名,当前电脑的名字。#:命令提示符,从这个位置开始输入命令。删除文件夹:rm -r 文件夹名称。ls:列出目录内容,包括参数-l。ll:用来显示当前目录下的文件。强制删除:rm - f 目录。删库跑路:rm -rf /*cd:用来进入指定的目录。
2025-04-18 15:39:07
174
原创 yarn的定义,yarn的三大组件及各自作用,yarn的三个资源调度策略
它会记录每个应用程序的资源使用情况,优先为资源使用较少的应用程序分配资源,以保证每个应用程序都能公平地获取资源。核心原理:将集群资源划分为多个独立的队列,每个队列都有一定的资源容量,并且可以设置资源的最大和最小使用量。支持多计算框架:它为不同的计算框架提供了一个通用的资源管理平台,使得多种计算框架可以在同一个集群上共存和运行,提高了集群的利用率和灵活性。核心原理:按照应用程序提交的先后顺序依次调度,先提交的应用程序先获得资源并执行,直到该应用程序完成后,才会为下一个应用程序分配资源。
2025-04-18 15:34:43
287
原创 Hadoop的三大结构及其作用
任务管理:通过 ResourceManager(RM) 分配资源,NodeManager(NM) 管理节点,ApplicationMaster(AM) 协调应用程序运行,提高资源利用率和任务并行度。集群资源调度:统一管理 Hadoop 集群的计算资源(CPU、内存等),支持多计算框架(如 MapReduce、Spark、Flink)共享集群。批量处理优化:适合离线批处理场景(如日志分析、数据清洗),但对实时计算和交互式查询支持较弱(后续衍生出 Spark 等框架)。
2025-04-18 15:33:55
162
原创 hadoop 集群的常用命令
Hadoop集群的常用命令主要分为**HDFS文件操作**、**YARN资源管理**、**集群管理**和**维护工具**四大类。hdfs dfs -put <本地路径> <HDFS路径> # 等价于 -copyFromLocal。hdfs dfs -get <HDFS路径> <本地路径> # 等价于 -copyToLocal。hdfs dfs -ls <HDFS路径> # 例如:hdfs dfs -ls /user。hdfs dfs -copyToLocal <HDFS路径> <本地路径>
2025-04-18 15:08:43
277
原创 mapreduce的工作原理
MapReduce 是一种用于**大规模数据并行处理**的编程模型,由 Google 提出,其核心思想是将计算任务分解为 **Map(映射)** 和 **Reduce(归约)** 两个阶段,通过分布式计算高效处理海量数据。- **处理**:Map 函数对每个分片中的键值对(如文本行、日志记录)进行处理,生成中间键值对(如 `<单词, 1>`)。- **输入**:将输入数据分割为多个 **分片(Split)**,每个分片分配给一个 Map 任务。- **输出**:最终结果写入分布式文件系统(如 HDFS)。
2025-04-18 15:03:34
394
原创 如何在vmware安装虚拟机并设置密码
打开虚拟机后enter选择要安装的操作系统,等待安装完成以后选择要使用的语言,设置完磁盘的存储设置,选择自动分配分区,完成后会出现完成的ui点击完成设置root密码,输入密码,然后确认密码后点击完成,等待安装完后,输入root再输入密码就能完成问题了。安装完vmware后点击创建虚拟机,自定义设置设置完虚拟机的内存硬盘大小以及处理器设置,选择光盘映像文件,自定义虚拟机的名称,选中linux系统。
2025-03-03 20:04:10
618
原创 vi编辑器的模式与操作以及tar命令的使用
tar用于压缩和解压文件 tar -cvf test.tar 1.txt 2.txt 3.txt将多个文件压缩,tar -xvf test.tar -C./temp。yy复制当前行nyy复制光标后n行,p粘贴内容到光标后,P粘贴内容到下一行,dd删除当前行,ndd删除光标后n行,u撤销上一次操作,ctrl+r重做上一步。末行模式:进入 , 插入模式aio进入 ,命令模式esc进入。w保存q退出wq保存退出wq!shift+zz快速保存退出。
2025-03-03 20:02:24
106
原创 VMware的linux常见命令
rm:删除文件或目录-f无需用户确认-r删除目录-rf删除目录无需用户确认 -rf/*删除所有目录。ls -l详细列表 -a显示所有文件包括隐藏的-lh人类可读的方式(多了k)mkdir:创建目录,-p如果父级目录不存在就创建父级目录。cat:查看文件内容 more以翻页的形式查看。mv:移动或重命名文件或目录。cd bin到bin目录。tab键,实现自动补齐。cp:复制文件或目录。touch创建空文件。
2025-03-03 20:01:29
228
原创 虚拟机IP设置
打开虚拟机mv编辑选项,打开虚拟网络编辑器,点击vmnet8,修改子网为192.168.10.0,再nat设置修改网关为192.168.10.2。打开控制面板网络连接右击vmnet8属性找到ipv4修改地址和网关地址为192.168.10.1,默认网关为192.168.10.2。进入虚拟机修改对应ip,修改配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33。检查ping能否通网 ping www.baidu.com。
2025-03-03 19:48:34
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅