- 博客(47)
- 收藏
- 关注
原创 SparkSQL操作Mysql(2)
原文链接:https://blog.youkuaiyun.com/2402_83403264/article/details/147945396。请注意,这里并没没有单独添加spark_core的依赖,因为在spark-sql中已经包含了spark_core。(2)spark-sql_2.12 提供了 Spark SQL 的功能,用于高效的数据处理和分析。// 创建properties对象,设置连接mysql的用户名和密码。// 创建properties对象,设置连接mysql的用户名和密码。的作用是使用当前数据库;
2025-05-16 14:44:31
375
原创 SparkSQL-数据提取和保存
(一)需求说明从给定的user.csv文件中,读入用户数据,过滤掉年龄<18岁的信息,然后把剩余的数据写入mysql数据库中。这里要先去准备mysql数据库。(二)思路分析准备工作:建立一个.csv文件,然后添加基本数据。在mysql端建立一个数据表。准备user.csv文件。在mysql中创建数据表,特别注意字符编码的问题编写spark代码:读入csv文件到 dataFramedataFrame做数据筛选dataFrame做数据写入到mysql(三)核心步骤1. 在mysql中创建数
2025-05-16 14:43:58
295
原创 Zookeeper(1)
数据多了之级),这个时候就出现了Spark技术,spark经常和hadoop来对比,更准确是和mapReduce进行对比,因为spark本身也是一个计算框架。spark是基于内存的计算,mapReduce是基于磁盘的计算。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。进入到我们安装yarn的主机,通过命令来关闭掉yarn和historyServer,然后再重启。大数据不止有数量大这个显著的特点,还有其他的特点,我们总结为4V。电商推荐:熟人推荐。
2025-05-16 14:43:09
256
原创 Zookeeper(2)
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要解决海量数据集的存储和分析计算问题。广义上讲,Hadoop是一个更广泛的概念-- Hadoop生态圈。分布式系统是一种由多个独立的计算机(节点)组成的系统,这些节点通过网络通信来协同完成任务,对外表现为一个整体的系统。一般是产品人员提需求 → 数据部门搭建数据平台,分析数据指标 → 数据可视化(报表展示,邮件发送,大屏幕展示等等)前面介绍了大数据的一些基本理论,那大家知道在一家企业中,大数据部门是怎么构成的?又是如何与其他部门协作的吗?
2025-05-16 14:42:37
154
原创 安装配置虚拟机教学
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.youkuaiyun.com/2402_83403264/article/details/145724938。如果安装VMware17.6时,提示缺少文件,再来安装它,否则不用。虚拟机安装配置对新手来说还是太吃操作了,有没有更简单的方法推荐一下,有的兄弟,有的,现在我来推荐一套更简单快捷的操作。然后在此处可以更改安装位置,自行选择,然后下一步。选择安装位置,点进去,然后退出。
2025-05-16 14:41:33
179
原创 配置虚拟机IP
linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!原文链接:https://blog.youkuaiyun.com/2402_83403264/article/details/145996942。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。修改完IP之后,不会立即生效,我们需要重新启动一下网络。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。
2025-05-16 14:40:07
375
原创 vi常见操作命令
命令模式:在这个模式下,所敲的按键编辑器都理解为命令,以命令来驱动执行不同的功能。当我们通过VI命令第一次打开文件的时候,进入的就是命令模式。vi编辑器有三种工作模式,分别是命令模式,编辑模式,底线模式。(2)按下o:进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)2. 如果文件已经存在,此时就打开这个文件,进入命令模式。从命令模式切换到底线命令模式,输入: 进入底线命令模式。底线命令模式: 以:开始通常用于文件的保存和退出。(1)按下i: 进入编辑模式,定位到当前光标前面。
2025-05-16 14:39:32
272
原创 linux常见操作命令
ls命令可以查看文件夹下的文件信息,如果某个文件夹下的文件特别多,使用ls命令时,就只能显示后面一部分文件信息,那如果我们希望查看全部的文件信息,要怎么办呢?因为在linux下,我们要去下载安装新的软件时就需要用到它:下载下来的软件大多都是.tar格式,而安装的过程就是解压缩。会把111写入a.txt这个文件中,把之前的内容删除掉。但是,在linux里,这不能使用鼠标操作,需要用到显示文件的命令。ls 用来显示文件夹下的文件信息,more用来翻页,而 | 就可以把前一个的结果作为输入传递给more。
2025-05-16 14:38:45
295
原创 finalshell的配置
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.youkuaiyun.com/2402_83403264/article/details/146086392。我们在从本机开始去连接虚拟机时,都是通过ip地址来连接的,不方便。5. 找到刚才建立的连接,点击连接。主机:192.168.10.100,或者是配置hosts之后的主机名。1. 点击开始安装,安装到D盘。安装目录没有中文,没有空格。2. 启动finalshell,新建。
2025-05-16 14:38:13
267
原创 Hadoop集群常用命令
原文链接:https://blog.youkuaiyun.com/2402_83403264/article/details/146880189。# 启动所有Hadoop服务。# 停止所有Hadoop服务。# 查看MapReduce作业状态。# 检查YARN节点状态。2. **文件权限和所有权**# 提交MapReduce作业。1. **平衡HDFS数据**1. **启动/停止集群**# 检查HDFS一致性。2. **检查集群状态**# 检查HDFS状态。# 检查集群健康状态。1. **基本文件操作**
2025-05-16 14:37:34
325
原创 mapreduce的工作原理
**分区(Partitioning)**:根据 key 的哈希值决定数据发送到哪个 Reduce 任务。- **Combiner(可选)**:本地 reduce,减少网络传输量。- **排序(Sorting)**:每个分区内的数据按键排序。- **数据本地性优化**:优先在存储数据的节点上执行任务。- **Map 阶段**:处理输入数据并生成中间键值对。- **Reduce 阶段**:对中间结果进行汇总处理。- **数据从 Map 端拷贝到 Reduce 端**
2025-05-16 14:36:58
393
原创 关于hadoop和yarn的问题
YARN(Yet Another Resource Negotiator)是 Hadoop 2.0 引入的资源管理平台,其核心功能是将资源管理与作业调度/监控分离,支持多计算框架(如 MapReduce、Spark 等)运行在同一个集群中,提高资源利用率和系统扩展性。YARN(Yet Another Resource Negotiator):资源管理和作业调度框架,负责集群资源的统一分配和任务调度,提升集群利用率。ResourceManager(RM):集群资源的总管理者,负责全局资源分配与调度。
2025-05-16 14:36:25
162
原创 spark和Hadoop之间的对比和联系
Spark可以与Hadoop生态系统无缝集成,例如,Spark可以使用HDFS作为数据存储层,可以与Hive共享元数据,可以与YARN进行资源管理等。例如,Spark Streaming可以处理实时数据流,Spark SQL可以进行SQL查询,Spark MLlib可以进行机器学习,Spark GraphX可以进行图计算。架构特点:Hadoop的架构较为复杂,需要分别搭建HDFS和MapReduce,且MapReduce的执行过程较为繁琐,需要经过多个阶段(如Shuffle和Sort),导致延迟较高。
2025-05-14 10:00:48
404
原创 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-05-14 10:00:11
286
原创 如何搭建spark yarn模式的集群
对应的命令是:tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module。3.修改hadoop的配置。使用xsync /opt/module/hadoop-3.1.3/etc/hadoop/同步一下。2. 修改一下spark的环境变量,/etc/profile.d/my_env.sh。
2025-05-14 09:59:39
352
原创 如何在idea中写spark程序
(1)访问Scala官方网站(https://www.scala-lang.org/download/)下载适合操 作系统的Scala安装包。安装Scala的操 作,也是一路默认安装即可。(2) 打开命令提示符(CMD),输入以下命令:scala -version 如果显示Scala 的版本信息,说明安装成功。Spark是基于scala的,当然它也可以支持java和scala还有python语言,我们这里会使用scala。它的功能是wordcount的功能:从指定的文件夹中去读取文件,并做词频统计。
2025-05-14 09:59:09
291
原创 Spark-core-RDD入门
通过 SparkConf 类,你可以设置应用程序的名称、运行模式(如本地模式、集群模式)、资源分配(如内存、CPU 核心数)等。Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。- Distributed: 分布式存储的,表示数据是存放在不同的机器上的。不可变的:immutable。并行计算:集合中的数据可以被并行的计算处理,每个分区数据被一个Task任务处理。
2025-05-14 09:50:37
425
原创 Yarn-tool接口
org.apache.hadoop.util.Tool 是 Apache Hadoop 框架里的一个接口,其用途是协助开发可通过命令行运行的 Hadoop 应用程序。run(String[] args):此方法为应用程序的主要执行逻辑,接收命令行参数,返回一个整数代表执行结果(通常 0 表示成功,非 0 表示失败)。原文链接:https://blog.youkuaiyun.com/2402_83403264/article/details/147752439。// 返回 0 表示执行成功。// 实现 Tool 接口。
2025-05-14 09:50:04
304
原创 MapReduce架构-序列化
Java的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,Header,继承体系等),不便于在网络中高效传输。下面我们来看一个例子:通过代码来定义一个类,并创建它的一个对象,把这个对象保存到文件中(序列化),然后再写代码读取这个文件并还原回来。// 2. 使用ObjectInputStream对象中的readObject方法,读取文件中的对象。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。
2025-05-14 09:49:14
242
原创 MapReduce架构-打包运行
从 Java 7 开始,为了简化版本号的表示,Oracle 开始采用新的命名方式,将 1.x 改为 x。从 Java 9 开始,版本号的命名方式完全统一为 x,例如 Java 9、Java 11、Java 17 等,不再使用 1.x 的形式。我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。在上面的代码中,我们的程序只能完成固定目录下的功能。
2025-05-14 09:48:43
372
原创 Spark集群搭建-Standalone模式
对应的命令是:tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module。进入/opt/module/把解压的内容重命名一下,mv spark-3.1.1-bin-hadoop3.2/ spark-standalone。Spark 的 Standalone 模式是一种独立的集群部署模式,自带完整服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。要布置standalone模式,需要准备多台机器(linux,ip设置,能ping 百度),免密互联。
2025-05-14 09:48:07
270
原创 Linux操作系统命令-复杂命令
原文链接:https://blog.youkuaiyun.com/2402_83403264/article/details/147753190。示例:把目录dir1复制一份得到dir2. 那么对应的命令就是:cp -r dir1 dir2。移动操作: mv file.txt newdir/file.txt。说明:如果源文件和目标文件在同一个目录下,就是重命名,否则就是移动。重命名操作: mv file.txt newfile.txt。复制和移动都分为文件和文件夹,具体的命令是cp和mv。
2025-05-14 09:47:23
364
原创 Linux操作系统命令-复杂命令(2)
ls命令可以查看文件夹下的文件信息,如果某个文件夹下的文件特别多,使用ls命令时,就只能显示后面一部分文件信息,那如果我们希望查看全部的文件信息,要怎么办呢?因为在linux下,我们要去下载安装新的软件时就需要用到它:下载下来的软件大多都是.tar格式,而安装的过程就是解压缩。会把111写入a.txt这个文件中,把之前的内容删除掉。把1.txt,2.txt,3.txt压缩到test.tar文件(会被自动创建)中。-c 建立一个压缩文件,把多个文件或者文件夹压缩到一个新的文件中。
2025-05-14 09:46:38
289
原创 自定义分区器-基础
当使用 textFile 方法从外部存储(如 HDFS、本地文件系统等)读取文件创建 RDD 时,默认分区数通常由文件的块大小决定。对于 HDFS 文件,默认分区数等于文件的块数。例如,一个 128MB 的文件在 HDFS 上被分成 2 个 64MB 的块,那么创建的 RDD 默认分区数就是 2。在 Spark 里,弹性分布式数据集(RDD)是核心的数据抽象,它是不可变的、可分区的、里面的元素并行计算的集合。RDD 会被划分成多个分区,每个分区就是一个数据集片段,这些分区可以分布在集群的不同节点上。
2025-05-14 09:46:03
452
原创 Spark处理过程-转换算子
它的核心作用是对具有相同键的所有值进行聚合操作,通过用户提供的聚合函数将这些值合并成一个结果,从而实现数据的归约和统计。作用:对 RDD 中的每个元素应用给定的函数 f,将每个元素转换为另一个元素,最终返回一个新的 RDD。作用:筛选出 RDD 中满足函数 f 条件(即 f 函数返回 true)的元素,返回一个新的 RDD,新 RDD 中的元素类型与原 RDD 相同。作用:对 RDD 中的每个元素应用函数 f,函数 f 返回一个可遍历的集合,然后将这些集合中的元素扁平化合并成一个新的 RDD。
2025-05-14 09:40:01
375
原创 Spark处理过程-行动算子
它会触发 Spark 作业的实际执行,对 RDD 中的所有元素进行计数,并将最终的计数结果返回给驱动程序。作用:reduce 用于对 RDD 中的元素进行全局聚合操作,例如计算 RDD 中所有元素的总和、最大值、最小值等。f: T => Unit:这是一个函数,它接收一个类型为 T 的元素(T 为 RDD 中元素的类型),并对该元素执行相应的操作,但不返回任何值(返回类型为 Unit)。返回值:返回一个包含 RDD 中所有元素的数组,数组元素的类型与 RDD 中元素的类型一致。
2025-05-14 09:39:06
317
原创 Spark缓存
第二次调用collect时,因为之前已经调用了cache方法,并且结果已被缓存,所以不需要再次执行计算,直接从缓存中读取数据。通过对比两次计算的耗时,可以明显发现第二次计算耗时会远小于第一次(在数据量较大或计算复杂时效果更显著),这就体现了cache方法缓存计算结果、避免重复计算、提升后续操作速度的作用。RDD通过persist方法或cache方法可以将前面的计算结果缓存,但是并不是这两个方法被调用时立即缓存,而是触发后面的行动算子时,该RDD将会被缓存在计算节点的内存中,并供以后重用。
2025-05-14 09:38:34
383
原创 MapReduce编程模型
Map和Reduce函数:MapReduce是一种编程模型,其中Map函数主要用于对输入数据进行处理,将输入数据转换为一系列的键值对(key - value pairs)。例如,对于一个文本文件,Map函数可以将每行文本拆分成单词,并以单词为键,出现次数为值(初始值为1)生成键值对。比如,将相同单词的出现次数进行累加,得到每个单词在整个文件中的总出现次数。然后这些中间结果会根据键进行分区(partition)和排序(sort),相同键的值会被发送到同一个Reduce任务中进行处理。
2025-05-07 11:29:21
224
原创 hadoop的三大结构及其各自的作用
Hadoop 是一个开源的分布式计算框架,主要用于处理大规模数据集。它的三大核心组件是 HDFS(Hadoop Distributed File System)、MapReduce 和 YARN(Yet Another Resource Negotiator)。
2025-04-18 15:06:57
474
原创 VMware虚拟机安装详细教程
VMware下载安装好后,下载好我们要安装的操作系统的镜像文件后,此处安装的为centos7版本,就可以开始安装了。基于linux的主流系统,选择linux-Ubuntu 64 位,都是可以的。3、在桌面找到【VMware Workstation Pro】双击打开。6、选择客户机操作系统-linux-Ubuntu 64 位。4、打开后点击创建新的虚拟机——>典型——>点击下一步。5、安装客户机操作系统-稍后。2、然后一直下一步直到完成。7、虚拟机命名以及存放路径。
2025-02-19 11:28:44
273
原创 样例类(case)
apply 方法是在类的伴生对象中创建的,所以不需要使用 new 关键字创建实例。默认情况下,样例类的构造参数是公共 val 字段,每个参数会生成访问方法;类中会生成一个 copy 方法,在克隆对象或克隆过程中更新字段时非常有用。unapply 方法对实例进行解耦。
2024-12-12 08:43:52
225
原创 伴生对象(object)
当在伴生对象中定义一个 apply 函数后,可以无需使用 new 关键字即可创建类的实例,实际是 apply 方法充当了工厂方法。Scala 中的伴生对象即用 object 关键字声明的对象,并且与 class 有相同的名称。
2024-12-12 08:42:29
350
原创 Scala构造函数
上面代码中两个字段都定义为 var 字段,所以是可变的,如果没有手动指定,那么默认是 val 字段,且默认是 private;// 默认值构造函数为参数提供了首选的默认值,但也可以根据自己的需要重写这些值,同时在调用构造函数时可用指定参数的名称。有类名构造函数中的参数可以设置为 var,其他函数中的参数都是 val 类型。Scala 在定义类时,可以定义参数,这样。// 默认是 public。
2024-12-12 08:34:13
613
原创 Scala集合类型
List 是一个线性的、不可变的序列,即一个无法修改的链表,想要添加或删除 List 元素时,都要从现有 List 中创建一个新 List。同时拥有可变和不可变的 Set 类,默认是不可变的。foreach:该函数对列表进行遍历操作,同时可以传入函数参数,对每个元素执行该函数。map:将传入的函数作用于列表中的每个元素,为每个元素返回一个新的、转换后的值。下面是一些常用的函数(这些函数都是返回一个新的集合,不改变原有集合)。reduce:接收一个函数,并将函数作用于集合的后续元素。
2024-12-12 08:29:52
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