- 博客(67)
- 收藏
- 关注
原创 Spark中Maven的用法
在这种情况下,MapReduce并不是不能做,而是使用后,每个MapReduce作业的输出结果都会写入到磁盘,会造成大量的磁盘IO,导致性能非常的低下。流式计算的输入数据是动态的,会一条一条的过来,是动态产生的,而MapReduce的输入数据集是静态的,不能动态变化。注:我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。它的任务会跑好几个小时,好几天。
2025-05-13 15:37:42
273
原创 配置spark
进入到hadoop100(自己所配置下的机器名字)机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。进入/opt/module/目录下把解压的内容重命名一下。这个文件在spark的安装目录下的conf目录下,先把名字改为workers,然后把内容设置为三台机器的主机名,具体如下。注意,这里不要省略./,它表示的是当前目录下的start-all命令,如果省略了./,它就会先去环境变量PATH中指定的目录来找这个命令。
2025-05-13 15:36:13
209
原创 如何搭建spark yarn模式的集群
软件:确保所有节点安装了相同版本的 Java(建议 Java 8 或更高版本)和 Hadoop(包含 YARN)。网络问题:确保所有节点之间网络连通,防火墙允许 Hadoop 和 Spark 相关端口通信。权限问题:确保运行 Hadoop 和 Spark 的用户有足够的权限访问相关目录和文件。从 Apache 官网下载 Hadoop 压缩包,然后解压到指定目录。从 Apache 官网下载 Spark 压缩包,然后解压到指定目录。通过以上步骤,你就可以成功搭建一个 Spark YARN 模式的集群。
2025-05-13 15:35:37
696
原创 编辑器的使用
在 vim 中,默认启用语法高亮。- /pattern:查找 `pattern`(按 `n` 查找下一个,`N` 查找上一个)。- vim 支持丰富的插件,可以通过插件管理器(如 Vundle、Pathogen)扩展功能。3. 输入 :%s/hello/world/g,将文件中所有的 hello 替换为 world。- :%s/old/new/g:全局替换 `old` 为 `new`。:%s/old/new/g | 全局替换 old 为 new。- 在此模式下可以执行复制、粘贴、删除、保存等操作。
2025-05-13 15:34:51
462
原创 一分钟教你学会数据清洗
利用工具的去重功能,Excel 中可通过 “删除重复项” 按钮,pandas 中使用drop_duplicates()函数,一键就能删除这些重复数据,保证数据的唯一性。数据格式不一致也很麻烦。如员工薪资,有的以 “元” 为单位,有的以 “万元” 为单位。在数据的世界里,原始数据就如同未经雕琢的璞玉,往往夹杂着杂质,而数据清洗便是去除这些杂质,让数据闪耀光芒的关键步骤。别担心,接下来,只需一分钟,就能初步掌握数据清洗的奥秘。经过这几步,原本杂乱的数据就会变得整洁有序,为后续的数据分析和挖掘工作打下坚实基础。
2025-05-13 15:33:57
223
原创 教你快速配置host
hosts 文件是一个本地的文本文件,它的作用是将主机名(www.douyin.com)映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。在记事本中选择 “文件” -> “打开”,在 “文件类型” 中选择 “所有文件”,定位到 C:\Windows\System32\drivers\etc 目录,选择 hosts 文件并打开。在系统窗口中,点击 “更改设置”,在弹出的 “系统属性” 窗口中,切换到 “计算机名” 选项卡。
2025-05-13 15:33:18
384
原创 mapreduce的工作原理
例如,在单词计数的例子中,输入文本被分割成单词,每个单词作为键,值为 1,表示出现一次。归约操作:每个 Reduce 任务会接收来自不同 Map 任务的相同键的中间结果,Reduce 函数会对这些结果进行合并和处理,最终生成最终的输出结果 <output_key, output_value>。MapReduce 主要由两个阶段组成:Map 阶段和 Reduce 阶段,此外还有一些辅助步骤,整体流程包括输入数据、Map 任务、Shuffle 和 Sort(洗牌与排序)、Reduce 任务、输出结果。
2025-05-13 15:32:38
379
原创 RDD 案例 - 数据清洗
上述代码中,先创建包含脏数据的 RDD,然后通过 filter 算子过滤掉成绩为负数和缺失值的数据,再通过 map 算子整理数据格式,完成数据清洗。假设有一个包含学生成绩信息的 RDD,数据格式为 (学生 ID, 课程名,成绩) ,其中存在一些成绩为负数(不合理值)和缺失值(null)的数据。数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序 ,包括检查数据一致性,处理无效值和缺失值等。
2025-05-13 14:32:54
261
原创 RDD 算子 - 行动算子
collect:将 RDD 中的所有元素以数组的形式返回到驱动程序中。比如 RDD = [1, 2, 3] ,RDD.collect () 会返回 [1, 2, 3]。例如 RDD = [1, 2, 3, 4] ,RDD.reduce ((x, y) => x + y) 会将元素累加,返回 10。count:返回 RDD 中元素的个数。例如 RDD = [1, 2, 3, 4, 5] ,RDD.count () 会返回 5。行动算子用于触发 RDD 的计算,得到最终结果或产生外部可见的效果。
2025-05-13 14:29:16
219
原创 RDD 算子 - 转换算子 2
转换算子用于对 RDD 进行转换,生成新的 RDD。例如 RDD1 = [1, 2, 3] ,RDD2 = [3, 4, 5] ,RDD1.union (RDD2) 得到 [1, 2, 3, 3, 4, 5]。比如输入 RDD 是 [["a", "b"], ["c", "d"]] ,使用 flatMap 处理后会得到 ["a", "b", "c", "d"]。比如 RDD1 = [1, 2, 3] ,RDD2 = [3, 4, 5] ,RDD1.intersection (RDD2) 得到 [3]。
2025-05-13 14:28:40
142
原创 RDD介绍
Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算 的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。val distData = sc.parallelize(data, 2) // 第二个参数是分区数。// 通过 parallelize 方法将本地集合转换为 RDD。// 创建 SparkConf 和 SparkContext。// 创建 SparkConf 和 SparkContext。// 创建一个本地集合。
2025-05-13 14:27:54
205
原创 如何在idea中学spark代码
master("local[*]") // 本地模式,使用所有可用核心。程序运行时访问http://localhost:4040查看Spark UI。确保包含所有依赖或使用spark-submit的--packages选项。类路径问题:确保所有Spark依赖项范围设置为provided或正确打包。版本冲突:保持Scala版本与Spark的Scala版本一致。Scala插件 (如果使用Scala编写Spark程序)使用.master("local[*]")在本地运行。使用Maven或SBT打包项目。
2025-05-13 14:26:43
385
原创 如何在sheel中运行spark
/ 将元组的value按照key来分组,对所有的value执行聚合操作(相加)// 将元组的value按照key来分组,对所有的value执行聚合操作(相加)// 将单词转换为元组对象,key是单词,value是数字1。// 将单词转换为元组对象,key是单词,value是数字1。// 将单词进行切割,得到一个存储全部单词的RDD。// 将单词进行切割,得到一个存储全部单词的。// 收集RDD的数据并打印输出结果。// 收集RDD的数据并。// 读取文件,得到RDD。
2025-05-13 14:25:22
467
原创 集群免密登录
在hadoop100上,运行命令:ssh-keygen -t rsa。它会在当前用户目录(/root)下生成一个.ssh的文件夹,并创建了两个文件。这里专门有一个命令ssh-copy-id。它的格式是: ssh-copy-id 目标机器。这里的id_rsa就是私钥,id_rsa.pub就是公钥。在hadoop100上,输入ssh hadoop101命令,看看是否可以免密登录?在hadoop100上登录hadoop101,验证效果。把hadoop100的公钥发到hadoop101上。
2025-05-12 11:33:04
187
原创 转换算子和行动算子的区别
转换算子(Transformation)和行动算子(Action)是Spark中RDD(弹性分布式数据集)操作的两种主要类型,它们在功能、执行方式以及返回结果上存在显著区别。转换算子:val newRDD = rdd.map(x => x * 2),这里只是记录了映射操作,不会立即执行。行动算子:val count = rdd.count(),这里会立即计算RDD中的元素数量并返回结果。行动算子则是立即执行的,它们会触发Spark任务的调度和执行,并返回结果或输出到存储系统。
2025-05-12 11:30:21
281
原创 配置yam模式,写代码连接数据库,写回数据库
我将提供使用 Scala 语言在 YARN 模式下配置 Spark,连接数据库并将处理后的数据写回数据库的代码示例。创建 SparkSession:运用 SparkSession.builder() 构建一个 SparkSession 对象,同时将运行模式设定为 YARN。读取数据:使用 spark.read.jdbc() 方法从数据库读取数据,返回一个 DataFrame。写回数据:使用 processedDF.write.jdbc() 方法把处理后的数据写回数据库。// 将处理后的数据写回数据库。
2025-05-12 11:28:23
436
原创 Spark 配置 YARN
在 Spark 的 conf 目录下,若 spark-defaults.conf 文件不存在,可复制 spark-defaults.conf.template 来创建。spark-env.sh 文件位于 Spark 的 conf 目录下。依据集群资源状况,合理调整 Spark 应用的资源参数,像 spark.driver.memory、spark.executor.memory 等。通过以上步骤,你就能在 Spark 中成功配置 YARN 并运行 Spark 应用了。2. 配置 spark-env.sh。
2025-05-12 11:27:28
381
原创 什么是RDD,有哪几种创建方式
从并行集合创建:可以将本地的集合(如 Scala 中的数组、列表等)并行化创建 RDD。示例代码:val data = Array(1, 2, 3, 4, 5);RDD 具有容错性,可在集群中弹性分布存储和计算,允许用户在大规模数据集上进行各种并行计算操作,比如转换(transformation)和动作(action)。例如从 HDFS 读取文本文件创建 RDD,在 Scala 中代码为val rdd = sc.textFile("hdfs://path/to/file")。
2025-05-12 11:26:26
265
原创 下载安装Vm和centos
选择 “Linux” 操作系统,版本根据你下载的 CentOS 版本进行选择,如 “CentOS 7 64 位”,点击 “下一步”。选择 “安装程序光盘映像文件(ISO)”,点击 “浏览” 按钮,找到之前下载好的 CentOS 镜像文件,选择后点击 “下一步”。可以选择默认的安装位置,也可以点击 “更改” 按钮,指定其他磁盘路径进行安装,设置完成后点击 “下一步”。在弹出的 “新建虚拟机向导” 中,选择 “典型(推荐)”,然后点击 “下一步”。选择安装语言,一般选择 “中文(简体)”,点击 “继续”。
2025-05-12 10:57:20
461
原创 如何在idea中写spark程序
spark-program-in-idea在 IntelliJ IDEA 中编写的 Spark 程序。通过以上步骤,你就能在 IntelliJ IDEA 中编写、运行和提交 Spark 程序了。文件,添加 Spark 依赖。在编写好代码后,你可以点击 IDE 中的运行按钮或者使用快捷键。如果你想将程序提交到集群上运行,需要配置相应的运行环境。若要将程序提交到集群运行,需将项目打包成 JAR 文件。添加完依赖后,Maven 会自动下载这些库。为项目命名,指定存储位置,再点击。,接着在左侧菜单中选取。
2025-04-28 20:05:09
410
原创 如何搭建spark yarn模式的集群
从 Apache 官网下载 Hadoop 压缩包,然后解压到指定目录。从 Apache 官网下载 Spark 压缩包,然后解压到指定目录。通过以上步骤,你就可以成功搭建一个 Spark YARN 模式的集群。
2025-04-28 20:00:57
674
原创 spark和hadoop的区别与联系
资源管理 :Spark 可以运行在 Hadoop 的 YARN 资源管理器上,YARN 能统一管理集群资源,为 Spark 和 Hadoop MapReduce 等应用程序分配计算资源,提高集群资源利用率。Spark :提供了丰富且简洁的 API,支持 Java、Scala、Python 和 R 等多种语言,编程模型更直观,易学易用,受到数据科学家和开发者青睐。Spark :采用内存计算,将数据存储在内存中,减少了磁盘读写开销,中间结果在内存中直接传递和处理,大大提高了计算速度。
2025-04-21 08:32:10
434
原创 mapreduce的工作原理
MapReduce 是一种用于**大规模数据并行处理**的编程模型,由 Google 提出,其核心思想是将计算任务分解为 **Map(映射)** 和 **Reduce(归约)** 两个阶段,通过分布式计算高效处理海量数据。- **处理**:Map 函数对每个分片中的键值对(如文本行、日志记录)进行处理,生成中间键值对(如 `<单词, 1>`)。- **输入**:将输入数据分割为多个 **分片(Split)**,每个分片分配给一个 Map 任务。- **输出**:最终结果写入分布式文件系统(如 HDFS)。
2025-04-01 08:01:46
342
原创 1. hadoop 集群的常用命令
Hadoop集群的常用命令主要分为**HDFS文件操作**、**YARN资源管理**、**集群管理**和**维护工具**四大类。hdfs dfs -put <本地路径> <HDFS路径> # 等价于 -copyFromLocal。hdfs dfs -get <HDFS路径> <本地路径> # 等价于 -copyToLocal。hdfs dfs -ls <HDFS路径> # 例如:hdfs dfs -ls /user。hdfs dfs -copyToLocal <HDFS路径> <本地路径>
2025-03-31 20:17:13
586
原创 vm和centos
选择 “Linux” 操作系统,版本根据你下载的 CentOS 版本进行选择,如 “CentOS 7 64 位”,点击 “下一步”。选择 “安装程序光盘映像文件(ISO)”,点击 “浏览” 按钮,找到之前下载好的 CentOS 镜像文件,选择后点击 “下一步”。可以选择默认的安装位置,也可以点击 “更改” 按钮,指定其他磁盘路径进行安装,设置完成后点击 “下一步”。在弹出的 “新建虚拟机向导” 中,选择 “典型(推荐)”,然后点击 “下一步”。确认所有设置无误后,点击 “安装” 按钮,等待安装过程完成。
2025-02-24 19:46:15
554
原创 scala图书管理系统
文件:books.txt ,users.txt ,borrow_records.txt。9,你当像鸟飞往你的山,塔拉·韦斯特弗,true。8,哈利·波特与魔法石,J.K.罗琳,true。3,百年孤独,加西亚·马尔克斯,true。4,小王子,圣埃克苏佩里,true。10,邓小平时代,傅高义,true。1,人性的弱点,卡耐基,true。2,理想国,柏拉图,true。5,红楼梦,曹雪芹,true。6,围城,钱钟书,true。软件包【service】7,活着,余华,true。软件包【modeis】
2024-12-30 10:30:17
413
原创 十个Scala的小知识
可以在Scala项目中直接使用Java类库,也可以将Scala代码编译后供Java项目使用。例如,一个Java框架可以轻松地集成Scala编写的代码模块。例如,可以使用flatten方法将嵌套的集合扁平化为一个层次的集合。当编写递归函数且递归调用是函数的最后一个操作时,可以利用尾递归优化性能。例如,可以定义自己版本的加法操作符。可以使用type关键字定义类型别名,这使得复杂的类型可以使用一个简化的名称在代码中表示。可以定义包对象来存放包级别的属性和方法,而不是把这些内容分散在不同的类或者单例对象中。
2024-12-29 23:02:46
765
原创 十个Scala的使用小技巧
如果你对Scala的语法和功能还有更多的疑问,我可以给你分享一些相关的学习资源。样例类自带了很多有用的方法,比如`toString`、`equals`等。在定义泛型类时可以指定协变或逆变,这在处理类型之间的关系时很有用。在Scala中,可以使用类型推断来简洁地定义变量。这里`filter`方法可以方便地过滤出满足条件的元素。使用`s`插值可以方便地把变量嵌入到字符串中。使用`Option`类型可以避免空指针异常。使用`_`可以匹配其他所有情况。Scala中的匿名函数简洁方便。# 1. 简洁的变量定义。
2024-12-21 18:48:24
518
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