自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Zookeeper(1)

数据多了之级),这个时候就出现了Spark技术,spark经常和hadoop来对比,更准确是和mapReduce进行对比,因为spark本身也是一个计算框架。spark是基于内存的计算,mapReduce是基于磁盘的计算。进入到我们安装yarn的主机,通过命令来关闭掉yarn和historyServer,然后再重启。大数据不止有数量大这个显著的特点,还有其他的特点,我们总结为4V。例如:11.11期间,京东在1秒内的交易额就超过了10亿。给你家人推荐的内容,也会推荐给你。视频推荐:推荐你喜欢的内容给你。

2025-05-14 09:57:23 286

原创 SparkSQL-数据提取和保存

从给定的user.csv文件中,读入用户数据,过滤掉年龄<18岁的信息,然后把剩余的数据写入mysql数据库中。从csv中读入数据到DataFrame。这里用到的方法是read.csv()// 读入data/user.csv文件的数据。通过mysql -uroot -p 来登录mysql。在mysql中创建数据表,特别注意字符编码的问题。建立一个.csv文件,然后添加基本数据。dataFrame做数据写入到mysql。读入csv文件到 dataFrame。2. spark代码实现。

2025-05-14 09:56:46 300

原创 SparkSQL操作Mysql(2)

请注意,这里并没没有单独添加spark_core的依赖,因为在spark-sql中已经包含了spark_core。(1)scala-library 是 Scala 语言的基础库,是编写 Scala 程序的必要条件。(2)spark-sql_2.12 提供了 Spark SQL 的功能,用于高效的数据处理和分析。(3)mysql-connector-java 提供了与 MySQL 数据库交互的能力。前面演示了数据的查询,现在来看看添加数据到mysql。我们去创建一个新的数据库,数据表,并插入一条数据。

2025-05-14 09:55:19 247

原创 SparkSQL操作Mysql(1)

rpm -ivh 是 Linux 中用于安装 RPM(Red Hat Package Manager)软件包的命令。若已安装,需要先做卸载MySQL的操作命令是:rpm -e --nodeps mariadb-libs。注意,在输入密码的过程中,密码并不可见。使用的命令是: mysqld --initialize --user=mysql。查看是否已安装MySQL。-v:表示显示详细(verbose)信息,提供更多安装过程中的输出信息。-h:表示在安装过程中显示进度条,以 # 符号表示安装进度。

2025-05-14 09:53:42 636

原创 自定义分区器(2)

1.MyPartitioner类继承自Partitioner,实现了numPartitions方法指定分区数量为 3 ,实现getPartition方法,根据球队名称判断分区索引,湖人对应分区 0,火箭对应分区 1,其他球队对应分区 2。2.在main方法中,创建包含球队信息的 RDD,然后调用partitionBy方法并传入自定义分区器MyPartitioner,对 RDD 进行分区,最后将分区后的数据保存到指定路径。("勇士", "info1"),("湖人", "info3"),

2025-05-14 09:46:51 114

原创 自定义分区器-基础

这就类似于 Spark 中的分区,每个分区的数据可以在不同的计算节点上同时进行处理,从而加快整个数据处理的速度。在 Spark 中,分区是指将数据集按照一定的规则划分成多个较小的子集,每个子集可以独立地在不同的计算节点上进行处理,这样可以实现数据的并行处理,提高计算效率。在 Spark 中,RDD 是数据的集合,它会被划分成多个分区,这些分区可以分布在不同的计算节点上,就像图书馆的书架分布在不同的房间一样。【现场演示,如果文件是一个.gz文件,是一个不可拆分的文件,那么默认分区的数量就会是1】

2025-05-14 09:45:26 326

原创 spark的缓存(2)

MEMORY_ONLY_SER:将 RDD 以序列化的 Java 对象形式存储在内存中,相较于 MEMORY_ONLY,序列化后占用的内存空间更小,但读取时需要进行反序列化操作,会带来一定的性能开销。cache:其实是 persist 方法的一种特殊情况,它等价于调用 persist(StorageLevel.MEMORY_ONLY),也就是将数据以非序列化的 Java 对象形式存储在内存中。MEMORY_AND_DISK:优先把 RDD 以 Java 对象的形式存储在 JVM 的内存中。

