自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spark如何连接MySQL数据库

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

2025-05-16 11:09:18 401

原创 SparkSQL-数据提取和保存

从给定的user.csv文件中,读入用户数据,过滤掉年龄<18岁的信息,然后把剩余的数据写入mysql数据库中。// 连接hadoop100上的mysql数据库,读出spark数据库中的person表中的内容。// 读入data/user.csv文件的数据,插入到mysql数据库中。从csv中读入数据到DataFrame。.write.mode("append") // 写入到数据库中。// 创建一个properties对象,用来存储mysql连接信息。// 读入data/user.csv文件的数据。

2025-05-16 11:05:51 251

原创 SparkSQL操作Mysql -2

请注意,这里并没没有单独添加spark_core的依赖,因为在spark-sql中已经包含了spark_core。(2)spark-sql_2.12 提供了 Spark SQL 的功能,用于高效的数据处理和分析。(3)mysql-connector-java 提供了与 MySQL 数据库交互的能力。// 创建properties对象,设置连接mysql的用户名和密码。// 创建properties对象,设置连接mysql的用户名和密码。我们去创建一个新的数据库,数据表,并插入一条数据。

2025-05-16 11:02:48 438

原创 SparkSQL操作Mysql

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

2025-05-16 11:01:00 741

原创 什么是RDD的区分

当使用 textFile 方法从外部存储(如 HDFS、本地文件系统等)读取文件创建 RDD 时,默认分区数通常由文件的块大小决定。对于 HDFS 文件,默认分区数等于文件的块数。例如,一个 128MB 的文件在 HDFS 上被分成 2 个 64MB 的块,那么创建的 RDD 默认分区数就是 2。在 Spark 里,弹性分布式数据集(RDD)是核心的数据抽象,它是不可变的、可分区的、里面的元素并行计算的集合。RDD 会被划分成多个分区,每个分区就是一个数据集片段,这些分区可以分布在集群的不同节点上。

2025-05-16 10:55:44 358

原创 Linux操作系统命令-复杂命令2

ls命令可以查看文件夹下的文件信息,如果某个文件夹下的文件特别多,使用ls命令时,就只能显示后面一部分文件信息,那如果我们希望查看全部的文件信息,要怎么办呢?因为在linux下,我们要去下载安装新的软件时就需要用到它:下载下来的软件大多都是.tar格式,而安装的过程就是解压缩。会把111写入a.txt这个文件中,把之前的内容删除掉。把1.txt,2.txt,3.txt压缩到test.tar文件(会被自动创建)中。-c 建立一个压缩文件,把多个文件或者文件夹压缩到一个新的文件中。

2025-05-15 18:53:28 219

原创 Linux操作系统命令-复杂命令

示例:把目录dir1复制一份得到dir2. 那么对应的命令就是:cp -r dir1 dir2。示例: 把file1.txt 复制一份得到file2.t x t。移动操作: mv file.txt newdir/file.txt。说明:如果源文件和目标文件在同一个目录下,就是重命名,否则就是移动。重命名操作: mv file.txt newfile.txt。复制和移动都分为文件和文件夹,具体的命令是cp和mv。3. more -tail:查看文件的结尾部分的内容。格式: cp 源文件 目标文件。

2025-05-15 18:52:32 252

原创 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-15 18:50:46 840

原创 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-15 14:54:05 373

原创 MapReduce架构-序列化

Java的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,Header,继承体系等),不便于在网络中高效传输。下面我们来看一个例子:通过代码来定义一个类,并创建它的一个对象,把这个对象保存到文件中(序列化),然后再写代码读取这个文件并还原回来。序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。

2025-05-15 14:50:53 399

原创 带你了解Tool接口

org.apache.hadoop.util.Tool 是 Apache Hadoop 框架里的一个接口,其用途是协助开发可通过命令行运行的 Hadoop 应用程序。ToolRunner 是 Hadoop 提供的一个实用类,可用于运行实现了 Tool 接口的应用程序。run(String[] args):此方法为应用程序的主要执行逻辑,接收命令行参数,返回一个整数代表执行结果(通常 0 表示成功,非 0 表示失败)。2.run 方法会打印出接收到的命令行参数,你可以在此添加自己的业务逻辑。

