自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spark-local模式

例如,一个软件工程师可以在本地模式下测试Spark程序的逻辑是否正确,然后在集群模式下进行大规模数据处理。例如,在开发一个新的机器学习算法时,可以在本地模式下使用小规模数据集进行测试和验证,然后在集群模式下处理大规模数据。- 在命令行中,可以通过设置`spark.master`为`local`或`local[N]`来启动Spark本地模式。其中,`N`表示并行线程的数量。- 在Spark程序中,可以通过`SparkConf`对象设置`spark.master`为`local`或`local[N]`。

2025-05-14 14:39:08 284

原创 spark-基本介绍

在集群模式下,Spark运行在多个节点组成的集群上。在集群模式下,Spark的驱动程序(Driver)和执行程序(Executor)分布在不同的节点上,驱动程序负责任务的调度和管理,执行程序负责执行具体的计算任务。它的API设计简洁直观,例如,通过简单的`sc.textFile`就可以从文件创建RDD,通过`map`、`filter`等操作就可以对数据进行转换。例如,一个企业可以将Spark部署在现有的Hadoop集群上,利用Hadoop的存储和资源管理能力,同时享受Spark的高性能计算优势。

2025-05-14 14:38:04 346

原创 配置hosts

现在我们可以通过finalshell这个工具来连接我们的远程服务器,不过我们连接主机的时候,需要填入对方的ip地址,这个很麻烦。hosts 文件是一个本地的文本文件,它的作用是将主机名(www.douyin.com)映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。Yum是一个linux工具,用来从网络下载安装软件到linux操作系统中,在此之前,我们先要确保虚拟机的网络是通畅的(ping www.baidu.com)。

2025-05-14 14:36:21 350

原创 RDD基本介绍

例如,有一个包含数字1 - 5的RDD,如果要对这个RDD中的每个数字加1,结果会生成一个新的RDD,包含数字2 - 6,原来的RDD保持不变。例如,`rdd.map(x => x * 2)`会生成一个新的RDD,其元素是原RDD中每个元素的两倍。例如,对于一个包含字符串的RDD,`rdd.flatMap(x => x.split(" "))`会将每个字符串按空格分割成多个单词,生成一个新的包含单词的RDD。- **filter**:根据指定的条件过滤RDD中的元素,生成一个新的RDD。

2025-05-14 14:34:28 248

原创 Scala中的元组

上面的 Tupple1 ,Tupple2, Tupple3 里面的1,2,3,代表的是能运去去除几个元素,取出时用 tuple._1取出第一个元素, 以此类推。Scala的 Tuple1 元组是有上限的, scala中最多只能有22个,若数据过大建议使用的即使集合了。例子:学习java时候,需要方法返回两个值,数组,集合和自定义类 在scala中只需使用一个元组类型即可。Scala中的元组使一个固定数量的组合,本体可以作为一个参数传递。元组可以容纳不通过类型的数据,但是它是不可变。

2025-05-14 14:31:59 84

原创 Spark SQL读入csv文件写入Mysql

val jdbcUrl = "jdbc:mysql://localhost:3306/your_database" // 替换为你的数据库地址和数据库名。val csvFilePath = "path/to/your/csvfile.csv" // 替换为你的CSV文件路径。val csvFilePath = "path/to/your/csvfile.csv" // 替换为你的CSV文件路径。.option("header", "true") // 如果CSV文件有表头。

2025-05-13 15:45:00 490

原创 Spark SQL连接Mysql并添加新数据

val jdbcUrl = "jdbc:mysql://localhost:3306/your_database" // 替换为你的数据库地址和数据库名。jdbcProps.setProperty("password", "your_password") // 替换为你的数据库密码。jdbcProps.setProperty("user", "your_username") // 替换为你的数据库用户名。.option("password", "your_password") // 替换为你的数据库密码。

2025-05-13 15:30:00 286

原创 Mysql数据库创建新数据库和数据表

在选定的数据库中,可以使用`CREATE TABLE`语句来创建新的数据表。- **数据类型选择**:根据实际需求选择合适的数据类型,例如`VARCHAR`、`INT`、`DATE`等。- **主键和唯一约束**:主键用于唯一标识表中的每条记录,唯一约束用于确保某列的值不重复。在MySQL中,可以使用`CREATE DATABASE`语句来创建一个新的数据库。- **权限管理**:确保操作用户有足够的权限来创建、修改和删除数据库和表。- **备份数据**:在执行删除操作前,建议备份相关数据,以防数据丢失。

2025-05-13 15:15:00 380

原创 Mysql数据库配置

