自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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:33:37 441

原创 Hadoop中的序列化和反序列化

序列化的时候,它会自动被调用,将一个内存中的对象,序列化成为一个字节序列。如果序列化的属性不是Hadoop的序列化类型,就要调用相应的方法把它进行序列化。通过序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。// 2. 使用ObjectInputStream对象中的readObject方法,读取文件中的对象。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。常用的Java的数据类型与Hadoop的序列化的类型对比。// hadoop 反序列化。

2025-05-14 08:29:43 489

原创 教你快速配置host

hosts 文件是一个本地的文本文件,它的作用是将主机名(www.douyin.com)映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。在记事本中选择 “文件” -> “打开”,在 “文件类型” 中选择 “所有文件”,定位到 C:\Windows\System32\drivers\etc 目录,选择 hosts 文件并打开。在系统窗口中,点击 “更改设置”,在弹出的 “系统属性” 窗口中,切换到 “计算机名” 选项卡。

2025-05-14 08:28:49 666

原创 配置yam模式,写代码连接数据库,写回数据库

我将提供使用 Scala 语言在 YARN 模式下配置 Spark,连接数据库并将处理后的数据写回数据库的代码示例。创建 SparkSession:运用 SparkSession.builder() 构建一个 SparkSession 对象,同时将运行模式设定为 YARN。读取数据:使用 spark.read.jdbc() 方法从数据库读取数据,返回一个 DataFrame。写回数据:使用 processedDF.write.jdbc() 方法把处理后的数据写回数据库。// 将处理后的数据写回数据库。

2025-05-14 08:27:51 377

原创 配置spark

进入到hadoop100(自己所配置下的机器名字)机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。进入/opt/module/目录下把解压的内容重命名一下。这个文件在spark的安装目录下的conf目录下,先把名字改为workers,然后把内容设置为三台机器的主机名,具体如下。注意,这里不要省略./,它表示的是当前目录下的start-all命令,如果省略了./,它就会先去环境变量PATH中指定的目录来找这个命令。

2025-05-14 08:27:11 320

原创 RDD 案例 - 数据清洗

上述代码中,先创建包含脏数据的 RDD,然后通过 filter 算子过滤掉成绩为负数和缺失值的数据,再通过 map 算子整理数据格式,完成数据清洗。假设有一个包含学生成绩信息的 RDD,数据格式为 (学生 ID, 课程名,成绩) ,其中存在一些成绩为负数(不合理值)和缺失值(null)的数据。数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序 ,包括检查数据一致性,处理无效值和缺失值等。// 清洗数据:过滤掉成绩为负数和缺失值的数据。

2025-05-14 08:26:33 176

原创 如何将代码打包到集群上运行

- 添加必要的插件以打包scala程序-->

2025-05-14 08:25:49 257

原创 Spark IDEA编写Maven项目

在IDEA中选择 Create New Project > Maven > 勾选Create from archetype > 选择 maven-archetype-quickstart ,点击下一步。-- 如com.example.SparkApp -->-- Spark SQL(按需添加其他模块,如spark-streaming) -->-- Maven打包插件(可选,用于生成可执行JAR) -->-- 开发时使用local模式,无需打包进最终JAR -->-- Scala编译插件 -->

2025-05-14 08:24:47 828

原创 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:23:53 264

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

转换算子(Transformation)和行动算子(Action)是Spark中RDD(弹性分布式数据集)操作的两种主要类型,它们在功能、执行方式以及返回结果上存在显著区别。转换算子:val newRDD = rdd.map(x => x * 2),这里只是记录了映射操作,不会立即执行。行动算子:val count = rdd.count(),这里会立即计算RDD中的元素数量并返回结果。行动算子则是立即执行的,它们会触发Spark任务的调度和执行,并返回结果或输出到存储系统。

2025-05-14 08:22:59 276

原创 如何在idea中写spark程序

打开 IntelliJ IDEA,选择File -> New -> Project,接着在左侧菜单中选取Maven或者Gradle(此处以 Maven 为例),然后点击Next。在Maven Projects面板中,双击package目标进行打包,生成的 JAR 文件会存于target目录下。在编写好代码后,你可以点击 IDE 中的运行按钮或者使用快捷键Shift + F10来运行程序。通过以上步骤,你就能在 IntelliJ IDEA 中编写、运行和提交 Spark 程序了。