2025-05-15 14:49:25 359

原创 IDEA编写Maven项目

在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”。注:这里的dependencies要这一步中的hadoop-client要和我们前面客户端准备中下载的hadoop保持一致。System.out.println("路径: " + fileStatus.getPath());System.out.println("根目录下的文件和目录信息:");

2025-05-15 14:15:58 300

原创 教你core_RDD入门

通过 SparkConf 类,你可以设置应用程序的名称、运行模式(如本地模式、集群模式)、资源分配(如内存、CPU 核心数)等。Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。- Distributed: 分布式存储的,表示数据是存放在不同的机器上的。不可变的:immutable。并行计算:集合中的数据可以被并行的计算处理,每个分区数据被一个Task任务处理。

2025-05-15 14:12:43 401

原创 HDFS的概述

把本地的文件上传到HDFS,并删除本地的文件。(1)文件上传 HDFS 的时候,Client 将文件切分成一个一个的 Block,然后进行上传;使用-rm -r命令, 它用来删除目录及目录里面内容,它的格式是: -rm -r 要删除的文件夹。使用-mv命令,它的格式是: hadoop fs -mv 文件起点 终点。hadoop fs -get (服务器上的文件路径 本地文件路径)2.如果要保留本地的文件,可以使用 -put 命令。(2)与 NameNode 交互,获取文件的位置信息;

2025-05-15 12:39:00 596

原创 搭建spark yarn模式的集群

1.上传并解压spark-3.1.2-bin-hadoop3.2.tgz,重命名解压之后的目录为spark-yarn。对应的命令是:tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module。使用xsync /opt/module/hadoop-3.1.3/etc/hadoop/同步一下。

2025-05-15 12:34:50 419

原创 搭建Hadoop集群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-15 09:23:31 207

原创 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-15 09:11:55 461

原创 如何上传文件

在NameNode上上传<128M文件时可直接上传当文件>128M时会将这个大文件拆分为多个小文件上传。随机创建一个小文件在NameNode上上传。在FinalShell上用命令上传文件就是。先使用命令打开HDFS的NameNode。上传的文件下载下来…上传小文件(小于128M)上传大文件(大于128M)刷新yarn即可查看。

2025-05-15 09:04:24 205

原创 关于Hadoop和yarn

YARN(Yet Another Resource Negotiator)是 Hadoop 2.0 引入的资源管理平台,其核心功能是将资源管理与作业调度/监控分离,支持多计算框架(如 MapReduce、Spark 等)运行在同一个集群中,提高资源利用率和系统扩展性。YARN(Yet Another Resource Negotiator):资源管理和作业调度框架,负责集群资源的统一分配和任务调度,提升集群利用率。ResourceManager(RM):集群资源的总管理者,负责全局资源分配与调度。

2025-05-15 08:14:28 165

原创 【无如何搭建spark yarn模式的集群标题】

对应的命令是:tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module。- 在主节点上执行 /opt/spark/sbin/start-all.sh 启动Spark集群,启动后可通过Spark Web UI(默认端口为8080)和YARN Web UI(默认端口为8088)查看集群状态。同步给其他的设备: xsync /etc/profile.d/

2025-05-15 08:11:45 413

原创 Spark 集群配置、启动与监控指南

【代码】Spark 集群配置、启动与监控指南。

2025-05-14 23:07:46 533

原创 Hadoop的组成