设置字符集:`character-set-server=utf8`、`collation-server=utf8_general_ci`。- 导入SQL脚本:`mysql -u root -p mydatabase < mydatabase_backup.sql`。- 调整内存配置,如`innodb_buffer_pool_size`、`key_buffer_size`。- 配置缓存,如`query_cache_size`、`query_cache_type`。

2025-05-13 15:00:00 509

原创 Spark SQL基本使用

它允许用户使用 SQL 语法来查询数据,同时也支持使用 DataFrame 和 Dataset API。DataFrame 是一个分布式的数据集,具有命名的列。可以通过多种方式创建 DataFrame,例如从 JSON 文件、CSV 文件、Hive 表等。SparkSession 是 Spark SQL 的入口点,用于创建 DataFrame 和 Dataset,以及执行 SQL 查询。将 DataFrame 注册为一个临时视图,然后可以使用 SQL 语法查询它。// 创建 DataFrame。

2025-05-13 14:45:00 257

原创 RDD案例-数据清洗

这个案例展示了如何使用 RDD 进行基本的数据清洗操作,包括过滤无效数据、格式转换和异常处理。println(s"清洗掉的无效记录: ${rawCount - cleanedCount}")处理更复杂的格式:使用正则表达式或第三方库(如 OpenCSV)解析复杂 CSV。假设你有一个包含用户行为日志的数据集,需要清洗其中的无效数据并提取关键信息。.cache() // 缓存清洗后的数据,避免重复计算。.map(_._3) // 提取action字段。// 示例:统计不同操作类型的数量。

2025-05-13 14:30:00 307

原创 RDD的五大特征

特性:对于键值对 RDD(Key-Value RDD),可以指定分区器(如 HashPartitioner 或 RangePartitioner)。特性:RDD 保存对其父 RDD 的依赖关系,分为窄依赖(Narrow Dependency)和宽依赖(Shuffle Dependency)。特性:RDD 是分区的集合,每个分区在集群的不同节点上存储。特性:RDD 的每个分区可能有一个首选位置列表(如 HDFS 块的位置)。特性:RDD 的每个分区都有一个计算函数,用于生成该分区的数据。

2025-05-13 14:15:00 154

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

示例:hdfs dfs -put target/spark-example-1.0-SNAPSHOT.jar /user/spark/apps/打包后的文件位于 target/spark-example-1.0-SNAPSHOT.jar。--executor-cores 每个 Executor 的 CPU 核心数。--executor-memory 每个 Executor 的内存大小。--num-executors 分配的 Executor 数量。确保 Maven 已安装并配置。

2025-05-13 14:00:00 115

原创 hdfs-shell操作

HDFS(Hadoop Distributed File System)Shell 提供了一系列命令行工具,用于管理和操作 HDFS 上的文件和目录。- **路径问题**:确保路径正确,尤其是 HDFS 路径和本地路径。- **集群状态**:确保 HDFS 集群正在运行,否则命令会失败。通过这些命令,你可以方便地管理和操作 HDFS 上的文件和目录。- **文件大小**:对于大文件,上传和下载可能需要较长时间。- **权限问题**:确保当前用户有足够权限执行操作。

2025-05-13 13:45:00 357

原创 idea写spark程序

选择 Maven,勾选 Create from archetype,选择 org.apache.maven.archetypes:maven-archetype-quickstart。填写 GroupId(如 com.example)和 ArtifactId(如 spark-example),点击 Next。-- 根据你的 Spark 版本调整 -->-- Spark Streaming (可选) -->-- Spark SQL (可选) -->

2025-05-13 13:30:00 258

原创 配置集群(yarn)

ResourceManager 的 Web 界面地址为:http://resourcemanager:8088。集群环境规划:明确各节点的角色,如 ResourceManager、NodeManager 等。用户创建:创建一个专门用于 Hadoop 操作的用户,例如hadoop。时间同步设置:安装 NTP 服务,确保集群中所有节点的时间保持一致。-- NodeManager使用的容器运行时 -->-- ResourceManager地址 -->-- 容器的最小和最大内存 -->

2025-05-13 09:16:54 219

原创 Spark目前支持的部署模式

SPARK_HOME/sbin/start-worker.sh spark://hadoop-master:7077 # 从节点。--master:指定集群管理器(如 local、spark://host:port、yarn)。--deploy-mode:Driver 运行位置(cluster 或 client)。--executor-memory:每个 Executor 的内存大小。--num-executors:启动的 Executor 数量。

2025-05-13 09:16:00 839

原创 搭建大数据学习的平台

