- 博客(63)
- 收藏
- 关注
原创 Spark SQL 读取 CSV 文件,并将数据写入 MySQL 数据库
在 Spark 中,可以使用 Spark SQL 读取 CSV 文件,并将数据写入 MySQL 数据库。以下是一个完整的示例,展示如何实现这一过程。
2025-05-13 08:35:04
694
原创 RDD-自定义分区器案例
在 Spark 中,RDD 的分区器(Partitioner)用于控制数据在不同分区中的分布方式。默认情况下,Spark 提供了 和 ,但有时我们可能需要根据特定的业务逻辑实现自定义分区器。以下是一个自定义分区器的完整案例,展示如何根据用户定义的规则对数据进行分区。假设我们有一个包含用户信息的 RDD,每条记录是一个元组 ,表示用户 ID 和其对应的年龄。我们需要根据用户年龄将数据分区,具体规则如下:以下是完整的代码实现:代码说明自定义分区器:使用自定义分区器:验证分区结果:假设输入数据为:运行
2025-05-13 08:33:07
416
原创 RDD案例数据清洗
在 Spark 中,RDD(Resilient Distributed Dataset)是分布式数据集的基本抽象。数据清洗是数据预处理中的一个重要步骤,通常包括去除重复数据、过滤无效数据、转换数据格式等操作。以下是一个使用 RDD 进行数据清洗的完整示例。
2025-05-13 08:28:08
571
原创 使用 IntelliJ IDEA 和 Maven 创建 Spark 项目
通过以上步骤,你就可以在 IntelliJ IDEA 中成功创建并运行一个基于 Maven 的 Spark 项目了。
2025-05-13 08:24:44
919
原创 将 Spark 代码打包并在 YARN 集群中运行
如果在运行过程中遇到问题,可以查看 YARN 和 Spark 的日志文件,根据日志提示进行排查。
2025-05-13 08:10:23
388
原创 配置 Spark 以 YARN 模式
检查 YARN Web UI(默认端口 8088)中任务状态和日志输出。提交示例程序,验证集群是否正常工作。
2025-05-13 08:07:52
408
原创 spark行动算子
在 Apache Spark 中,行动算子(Action)用于触发对 RDD 的实际计算,并将结果返回给驱动程序(Driver)或保存到外部存储系统中。与转换算子(Transformation)不同,行动算子会立即触发作业的执行,因为它们需要将计算结果输出到外部。
2025-05-07 15:42:36
848
原创 spark转换算子
在 Apache Spark 中,转换算子(Transformation)是用于对 RDD(弹性分布式数据集)进行转换操作的函数。这些操作是惰性的,即在调用转换算子时,Spark 并不会立即执行计算,而是记录下转换操作的轨迹,等待行动算子触发时才真正执行。
2025-05-07 15:41:37
443
原创 如何在idea中写spark程序
在 IntelliJ IDEA 中编写 Spark 程序是一个高效且便捷的方式,以下是一个详细的步骤指南,帮助你在 IntelliJ IDEA 中创建和运行 Spark 程序。
2025-04-28 19:49:53
1254
原创 spark local模式搭建运行示例
通过上述步骤,你可以在本地模式下搭建和运行 Spark 程序。本地模式非常适合开发和测试阶段,因为它不需要复杂的集群配置。你可以使用 Spark Shell 快速测试代码,也可以编写完整的 Spark 应用程序并使用运行。
2025-04-22 09:30:33
718
原创 spark和hadoop的对比和联系
总的来说,Hadoop和Spark在大数据处理领域都有各自的优势和适用场景。Hadoop更适合大规模数据的离线处理,而Spark在实时处理和快速迭代的场景中表现更出色。在实际应用中,很多企业会根据业务需求将两者结合使用,发挥各自的优势。
2025-04-22 08:19:13
621
原创 Windows Hadoop集群环境变量配置教程
要验证Hadoop是否安装成功,可以在浏览器中访问。在Hadoop的解压目录中,找到。检查HDFS的Web UI界面。
2025-04-15 08:07:37
601
原创 Hadoop案例——流量统计
通过 Hadoop 的 MapReduce 框架,我们可以轻松地处理大规模的流量数据,实现高效的流量统计。本文介绍了一个简单的流量统计案例,包括数据模型的设计、MapReduce 程序的实现以及作业的提交和运行。希望这个案例能帮助你更好地理解和应用 Hadoop 技术。
2025-04-09 15:45:56
1197
原创 Java实现序列化与反序列化
要使一个类的对象可以被序列化,该类必须实现接口。是一个标记接口,没有方法需要实现。它只是告诉Java序列化机制这个类的对象可以被序列化。// 序列化版本号// 构造方法// Getter和Setter方法return age;@Override如果需要自定义序列化和反序列化过程,可以在类中定义和readObject方法。这两个方法必须是private的,并且需要抛出或。
2025-04-08 11:29:15
323
原创 Hadoop序列化与反序列化
序列化:序列化是将对象(如Java中的类实例)转换为字节序列的过程。在Hadoop中,数据在分布式系统中传输或者存储到磁盘时,需要将数据对象序列化为字节流。例如,当MapReduce作业中的map任务输出数据,这些数据要通过网络传输给reduce任务或者存储到HDFS(Hadoop分布式文件系统)中,就需要序列化操作。反序列化:反序列化是序列化的逆过程,即将字节序列还原为对象。在Hadoop中,当从磁盘读取数据或者从网络接收数据时,需要进行反序列化操作。
2025-04-08 11:18:55
672
原创 mapreduce的工作原理
MapReduce 是一种分布式计算模型,用于处理大规模数据集。它将复杂的计算任务分解为多个小任务,并在集群中的多个节点上并行执行,从而实现高效的数据处理。
2025-03-31 19:42:40
808
原创 centos7服务器 Java和Hadoop安装教程,用VMware和finalshell
通过以上步骤,你可以在 CentOS 7 服务器上成功安装并配置 Java 和 Hadoop。如果需要搭建 Hadoop 集群,可以参考类似的步骤在多台虚拟机上进行配置。
2025-03-05 15:41:15
705
原创 VMware虚拟机IP配置
的 IP 配置教程。本教程适用于 CentOS 7 和 CentOS 8,其他 Linux 发行版的步骤类似,但文件路径和命令可能略有不同。通过以上步骤,您可以在 VMware 中的 CentOS 虚拟机上成功配置 IP 地址。根据网络模式和需求,可以选择自动获取 IP 地址(DHCP)或手动配置静态 IP 地址。:在配置 IP 地址之前,请确保您已经根据需求选择了合适的网络模式。如果您的网络环境支持 DHCP,可以配置虚拟机自动获取 IP 地址。在虚拟机中配置 IP 地址是网络连接和通信的基础。
2025-03-03 19:24:34
867
原创 vi常用命令
如果你是初学者,可以从简单的命令开始,逐步掌握更高级的功能。插入模式用于输入文本。:通过实际操作熟悉不同模式之间的切换和常用命令。:进入替换模式(可以连续替换多个字符)。:在当前行下方插入一行并进入插入模式。:在当前行上方插入一行并进入插入模式。键:退出插入模式,返回到命令模式。:在当前光标位置之后进入插入模式。:删除从当前光标位置到行尾的内容。:删除从当前光标位置到行首的内容。:粘贴(在当前光标位置之后粘贴)。:粘贴(在当前光标位置之前粘贴)。:在当前光标位置进入插入模式。:删除当前光标位置之前的单词。
2025-02-25 11:09:32
462
原创 Linux常用命令
以长格式显示文件信息(包括权限、所有者、大小等)。:递归创建目录(如果父目录不存在,会自动创建)。:以易读的格式显示文件大小(如 KB、MB)。:实时查看文件的新增内容(常用于日志文件)。(以易读格式显示文件大小和详细信息)。(显示监听的 TCP/UDP 端口)。(打印文件的每一行的第一个字段)。:创建空文件或更新文件的时间戳。(搜索文件中包含特定模式的行)。:显示当前工作目录的绝对路径。(显示文件的最后 10 行)。(显示 2025 年的日历)。(更改文件的所有者和所属组)。
2025-02-25 11:05:39
382
转载 Scala集合操作:深入探索学生信息处理
通过这个示例,我们展示了Scala集合操作的强大功能,包括迭代器的使用、数据筛选、信息关联和数据统计。一、在本文中,我们将通过一个实际的Scala编程示例,深入探讨如何使用Scala的集合操作来处理学生信息。// 8. 再次使用该迭代器,筛选出成绩列表中有至少一个特定分数以上的学生信息,并打印他们的姓名和年龄。我们创建一个新的列表来存储每个学生的平均成绩,然后使用zip方法将学生信息和平均成绩关联起来。// 7. 重新创建学生列表的迭代器,用于统计所有学生的所有成绩的总和,并打印结果。
2024-11-20 14:26:06
55
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人