自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据清洗-案例

代码说明:NullWritable就等价于null,context.write(value,NullWritable.get())就表示只有key,没有value。原文链接:https://blog.csdn.net/2401_87076736/article/details/147925073。在之前的项目的基础之上,重写去写一个包,并创建两个类:WebLogMapper和WebLogDriver类。// 1. 获取一行数据,使用空格进行拆分,判断是否有8个字段。// 2 加载jar包。

2025-05-18 19:43:09 425

原创 MapReduce打包运行

我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。在上面的代码中,我们的程序只能完成固定目录下的功能。使用finalshell上到任意节点,例如hadoop100上的/opt下,。确保集群中有/wcinput目录,并且下面有记事本文件中的单词。修改代码,让程序能指定要执行的输入目录和要保存结果的输出目录。修改driver类的代码,更新输入和输入路径。

2025-05-18 19:41:17 459

原创 分区器和序列化

说明:这里的setNumReduceTasks的值最好与setPartitioner返回的分区器的个数一致。回顾我们的需求,我们在做词频统计的时候,把a-m开头的保存在一个文件中,n-z开头的保存在另一个文件中。下面我们来看一个例子:通过代码来定义一个类,并创建它的一个对象,把这个对象保存到文件中(序列化),然后再写代码读取这个文件并还原回来。这个泛型类的泛型是map方法输出的k2,v2的数据类型。// 2. 使用ObjectInputStream对象中的readObject方法,读取文件中的对象。

2025-05-18 19:34:29 300

原创 SparkSQL-数据提取和保存

从csv中读入数据到DataFrame。这里用到的方法是read.csv()(2)通过systemctl start mysqld 命令来启动服务。(3)通过mysql -uroot -p 来登录mysql。(1)打开finalshell,连接hadoop100。(4)通过create table来创建数据表。

2025-05-18 19:29:17 228

原创 sparkSQL读入csv文件写入mysql(4)

核心方法:dataFrame.write.mode("append").jdbc()。上面的代码运行完成之后,切换到finalshell中的mysql端,查看效果。

2025-05-18 19:22:32 130

原创 sparkSQL读入csv文件写入mysql(3)

请注意,这里并没没有单独添加spark_core的依赖,因为在spark-sql中已经包含了spark_core。(1)scala-library 是 Scala 语言的基础库,是编写 Scala 程序的必要条件。(2)spark-sql_2.12 提供了 Spark SQL 的功能,用于高效的数据处理和分析。(3)mysql-connector-java 提供了与 MySQL 数据库交互的能力。使用spark.read.jbdc方法,连接数据库。1.新建项目,或者使用之前的项目也可以。

2025-05-18 19:21:21 217

原创 sparkSQL读入csv文件写入mysql(2)

接下来,我们去创建一个新的数据库,数据表,并插入一条数据。提醒:use spark;的作用是使用当前数据库;

2025-05-18 19:17:59 262

原创 sparkSQL读入csv文件写入mysql

rpm -ivh 是 Linux 中用于安装 RPM(Red Hat Package Manager)软件包的命令。tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar得到的效果如下。若已安装,需要先做卸载MySQL的操作命令是:rpm -e --nodeps mariadb-libs。使用的命令是: mysqld --initialize --user=mysql。-v:表示显示详细(verbose)信息,提供更多安装过程中的输出信息。14.查看已有的数据库。

2025-05-18 19:16:53 583

原创 RDD-自定义分区器案例(3)

【代码】RDD-自定义分区器案例。

2025-05-15 23:47:17 106

原创 RDD-自定义分区器案例(2)

【代码】RDD-自定义分区器案例(2)

2025-05-15 23:44:09 88

原创 RDD-自定义分区器案例

在运行代码后,output 目录下会生成与 RDD 分区数量相同的文本文件,这里 RDD 分区数设置为 3,所以会生成 3 个文件,文件名通常为 part-00000、part- 00001、part-00002。// 使用 parallelize 方法创建 RDD,并设置分区数为 3。// 使用 SparkConf 创建 SparkContext 对象。// 创建 SparkConf 对象,设置应用程序名称和运行模式。// 将 RDD 保存为文本文件,保存路径为 "output"

2025-05-15 23:42:20 204

原创 RDD的五大特征

按照“移动数据不如移动计算”的理念,Spark在进行任务调度时,会尽可能地将任务分配到其所要处理数据块的存储位置。RDD的每次转换都会生成一个新的RDD,所以RDD之间就会形成类似于流水线一样的前后依赖关系。在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。举个生活中的例子:高考的时候,每个班的同学都打散到不同的考场,此时的高3(8)班就是一个抽象的概念,在实际中,这个班级的学生可能分布在5个不同的考场。RDD的方法会作用在所有的分区上。

2025-05-15 23:35:28 127

原创 RDD案例-数据清洗(2)

RDD的每次转换都会生成一个新的RDD,所以RDD之间就会形成类似于流水线一样的前后依赖关系。在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。RDD的分区是RDD数据存储的最小单位。如下图示,假如1个RDD有3个分区,RDD内存储了123456,那么数据本质上分散在三个分区内进行存储。举个生活中的例子:高考的时候,每个班的同学都打散到不同的考场,此时的高3(8)班就是一个抽象的概念,在实际中,这个班级的学生可能分布在5个不同的考场。

2025-05-15 23:31:00 328

原创 RDD案例-数据清洗