2025-05-14 08:21:48 518

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

软件:确保所有节点安装了相同版本的 Java(建议 Java 8 或更高版本)和 Hadoop(包含 YARN)。网络问题:确保所有节点之间网络连通,防火墙允许 Hadoop 和 Spark 相关端口通信。权限问题:确保运行 Hadoop 和 Spark 的用户有足够的权限访问相关目录和文件。从 Apache 官网下载 Hadoop 压缩包,然后解压到指定目录。从 Apache 官网下载 Spark 压缩包,然后解压到指定目录。通过以上步骤,你就可以成功搭建一个 Spark YARN 模式的集群。

2025-05-14 08:20:58 885

原创 mapreduce的工作原理

MapReduce 是一种用于**大规模数据并行处理**的编程模型,由 Google 提出,其核心思想是将计算任务分解为 **Map(映射)** 和 **Reduce(归约)** 两个阶段,通过分布式计算高效处理海量数据。- **归约**:Reduce 函数对同一 Key 的所有值进行聚合(如求和、统计),生成最终结果(如 `<单词, 总次数>`)。- **数据冗余**:输入数据存储在分布式文件系统(如 HDFS),默认 3 副本,防止数据丢失。输入文本分片 → Map 函数输出 `<word, 1>`。

2025-05-14 08:19:03 431

原创 配置yam模式,写代码连接数据库,写回数据库

在 Spark 的 YARN 模式下连接数据库并将处理后的数据写回数据库,下面以连接 MySQL 数据库为例,为你详细介绍操作步骤及代码示例。

2025-05-07 08:46:25 182

原创 Spark 配置 YARN

将修改后的 Spark 相关配置文件以及软连接等,分发到集群中的所有节点,确保各节点配置一致。已安装并配置好 Hadoop 集群 ,且集群中的所有节点都具备 Python 环境。指定应用程序运行在 YARN 模式 ,后面跟具体的应用程序路径及参数。将 Spark 安装目录下。分发给集群中的其他节点。

2025-05-07 08:41:59 887

原创 什么是RDD,有哪几种创建方式

RDD(Resilient Distributed Dataset,弹性分布式数据集 )是 Apache Spark 中最基本的数据抽象。它代表一个不可变、可分区、元素可并行操作的分布式数据集。RDD 具有容错性,可在集群中弹性分布存储和计算,允许用户在大规模数据集上进行各种并行计算操作,比如转换(transformation)和动作(action)。

2025-05-07 08:35:00 195

原创 scala思维导图

2025-05-07 08:15:52 99

原创 vm和centos

选择 “Linux” 操作系统,版本根据你下载的 CentOS 版本进行选择,如 “CentOS 7 64 位”,点击 “下一步”。选择 “安装程序光盘映像文件(ISO)”,点击 “浏览” 按钮,找到之前下载好的 CentOS 镜像文件,选择后点击 “下一步”。可以选择默认的安装位置,也可以点击 “更改” 按钮,指定其他磁盘路径进行安装,设置完成后点击 “下一步”。在弹出的 “新建虚拟机向导” 中,选择 “典型(推荐)”,然后点击 “下一步”。选择安装语言,一般选择 “中文(简体)”,点击 “继续”。

2025-05-07 08:15:05 226

原创 Linux的常用命令

2025-05-07 08:14:25 107

原创 vi的基本使用

2025-05-07 08:12:58 107

原创 spark和hadoop的区别与联系

• 存储方面:Spark 可以和 Hadoop 的 HDFS 结合,利用 HDFS 作为其底层的数据存储系统,这样 Spark 可以处理存储在 HDFS 上的大规模数据,充分利用 HDFS 的分布式存储和数据冗余机制,保证数据的可靠性和可扩展性。◦ Hadoop:主要基于 MapReduce 计算模型,将任务分为 Map 和 Reduce 两个阶段,数据在磁盘上进行大量的读写操作,适合处理大规模的批处理任务,但对于迭代式计算和交互式查询性能较差。

2025-05-07 08:11:16 386

原创 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:50:40 415

原创 yarn的定义,yarn的三大组件及各自作用,yarn的三个资源调度策略