(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。每个框都是一个进程,可能都运行在一台主机上,但是,属于不同的集群。对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。在Hadoop3.X中,hadoop一共有三个组成部分:MapReduce,Yarn,HDFS。Yarn和HDFS的关系说明:逻辑上分离,物理上在一起。

2025-05-14 23:03:30 243

原创 Spark中常见的几个命令

伪分布式:也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类节点,特点:Hadoop 启动的这些守护进程都在同一台机器上运行,是相互独立的 Java 进程。eg命令:scp -r /opt/module/jdk1.8.0_212/ root@hadoop102:/opt/module/jdk1.8.0_212/命令:rsync -av /opt/conf/1.txt root@roothadoop102:/opt/conf/$pdir/$fname :要拷贝的文件路径 / 名称。

2025-05-14 22:58:59 315

原创 Linux yum配置

把yum想象成你自己开的一家商场,那么yum的源就是你的供货商。如果是win11,它在Windows/system32/hosts 文件,如果是win10,它在C:\Windows\System32\drivers\etc\hosts。我们打开这个文件,并在最后一行的后边,添加三个新行,内容是:IP地址 主机名 eg:192.168.56.101 hadoop100。网络上的免费而稳定的源有很多,这里我们选择阿里云的源。具体的操作是打开/etc/hostname这个文件,并修改其中的内容。

2025-05-14 22:52:48 634

原创 mapreduce的工作原理

使用 InputFormat (如 TextInputFormat )读取分片数据,将数据转换为 <key, value> 键值对(例如每行文本的偏移量为 Key,内容为 Value)。用户通过实现 map() 函数对每个 <key, value> 进行处理,输出中间结果 <intermediate_key, intermediate_value>。- 示例:在 WordCount 中,Reduce 阶段将 <单词, [1,1,1...]> 合并为 <单词, 总次数>。

2025-03-31 20:17:51 409

原创 hadoop 集群的常用命令

hdfs dfs -get /hdfs_file local_path # 下载 HDFS 文件到本地。hdfs dfs -put local_file /hdfs_path # 上传本地文件到 HDFS。hdfs dfs -tail /hdfs_file # 查看文件末尾内容。hdfs dfs -rm -r /hdfs_dir # 递归删除目录。hdfs dfs -cat /hdfs_file # 查看文件内容。hdfs dfs -rm /hdfs_file # 删除文件。

2025-03-31 20:13:40 541

原创 vi的常见操作命令

移动光标:使用 h (向左)、 j (向下)、 k (向上)、 l (向右)按键移动光标;- 查找与替换: /pattern 用于查找指定的模式 pattern , :%s/old/new/g 用于将全文中的 old 替换为 new。表示强制退出,不保存修改, :wq 表示保存并退出。- 打开文件:在终端输入 vi filename ,即可打开指定文件进入 vi 编辑器,此时默认处于命令模式。- 保存文件:在命令模式下输入 :w ,若要另存为其他文件名,可使用 :w newfilename。

2025-03-03 20:08:02 461

原创 linux常见操作命令

Linux操作系统没有提供图形化的界面,没有鼠标,只有键盘。所有一切使用鼠标的操作现在全都只能使用键盘输入相关命令才能执行了。1. ls:列出目录内容,包括参数-l(详细列表)、-a(显示隐藏文件)。下面我们来学习查看文件相关的命令,一共有三个:ls, cd, pwd。特别提醒大家:命令属于死东西,多用多会,不用就忘,孰能生巧!注意在前面我们介绍了ll,其实它就是ls -l 的简写。cd ~ : 进入当前用户的根目录。cd / :进入操作系统的根目录。cd ..: 进入上一级目录。2. cd:切换目录。

2025-03-03 20:06:21 179

原创 如何配置虚拟机IP?

在“Internet协议版本4(TCP/IPv4)属性”窗口中,选择“使用下面的IP地址”,然后输入IP地址、子网掩码、默认网关和DNS服务器地址等信息,点击“确定”即可。点击“更改适配器设置”,右键单击要配置的网络连接(如“以太网”或“本地连接”),选择“属性”。在弹出的属性窗口中,选中“Internet协议版本4(TCP/IPv4)”,点击“属性”。在配置虚拟机IP时,要确保设置的IP地址与所在网络环境不冲突,且符合网络的拓扑结构和规划。打开“控制面板”,选择“网络和共享中心”。

2025-03-03 19:58:51 659

原创 vm+centos虚拟机

③选择“安装程序光盘镜像文件(ISO)”,浏览并选择下载好的CentOS镜像文件,点击“下一步”。⑩在“网络和主机名”中,可设置网络连接方式和主机名等,设置完成后点击“开始安装”。⑤根据实际需求分配磁盘大小等资源,点击“下一步”,然后点击“完成”。⑨在“安装位置”中,可选择自动分区或手动分区,设置好后点击“完成”。②在“新建虚拟机向导”中,选择“典型(推荐)”,点击“下一步”。④输入虚拟机名称,选择虚拟机保存位置,点击“下一步”。⑧选择安装语言,如中文等,点击“继续”。⑥安装CentOS系统。

2025-03-03 19:55:25 481

原创 scala的隐式转换

定义implicit。

2024-12-12 09:10:51 525

原创 Scala中如何判断偶数

2024-12-11 23:32:50 131

原创 Scala的隐式对象

Scala中,隐式对象(implicit object)是一种特殊的对象,它可以使得其成员(如方法和值)在特定的上下文中自动可用,而无需显式地传递它们。隐式对象通常与隐式参数和隐式转换一起使用,以提供一种方便的方式来扩展类的功能或添加新的上下文相关的操作。

2024-12-11 23:32:21 619

原创 Scala的单例对象

")

2024-12-11 23:22:24 500

原创 Scala中求斐波那契数列的第n项

记: 0 1 1 2 3 5 8 13 21 34 55 ... 从第3项开始 f(n) = f(n-1) + f(n-2)2.递归情况(大事化小,自己调用自己): f(n) = f(n-1) + f(n-2)1.基本情况(直接能求的):f(0) = 0,f(1) = 1。问题:求 斐波那契数列的第n项。求斐波那契数列的第n项。

2024-12-11 23:16:59 413

原创 Scala递归中求汉罗塔游戏的步骤

1.基本情况(直接能求的):f(1,"A","B","C"),可以直接求,从A ---->C。记:f(n,"A","B","C")表示n个盘子从A柱子上移动到C柱子上,借用B柱子的过程。f(要移动的盘子的个数,起点,辅助柱子,终点)

2024-12-11 23:02:12 374

原创 scala练习题

println(s"书名${el.bookName},作者${el.author},价格${el.price},数量${el.author}")println(s"《$bookName》 不存在,删除失败")println(s"《$bookName》 存在,删除成功")println(s"《$bookName》 不存在")println(s"id:$ID 不存在,删除失败")println(s"《$bookName》 存在")println(s"id:$ID 存在,删除成功")//7.删除指定ID的书。

2024-12-11 22:59:12 567

原创 scala的正则表达式3

非贪婪模式下,量词会尝试匹配尽可能少的字符。在Scala中,你可以通过在量词后面加上。贪婪模式是正则表达式的默认行为。在这种模式下,量词(如。)会尝试匹配尽可能多的字符。会匹配任意数量的任意字符,包括空字符。来实现非贪婪匹配,如。

2024-12-11 22:28:38 698

原创 scala的正则表达式2

a+` 可以匹配 `a`、`aa`、`aaa` 等,但不能匹配空字符串;例如,`a` 匹配字符 `a`,`[abc]` 匹配 `a`、`b` 或者 `c` 中的任意一个字符,`[a-z]` 匹配从 `a` 到 `z` 的任意一个小写字母。例如,`(ab)+` 表示 `ab` 这个组合至少出现1次,如 `ab`、`abab`、`ababab` 等符合要求。例如,`^` 表示匹配行首,`$` 表示匹配行尾。`^abc` 表示匹配以 `abc` 开头的行,`abc$` 表示匹配以 `abc` 结尾的行。

2024-12-11 22:05:38 551

原创 scala的正则表达式

2024-12-11 21:50:05 218

空空如也

空空如也

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

TA关注的人

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