Hadoop:http://hadoop-master:9870(HDFS)和 http://hadoop-master:8088(YARN)虚拟机:至少 3 台(1 主 2 从),每台 4GB 内存,50GB 硬盘。物理机:建议 16GB 内存以上,500GB 硬盘,多核 CPU。访问:http://hadoop-master:8081。2. Spark 与 Hadoop 集成。3. HBase 与 Hadoop 集成。1. Hive 与 Hadoop 集成。配置高可用(HA)模式(可选)

2025-05-13 09:15:12 622

原创 克隆虚拟机组成集群

sudo hostnamectl set-hostname hadoop-slave1 # 从节点1。sudo hostnamectl set-hostname hadoop-slave2 # 从节点2。sudo hostnamectl set-hostname hadoop-master # 主节点。-- 副本数,通常等于从节点数量 -->http://hadoop-master:8088 # YARN 资源管理界面。http://hadoop-master:9870 # HDFS 管理界面。

2025-05-13 09:14:35 481

原创 安装Hadoop并运行WordCount程序

访问 http://localhost:9870 查看 HDFS 界面,http://localhost:8088 查看 YARN 界面。Hadoop 依赖 Java,首先需要安装 Java 开发工具包(JDK)。四、运行 WordCount 程序。二、安装 Hadoop。三、启动 Hadoop。

2025-05-13 09:13:51 374

原创 如何在idea中写spark

在 IDEA 中右键点击代码文件,选择 **Run 'SimpleSparkApp.main()'**。- 打开 IntelliJ IDEA,选择 **Create New Project**。- 填写项目信息(如 GroupId、ArtifactId),点击 **Finish**。- 创建一个 Scala 或 Java 类,例如 `SimpleSparkApp`。- 下载并安装 IntelliJ IDEA(社区版即可)。- 选择 **Maven**,点击 **Next**。### 5. 运行程序。

2025-04-28 19:47:03 386

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

配置 Hadoop 的 `core-site.xml`、`hdfs-site.xml` 和 `yarn-site.xml` 文件。- 配置环境变量,将 Spark 的 `bin` 和 `sbin` 目录添加到 `PATH` 中。- **操作系统**:推荐使用 CentOS、Ubuntu 等 Linux 系统。- 将修改后的 `yarn-site.xml` 文件分发到集群中的所有节点。- 解压 Spark 安装包到指定目录,例如 `/opt/spark`。

2025-04-28 19:44:23 292

原创 spark和Hadoop的对比和联系

尽管最初版本的 Spark 是运行于独立集群之上,但现在也可以无缝地部署至 YARN 或 Mesos 上面作为资源管理器的一部分工作。这意味着如果企业已经投资建设了一个基于 HDFS 存储层加上 Yarn 调度系统的基础设施,则可以直接利用现有硬件设施启动新的 spark 应用程序而无需额外购置专用服务器群组5。它支持内存中的数据存储以及复杂的并行操作,从而显著提高了性能,尤其是在需要多次访问同一数据集的情况下1。然而,由于其设计本质,MapReduce 对迭代运算的支持较差。

2025-04-22 09:29:05 147

原创 一分钟教会你数据清洗

通过以上简单的步骤,我们完成了数据清洗的基本操作。数据清洗虽然简单,但非常重要。它可以帮助我们去除噪声数据,提取有价值的信息。今天,我们就用一分钟的时间,通过简单的代码示例,带你快速了解数据清洗的基本操作。在 Python 中,`pandas` 是处理数据的强大工具。数据中可能存在缺失值,我们可以选择填充或删除它们。print("去除重复数据后的数据:")print("统一数据格式后的数据:")print("删除缺失值后的数据:")print("填充缺失值后的数据:")print("筛选后的数据:")

2025-04-02 15:38:59 399

原创 VMware的Linux常见命令