它会记录每个应用程序的资源使用情况,优先为资源使用较少的应用程序分配资源,以保证每个应用程序都能公平地获取资源。核心原理:将集群资源划分为多个独立的队列,每个队列都有一定的资源容量,并且可以设置资源的最大和最小使用量。支持多计算框架:它为不同的计算框架提供了一个通用的资源管理平台,使得多种计算框架可以在同一个集群上共存和运行,提高了集群的利用率和灵活性。核心原理:按照应用程序提交的先后顺序依次调度,先提交的应用程序先获得资源并执行,直到该应用程序完成后,才会为下一个应用程序分配资源。

2025-04-18 15:48:48 399

原创 Hadoop的三大结构及其作用

任务管理:通过 ResourceManager(RM) 分配资源,NodeManager(NM) 管理节点,ApplicationMaster(AM) 协调应用程序运行,提高资源利用率和任务并行度。集群资源调度:统一管理 Hadoop 集群的计算资源(CPU、内存等),支持多计算框架(如 MapReduce、Spark、Flink)共享集群。批量处理优化:适合离线批处理场景(如日志分析、数据清洗),但对实时计算和交互式查询支持较弱(后续衍生出 Spark 等框架)。

2025-04-18 15:47:59 144

原创 教你快速配置host

hosts 文件是一个本地的文本文件,它的作用是将主机名(www.douyin.com)映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。在记事本中选择 “文件” -> “打开”,在 “文件类型” 中选择 “所有文件”,定位到 C:\Windows\System32\drivers\etc 目录,选择 hosts 文件并打开。在系统窗口中,点击 “更改设置”,在弹出的 “系统属性” 窗口中,切换到 “计算机名” 选项卡。

2025-04-18 15:40:39 428

原创 mapreduce的工作原理

例如,在单词计数的例子中,输入文本被分割成单词,每个单词作为键,值为 1,表示出现一次。归约操作:每个 Reduce 任务会接收来自不同 Map 任务的相同键的中间结果,Reduce 函数会对这些结果进行合并和处理,最终生成最终的输出结果 <output_key, output_value>。MapReduce 主要由两个阶段组成:Map 阶段和 Reduce 阶段,此外还有一些辅助步骤,整体流程包括输入数据、Map 任务、Shuffle 和 Sort(洗牌与排序)、Reduce 任务、输出结果。

2025-04-18 15:38:35 360

原创 一分钟教会你数据清洗

利用工具的去重功能,Excel 中可通过 “删除重复项” 按钮,pandas 中使用drop_duplicates()函数,一键就能删除这些重复数据,保证数据的唯一性。数据格式不一致也很麻烦。如员工薪资,有的以 “元” 为单位,有的以 “万元” 为单位。在数据的世界里,原始数据就如同未经雕琢的璞玉,往往夹杂着杂质,而数据清洗便是去除这些杂质,让数据闪耀光芒的关键步骤。别担心,接下来,只需一分钟,就能初步掌握数据清洗的奥秘。经过这几步,原本杂乱的数据就会变得整洁有序,为后续的数据分析和挖掘工作打下坚实基础。

2025-04-18 15:37:09 242

原创 配置Hadoop集群-配置历史和日志服务

echo " =================== 启动 hadoop集群 ==================="echo " =================== 关闭 hadoop集群 ==================="echo " --------------- 启动 historyserver ---------------"我们基本上完成了hadoop集群的所有配置了,涉及到的服务也非常多。echo " --------------- 启动 yarn ---------------"

2025-04-18 15:34:30 641

原创 配置Hadoop集群-免密登录

前面的课程中我们在虚拟机上安装并测试使用了hadoop的示例程序wordcount,并且在准备好了集群的同步工具,那接下来,我们就可去配置hadoop集群了。将公钥拷贝到hadoop101上。所以,对于hadoop100来说,它要生成公钥,并拷贝到hadoop100, hadoop101, hadoop102上去。我们希望达成的目标是:希望用户在hadoop100登录到hadoop101时,hadoop101不需要输入密码。在hadoop100中,把自己的公钥传递给hadoop101,hadoop102。

2025-04-18 15:33:31 382

原创 关于流量统计那些事