/ 获取并打印分区数val partitionCount = hdfsRDD.getNumPartitions。val distData = sc.parallelize(data, 2) // 第二个参数是分区数。// 通过 parallelize 方法将本地集合转换为 RDD。// 创建 SparkConf 和 SparkContext。// 创建 SparkConf 和 SparkContext。// 从 HDFS 加载文本文件。// 创建一个本地集合。方法来创建 RDD。例如,读入外部的文件。

2025-05-15 23:27:11 257

原创 打包spark代码在集群中运行

复制之前的文件,重命名为WordCount_online,并修改两个地方:输入目录改成args(0), 输出的目录改成args(1)。// 写一个spark程序,统计input目录下所有文本文件中单词的词频。完成修改之后,要刷新maven,以下载相关的插件。// 创建 SparkContext 对象。// 将所有分区的数据合并成一个分区。// 停止 SparkContext。// 配置 Spark 应用程序。// 读取目录下的所有文本文件。// 把结果保存在output下。// 保存结果到文件。

2025-05-15 23:23:01 566

原创 mapreduce-wordcount程序(2)

2025-05-13 15:55:35 332

原创 mapreduce-wordcount程序

2025-05-13 15:51:47 73

原创 执行wordcount程序

2025-05-13 15:48:17 98

原创 hdfs客户端操作-文件上传(2)

2025-05-12 23:26:23 488

原创 hdfs客户端操作-文件上传

2025-05-12 23:25:22 120

原创 如何在idea中写spark程序

2025-04-29 14:45:57 105

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

2025-04-29 14:34:08 208

原创 从0开始配置spark-local模式

这里使用单机模式快运行第一个Spark程序,让大家有个基本的印象。在安装Spark时,它就提供了一些示例程序,我们可以直接来调用。进入到spark-local,运行命令spark-submit命令。mv是linux的命令,这里的 \ 是换行输入的意思,整体的代码就只有一句,只不过太长了,我们把它拆开成几个部分来输入,其中\ 的意思就是这里写不下,写在下一行。接下来的操作,我们把它上传到集群中的节点,并解压运行。1.打开etc/profile.d/my_env.sh文件中,补充设置spark的环境变量。

2025-04-21 11:03:30 276

原创 spark和Hadoop的区别与联系

**维度** | **Hadoop** | **Spark** || **速度** | 慢(基于磁盘I/O) | 快(基于内存计算,可达Hadoop的10~100倍) |- **Spark**逐渐成为实时和迭代计算的标准,但**Hadoop**仍是廉价海量存储的基石。- **选择建议**:需要实时性选Spark;

2025-04-21 08:30:13 685 1

原创 mapreduce的工作原理

对Map输出的key进行排序和分区(Partition)- 输入数据被分割成固定大小的块(默认128MB)- 处理来自不同Mapper的相同key的数据。- 默认每个Reducer生成一个输出文件。- 输出<key, value>中间结果。- 相同key的value会被合并到一起。- 数据通过网络传输到Reducer节点。- 执行用户编写的reduce()函数。- 每个Map任务处理一个输入分片。- 执行用户编写的map()函数。- 每个分片对应一个Map任务。- 生成最终输出结果。

2025-04-01 10:44:24 200

原创 hadoop 集群的常用命令

上传本地文件到HDFS。# 下载HDFS文件到本地。# 查看HDFS目录内容。

2025-04-01 10:37:19 296

原创 虚拟机配置

linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。命令如下:vi /etc/sysconfig/network-scripts/ifcfg-ens33。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。(3)设置虚拟机的IP。

2025-03-03 19:16:50 201

原创 Linux的常用命令

Linux的常用命令

2025-02-24 23:12:24 194

原创 vi的基本使用

保存并退出:在命令模式下输入 `:wq` 或 `:x`,然后按 `Enter`。- `ndd`:删除从当前行开始的 `n` 行(如 `3dd` 删除 3 行)- `nyy`:复制从当前行开始的 `n` 行(如 `3yy` 复制 3 行)- `nG`:移动到第 `n` 行(如 `5G` 移动到第 5 行)- `/关键词`:向下查找(按 `n` 查找下一个,`N` 查找上一个)- 在命令模式下按 `i`、`a`、`o` 等键可进入插入模式。5. 保存并退出:输入 `:wq`,按 `Enter`

2025-02-24 23:10:40 357

原创 VM虚拟机安装和centos

选择“Linux”作为客户机操作系统,版本选择“CentOS 7”,点击“下一步”。- 打开VMware Workstation Pro,选择“创建新的虚拟机”。- 选择“创建新虚拟磁盘”,设置磁盘大小(建议40GB以上),点击“下一步”。- 勾选“增强型键盘驱动程序”,并根据需要选择是否安装其他附加组件。- 勾选“我接受许可协议中的条款”,继续点击“下一步”。- 选择语言(推荐“简体中文”),点击“下一步”。- 选择“稍后安装操作系统”,点击“下一步”。- 设置虚拟机名称和存储位置,点击“下一步”。

2025-02-24 22:55:26 195

原创 Scala

2024-12-23 23:52:52 126

原创 Scala

2024-12-16 11:30:12 131

原创 Scala的泛型

2024-12-16 07:58:02 208

原创 Scala

2024-12-11 21:09:49 239

原创 Scala的隐式对象

2024-12-11 20:31:44 91

原创 Scala的隐式转换

【代码】Scala的隐式转换。

2024-12-08 15:53:37 150

原创 Scala正则表达式

2024-12-03 21:38:46 408

原创 Scala

2024-12-01 21:38:33 150

原创 Scala练习题

2024-12-01 21:31:18 238

原创 Scala

2024-12-01 21:28:11 229

空空如也

空空如也

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

TA关注的人

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