2025-05-14 09:42:46 418

原创 spark的缓存(1)

通过对比两次计算的耗时,可以明显发现第二次计算耗时会远小于第一次(在数据量较大或计算复杂时效果更显著),这就体现了cache方法缓存计算结果、避免重复计算、提升后续操作速度的作用。当持久化某个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此RDD或衍生出的RDD进行的其他动作中重用。RDD通过persist方法或cache方法可以将前面的计算结果缓存,但是并不是这两个方法被调用时立即缓存,而是触发后面的行动算子时,该RDD将会被缓存在计算节点的内存中,并供以后重用。这就是没有缓存的效果。

2025-05-14 09:41:51 155

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

它会触发 Spark 作业的实际执行,对 RDD 中的所有元素进行计数,并将最终的计数结果返回给驱动程序。作用:reduce 用于对 RDD 中的元素进行全局聚合操作,例如计算 RDD 中所有元素的总和、最大值、最小值等。f: T => Unit:这是一个函数,它接收一个类型为 T 的元素(T 为 RDD 中元素的类型),并对该元素执行相应的操作,但不返回任何值(返回类型为 Unit)。返回值:返回一个包含 RDD 中所有元素的数组,数组元素的类型与 RDD 中元素的类型一致。参数说明:该算子没有参数。

2025-05-14 09:39:10 568

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

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

2025-05-14 09:37:04 403

原创 mysql数据库创建数据库和数据表

的数据库,然后在该数据库中创建了一个名为。语句在指定数据库中创建数据表。以上代码首先创建了一个名为。列,并设置了相应的约束。在创建好数据库后,使用。

2025-05-14 09:32:37 514

原创 mysql数据库配置

确保 MySQL 服务器正在运行,并且连接信息(URL、用户名、密码等)正确。以上是在 Spark SQL 中配置和使用 MySQL 数据库的基本步骤。(SBT 项目)中添加 MySQL Connector/J 依赖。方法从 MySQL 表中读取数据,并创建。,用于与 Spark SQL 交互。中的数据写入 MySQL 表。(Maven 项目)或。(忽略写入操作)等。

2025-05-14 09:29:35 187

原创 sparkSql的基本使用

Spark SQL 是 Apache Spark 中用于处理结构化数据的模块,它允许你使用 SQL 语句或 DataFrame API 来操作数据。以下是 Spark SQL 的基本使用示例,包括创建 DataFrame、注册临时表、执行 SQL 查询等操作。这是 Spark SQL 的基本使用示例,你可以根据具体需求进行扩展和修改。

2025-05-14 09:24:09 199

原创 配置集群-编写hadoop启动停止脚本

为了方便启动和停止 Hadoop 集群,可以编写脚本实现一键式操作。以下分别给出 Linux 系统下启动和停止 Hadoop 集群的脚本示例,同时包含了脚本代码和详细解释。

2025-04-30 15:43:22 186

原创 配置集群-日志聚集操作

日志聚集是指将分布式集群中各个节点上的应用程序日志收集并汇总到一个集中的位置,方便后续的查看、分析和管理。在 Hadoop 和 Spark 集群中,日志聚集是一项重要的功能,下面分别介绍如何在这两个集群中配置日志聚集操作。

2025-04-30 15:39:20 342

原创 mapreduce-理解map-reduce

MapReduce 是一种用于大规模数据处理的编程模型和计算框架,由 Google 提出,它极大地简化了在分布式环境下进行数据处理和分析的任务。下面从多个方面详细介绍对 MapReduce 中 Map 和 Reduce 过程的理解。

2025-04-30 15:36:53 946

原创 hdfs-客户端操作-设置副本数量

在 HDFS 中,可以通过 Java 代码、Python 代码以及命令行的方式来设置副本数量。

2025-04-30 15:35:11 234

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

HDFS(Hadoop Distributed File System)是 Hadoop 生态系统中用于存储大规模数据的分布式文件系统。下面将分别介绍使用 Java 和 Python 编写 HDFS 客户端代码来实现文件上传功能。