rm:删除文件或目录-f无需用户确认-r删除目录-rf删除目录无需用户确认 -rf/*删除所有目录。ls -l详细列表 -a显示所有文件包括隐藏的-lh人类可读的方式(多了k)mkdir:创建目录,-p如果父级目录不存在就创建父级目录。cat:查看文件内容 more以翻页的形式查看。mv:移动或重命名文件或目录。cd bin到bin目录。tab键,实现自动补齐。cp:复制文件或目录。

2025-03-03 19:23:17 107

原创 虚拟机IP配置

同样在 VMware 中选择合适的网络连接模式,如 NAT 模式。

2025-03-03 19:18:55 334

原创 关于虚拟机的问题解答

在命令模式下,将光标移动到要复制的起始行,输入。在命令模式下,将光标移动到要删除的行,按下。键可以将复制的内容粘贴到当前行的下一行。末行模式(Last Line Mode)第一次进入vi编辑器时,默认是命令模式。键(在光标后插入)可以切换到编辑模式。命令模式(Command Mode)编辑模式(Insert Mode)键可以从编辑模式切换回命令模式。键可以保存内容并退出编辑器。是要复制的行数),例如。键(在光标前插入)或。

2025-02-25 17:00:00 226

原创 虚拟机VI编辑器的使用指南

在当前行下方插入新行并进入插入模式。进入末行模式,可执行保存、退出等命令。进入插入模式后,可进行文本编辑。: 进入插入模式,光标前插入。: 进入插入模式,光标后插入。: 搜索指定内容,按。: 在命令模式下输入。: 删除光标处字符。: 不保存强制退出。

2025-02-25 10:59:11 831

原创 虚拟机应该怎么安装 “VI编辑器”

启用 WSL 并安装 Linux 发行版(如 Ubuntu)。命令,若能进入编辑器界面,说明安装成功。,但功能较少,建议安装。,可以按照上述步骤安装。

2025-02-25 10:45:11 407

原创 一分钟教会你如何使用虚拟机

在软件界面中找到 “新建虚拟机” 选项,按照提示逐步设置。首先,需要下载并安装一款虚拟机软件,比如 VMware Workstation 或 VirtualBox,这两款软件都很受欢迎且容易获取。在当今数字化时代,虚拟机为我们提供了极大的便利,无论是测试软件、学习操作系统,还是隔离工作环境,它都能派上用场。最后,启动虚拟机,就像启动一台真正的电脑一样,按照屏幕提示完成操作系统的安装过程。然后,准备好对应操作系统的镜像文件(.iso 格式),在虚拟机设置中指定该镜像文件,相当于给虚拟机装上 “系统盘”。

2025-02-18 11:35:20 670

原创 Scala泛型

/ List(1,2,3,4,5) ==> 中间元素的下标 =长度/2 ===> 3。//需求:你是一个程序员,老板让你写一个函数,用来获取列表中的中间元素。// def 函数的名字(参数1:类型1): 返回值的类型 ={// [T] 就是泛型: 类型参数化。把类型当做参数传入函数内部。

2024-12-18 17:01:48 300

原创 图书馆的登录系统

case "1" => println("查看所有图书")case "2" => println("查询图书")case _ => println("无效的选择")println("欢迎来到我的图书管理系统,请选择")//TODO: 登录之后,应该要展示不同的UI。

2024-12-16 15:23:32 351

原创 隐式对象2

/ 作用:给函数的隐式参数提供默认值。// 作为函数的隐式参数的默认值。

2024-12-11 17:02:52 286

原创 隐式对象.

println("阶乘函数被调用",d)//写代码,完成1*2*3*...*d。//需求: 给整数添加一个功能,求阶乘。(阶乘函数被调用,5)(阶乘函数被调用,6)

2024-12-11 17:02:20 312

原创 函数的隐式参数

def sayName(implicit name:String = "小明"): Unit ={//困难:函数有一个默认的参数值,在不传入具体的实参时,就会自动使用这个默认值。implicit val value:String ="小张"println("我的名字是:" + name)// 难点在于,这个默认值不能修改!sayName("小王")//一直在修改原来的代码!// 函数参数的默认值。

2024-12-11 14:48:54 264

原创 用隐式函数分析手机号是否正确格式

/开始你的代码...

2024-12-09 17:05:11 108

原创 隐式转换,没有输入implicit代码将无法正常运行

/隐式转换:编译器 偷偷地,自动地帮我们把一种数据类型转换为另一种类型。// 它有失败的时候(double-->int), 有成功的时候.// 例如: int --> double。println("implicit X 被调动了")//当它失败的时候,我们提供一个工具,让它能成功。//明确地,把double转成int。implicit X 被调动了。

2024-12-09 16:01:28 238

原创 验证合法用户名

println(reg.matches(name1))//matches对字符串做验证,返回boolean值。" // 不合法,!val name1 = "1admin" // 不合法,是数字开头。val name3 = "admin" // 不合法,长度不够。val name2 = "admin123" // 合法。val name4 = "ad_123Ab" //合法。//3. 只能包含数字,大小写字母,下划线。// 通过正则表达式来判断。//验证用户名是否合法。//2. 不能数字开头。

2024-12-09 15:44:41 195

原创 身份证号打码

val str = "张先生,ID:421202200409225336"

2024-12-09 15:43:51 157

原创 手机号打码

package test_37// 任务:把字符串中的手机号打码:类似于:133****6880//正则表达式的应用场景//查找,验证,替换object test2 { def main(args: Array[String]): Unit = { var str = "周先生,手机号: 13317406880 你买的 xxx 到了" //开始你的代码 //133 1740 6880// val reg ="1[3-9]\\d{9}".r va

2024-12-09 15:32:26 232

空空如也

空空如也

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

TA关注的人

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