String flowDesc = String.format("总的上行流量是:%d,总的下行流量是:%d,总流量是:%d", upFlowSum, downFlowSum, sumFlow);在map方法中切割数据,拆分出手机号,上行流量,下行流量,并实例化FlowBean对象。封装一个FlowBean类,保存手机号,上行流量,下行流量,并实现序列化。我们现在有一个目录data下保持了一些日志文件,文件的内容格式如下。需求统计每一个手机号耗费的总上行流量、总下行流量、总流量。编写Reducer类。

2025-04-18 15:32:24 450

原创 Spark中Maven的用法

在这种情况下,MapReduce并不是不能做,而是使用后,每个MapReduce作业的输出结果都会写入到磁盘,会造成大量的磁盘IO,导致性能非常的低下。流式计算的输入数据是动态的,会一条一条的过来,是动态产生的,而MapReduce的输入数据集是静态的,不能动态变化。注:我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。它的任务会跑好几个小时,好几天。

2025-04-18 15:30:41 293

原创 如何配置HADOOP_HOME环境变量

之前我们已经搭建好了hadoop集群,并测试了它的文件管理和程序运行等相关命令。这些都是理论示范,在真实的开发中,我们是通过使用java程序来与集群进行交互的。双击winutils.exe 如果报如下错误说明缺少微软运行库,这个问题可以通过在:资料包里面有对应的微软运行库安装包双击安装来解决。hadoop集群我们配置好了,要与它进行交互,我们还需要准备hadoop的客户端。1. 找到资料包路径下的Windows依赖文件夹,拷贝hadoop-3.1.0到非中文路径(比如d:\hadoop-3.1.0)

2025-04-18 15:09:41 210

原创 Yarn概述

通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源, 这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。队列内部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部,资源的调度是采用的是先进先出(FIFO)策略。但是实际中,资源是有限的,并且在繁忙的群集上, 应用程序通常将需要等待其某些请求得到满足。现在,如果B用户在其他作业仍在运行时开始第二个作业,它将与B的另一个作业共享其资源,因此B的每个作业将拥有资源的四分之一,而A的继续将拥有一半的资源。

2025-04-18 15:08:21 824

原创 Hadoop中的序列化和反序列化

序列化的时候,它会自动被调用,将一个内存中的对象,序列化成为一个字节序列。如果序列化的属性不是Hadoop的序列化类型,就要调用相应的方法把它进行序列化。通过序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。// 2. 使用ObjectInputStream对象中的readObject方法,读取文件中的对象。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。常用的Java的数据类型与Hadoop的序列化的类型对比。// hadoop 反序列化。

2025-04-18 15:05:39 556

原创 linux常见操作命令

bash复制ls -la # 显示隐藏文件和详细信息cp -r dir1 dir2 # 递归复制目录rm -rf dir # 强制删除目录(谨慎使用!)find / -name "*.log" # 全局搜索.log文件系统监控bash复制top # 实时进程监控(按P按CPU排序)df -h # 磁盘空间检查f

2025-03-03 19:48:45 287

原创 vi常见操作命令

进入块选择模式 → 选中多行 → 按。:移动光标、删除字符、搜索。:保存、退出、替换。

2025-03-03 19:47:03 259

原创 虚拟机IP配置

GATEWAY=192.168.1.1 # 网关(同主机网关)IPADDR=192.168.1.100 # 自定义IP。:虚拟机共享主机IP,可访问外网但外部无法直接访问虚拟机。BOOTPROTO=static # 静态IP。ONBOOT=yes # 开机自启。:虚拟机获取独立局域网IP,与主机同级,适合作为服务器。ip addr # 通常为ens33或eth0。:仅主机与虚拟机互通,隔离外部网络。(临时关闭),或配置放行规则。等配置,重启网络即可。

2025-03-03 19:45:06 144

原创 vm+centos虚拟机

安装源自动检测,软件选择“Minimal Install”(节省资源)。:在虚拟机设置 → 显示 → 启用3D加速(部分主机需更新显卡驱动)。分区选择“自动分区”,点击“Begin Installation”。:创建虚拟硬盘(VDI格式)→ 动态分配 → 大小至少20GB。启动虚拟机 → 选择下载的ISO文件 → 进入安装界面。:检查下载的镜像完整性,重新下载或验证SHA256哈希。:安装时可能会提示安装虚拟网卡驱动,务必允许。下载对应系统的安装包,按提示安装。:建议至少2GB(2048MB)。

2025-03-03 19:42:47 393

空空如也

空空如也

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

TA关注的人

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