2025-04-30 15:31:46 312

原创 序列化和反序列化-java实现

/ 定义一个可序列化的类// 定义类的版本号,用于序列化和反序列化时的版本匹配// 构造函数,用于初始化对象的属性// 获取姓名的方法// 获取年龄的方法return age;

2025-04-30 15:28:47 172

原创 RDD基本介绍

RDD(Resilient Distributed Datasets)即弹性分布式数据集,是 Apache Spark 中最核心的数据抽象,它代表了一个不可变、可分区、里面的元素可并行计算的集合。

2025-04-30 15:23:10 750

原创 Tool接口-代码实现

在 Java 中,可使用 interface 关键字来定义接口,然后通过类实现该接口。在 Python 里没有严格意义上的接口概念,但可以借助抽象基类(ABC)和抽象方法来模拟接口。接口的示例,这个接口有一个。

2025-04-30 15:20:02 109

原创 spark local模式

Spark Local 模式是一种在单台机器上运行 Spark 应用程序的模式,无需搭建分布式集群,适合开发调试、学习以及运行小规模数据处理任务。

2025-04-30 15:17:23 530

原创 Spark集群搭建-Standalone

9.启动SPARK集群。进入到hadoop100机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。进入/opt/module/把解压的内容重命名一下,mv spark-3.1.1-bin-hadoop3.2/ spark-standalone。注意,这里不要省略./,它表示的是当前目录下的start-all命令,如果省略了./,它就会先去环境变量PATH中指定的目录来找这个命令。

2025-04-30 15:12:21 133

原创 final shell的配置

我们在从本机开始去连接虚拟机时,都是通过ip地址来连接的,不方便。我们可以通过hostname的方式来访问。ping hadoop100或者是ping 192.168.10.100都应该可以通。5. 找到刚才建立的连接,点击连接。主机:192.168.10.100,或者是配置hosts之后的主机名。1. 点击开始安装,安装到D盘。安装目录没有中文,没有空格。2. 启动finalshell,新建。2. 使用ping 命令来检查。输入对应主机的用户名密码。1. 修改hosts文件。来,我们一起操作一下。

2025-04-30 15:10:35 242

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

如果你使用的是 Python 代码,要保证所有依赖的 Python 库都已正确安装在集群节点上。若使用 Scala 或 Java 代码,需使用构建工具(如 Maven 或 SBT)来管理项目依赖。使用 Maven 或 SBT 打包项目。若使用 Python 代码,通常无需打包,只要确保代码文件(如。命令将作业提交到 Spark 集群。目录下生成一个 JAR 文件,如。创建一个 Maven 项目,

2025-04-30 15:04:22 263

原创 在spark中配置历史服务器

通过以上步骤,你就能成功在 Spark 中配置并使用历史服务器了。要注意的是,配置完成后,后续运行的 Spark 作业的日志会被记录到指定的 HDFS 路径,这样你就能在历史服务器上查看这些作业的详细信息了。是 HDFS 名称节点的端口号。你要确保 HDFS 路径存在,并且 Spark 有写入该路径的权限。来查看 Spark 作业的历史记录,其中。是历史服务器的端口号,你可按需修改。是 HDFS 名称节点的主机名,是运行历史服务器的节点的主机名。若该文件不存在,可从。目录下,若文件不存在,可从。

2025-04-30 14:57:54 451

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

spark-env.sh:在/opt/spark-3.3.2-bin-hadoop3.3/conf目录下复制spark-env.sh.template文件并重命名为spark-env.sh,编辑该文件,添加以下内容:​。yarn-site.xml:在/opt/hadoop-3.3.4/etc/hadoop目录下编辑yarn-site.xml文件,添加以下内容:​。配置 Hadoop 环境变量:在所有节点上编辑/etc/profile文件,添加以下内容:​。

2025-04-28 20:17:37 955

原创 spark和Hadoop之间的比对和联系

Spark 和 Hadoop 都是大数据处理领域的重要框架,它们之间既有联系又有区别,以下是详细的比对和联系:

2025-04-23 11:13:18 457

原创 yarn的概述

例如,企业中不同的部门可以对应不同的队列,每个部门有自己独立的资源配额,这样可以保证各部门的资源需求,同时避免单个部门占用过多资源影响其他部门的应用运行。它掌握着集群中各个节点上的可用资源信息,当有应用程序提交资源请求时,RM 会根据集群的资源使用情况和调度策略,为应用程序分配合适的资源。它掌握着集群中各个节点上的可用资源信息,当有应用程序提交资源请求时,RM 会根据集群的资源使用情况和调度策略,为应用程序分配合适的资源。AM 会根据应用程序的需求,向 RM 提交资源请求,并与 RM 协商资源分配方案。

2025-04-18 15:10:08 277

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

这三大结构相互协作,共同实现了 Hadoop 在大规模数据存储、管理和处理方面的强大功能,为大数据处理提供了一个可靠、高效的平台。

2025-04-18 14:57:19 391

原创 在spark中,流量统计怎么做

但是,这里有一个问题:map和reduce这两个函数都是通过key,value的方式来进行数据交互的,这里的key可以设置为手机号,而value值就比较复杂,它有两个信息:上行流量和下行流量要统计。而这就必然引出一个新的问题:因为key,value是需要进行磁盘的读写的,所以它们必须要能序列化,如果我们创建一个新的类来描述流量数据,就必须也实现序列化。在map阶段,我们读入每一行数据,通过空格分割,切分字段,抽取手机号,上行流量和下行流量。//3 抓取我们需要的数据:手机号,上行流量,下行流量。

2025-04-16 09:37:14 598

原创 mapreduce的工作原理

每个数据块由一个InputFormat对象进行处理,它将数据解析成键值对形式,作为Map任务的输入。- 该阶段主要负责将Map任务的输出进行整理和传输,以便Reduce任务能够获取到相应的数据。- 数据会在节点之间进行网络传输,将属于同一个分区的数据发送到对应的Reduce节点上。- Map任务的输出会按照键进行分区和排序,以便后续能够将相同键的值聚集到一起。- Map任务的输出会根据键的哈希值进行分区,每个分区对应一个Reduce任务。- 输入数据被分割成多个数据块,这些数据块分布在不同的节点上。

2025-03-31 19:31:25 220

原创 Hadoop集群的常用命令

运行MapReduce作业: hadoop jar hadoop - mapreduce - examples - 3.3.4.jar wordcount /input /output ,以Hadoop自带的WordCount为例,运行MapReduce作业,对/input目录下的文件进行词频统计,结果输出到/output目录。- 创建目录: hdfs dfs -mkdir /user/hadoop/test ,在HDFS上创建指定的目录。MapReduce相关命令。

2025-03-31 19:29:52 257

原创 linux常见命令操作

ls命令可以查看文件夹下的文件信息,如果某个文件夹下的文件特别多,使用ls命令时,就只能显示后面一部分文件信息,那如果我们希望查看全部的文件信息,要怎么办呢?因为在linux下,我们要去下载安装新的软件时就需要用到它:下载下来的软件大多都是.tar格式,而安装的过程就是解压缩。会把111写入a.txt这个文件中,把之前的内容删除掉。但是,在linux里,这不能使用鼠标操作,需要用到显示文件的命令。ls 用来显示文件夹下的文件信息,more用来翻页,而 | 就可以把前一个的结果作为输入传递给more。

2025-03-03 19:39:36 420

原创 vi常见操作命令

命令模式:在这个模式下,所敲的按键编辑器都理解为命令,以命令来驱动执行不同的功能。当我们通过VI命令第一次打开文件的时候,进入的就是命令模式。vi编辑器有三种工作模式,分别是命令模式,编辑模式,底线模式。(2)按下o:进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)2. 如果文件已经存在,此时就打开这个文件,进入命令模式。从命令模式切换到底线命令模式,输入: 进入底线命令模式。(1)按下i: 进入编辑模式,定位到当前光标前面。(3)在输入模式下,按下ESC退回到命令模式。

2025-03-03 19:38:20 295

原创 虚拟机IP的配置

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:37:03 318

原创 如何安装虚拟机

安装虚拟机

2025-02-21 11:00:32 239 1

空空如也

空空如也

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

TA关注的人

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