- 博客(1467)
- 资源 (79)
- 收藏
- 关注
原创 大数据学习指南从入门到精通
利用框架的力量,看懂游戏规则,才是入行的前提大多数人不懂,不会,不做,才是你的机会,你得行动,不能畏首畏尾选择才是拉差距关键,风向,比你流的汗水重要一万倍,逆风划船要累死人的为什么选择学习大数据开发,不选择Java开发?借棋弈做比喻,智商高的不要选择五子琪,要选择围棋,它能长久地吸引你。不都是在棋盘上一颗黑子一颗白子地下吗?因为围棋更复杂,能够掌握如此复杂的技艺、产生稳定输出的棋手、让我们更佩服。选择学习大数据开发也如此,能让你的职业生涯走得更远,少走弯路。
2022-05-21 15:57:40
24130
184
原创 大数据Spark(七十五):Action行动算子foreachpartition和count使用案例
摘要:本文介绍了Spark中的两个重要Action算子:foreachPartition和count。foreachPartition以分区为单位遍历数据,适用于批量操作场景(如数据库连接),相比foreach能显著提高效率。count则用于统计RDD中的元素总数。文章通过Java和Scala代码示例展示了两种算子的具体用法,并强调Action算子会触发实际计算(与Transformations的延迟执行不同),每个Action算子对应一个Spark job。这些算子对于大数据处理中的结果收集和持久化操作至
2025-12-13 17:01:19
1194
原创 大数据Spark(七十四):Transformation转换算子aggregateByKey和combineByKey使用案例
本文介绍了Spark中两个关键的转换算子aggregateByKey和combineByKey的使用方法。aggregateByKey允许分别定义分区内和分区间聚合规则,通过初始值zeroValue、分区内聚合函数seqOp和分区间合并函数combOp实现灵活聚合。combineByKey则通过createCombiner初始化每个键的第一个值,使用mergeValue合并分区内数据,mergeCombiners合并分区间结果。两种算子都支持map端预聚合,但combineByKey可以基于第一个值进行初始
2025-11-26 11:33:09
1223
原创 大数据Spark(七十三):Transformation转换算子glom和foldByKey使用案例
摘要:本文介绍了Spark中两个Transformation转换算子glom和foldByKey的使用案例。glom算子将每个分区的数据合并为数组,适用于数据量小且需要分区内统计的场景,文中展示了Java和Scala的代码实现。foldByKey算子则是对键值对RDD进行聚合操作,与reduceByKey类似但支持初始值设置,适用于分区内外聚合规则相同的场景,同样提供了Java和Scala示例。文章还通过实际运行结果展示了不同分区设置对foldByKey计算结果的影响。
2025-11-15 15:53:17
1273
1
原创 大数据Spark(七十二):Transformation转换算子repartition和coalesce使用案例
本文介绍了Spark中两种分区调整算子:repartition和coalesce。repartition可以进行分区增减,但总会触发shuffle操作,适合提高并行度;coalesce主要用于减少分区,默认不触发shuffle,效率更高。文章通过Java和Scala代码示例演示了两种操作的效果,特别指出repartition(numPartitions)等同于coalesce(numPartitions,true)。当coalesce设置的分区数大于原分区数且shuffle=false时,操作不会生效。
2025-11-08 10:09:03
1067
1
原创 大数据Spark(七十一):Transformation转换算子zipWithIndex、mapPartitions和mapPartitionsWithIndex使用案例
本文介绍了Spark中的三个重要转换算子:zipWithIndex、mapPartitions和mapPartitionsWithIndex的使用案例。zipWithIndex用于将RDD元素与其索引组成键值对;mapPartitions以分区为单位处理数据,适合批量操作如数据库连接;mapPartitionsWithIndex则在处理分区数据时能获取分区索引。文章分别展示了Java和Scala两种语言的实现代码,并通过示例演示了这些算子在实际应用中的场景和优势,如减少重复初始化开销等。运行结果显示这些算子
2025-11-01 20:09:18
1545
原创 大数据Spark(七十):Transformation转换算子cogroup和zip使用案例
本文介绍了Spark中两个重要的转换算子cogroup和zip的使用方法。cogroup作用于两个键值格式的RDD,将相同键的值合并为迭代器集合,返回格式为RDD(K,(Iterable,Iterable)),注意子RDD分区数与父RDD较多的保持一致。zip则将两个RDD中的元素按位置一一对应组合成键值对,要求两个RDD的每个分区元素个数必须相同。文章提供了Java和Scala两种语言的实现代码示例,展示了如何通过这两个算子对数据进行转换操作。
2025-10-24 23:49:37
457
原创 大数据Spark(六十九):Transformation转换算子intersection和subtract使用案例
取两个RDD数据集的差集,rdd1.subtract(rdd2):返回rdd1中有但rdd2中没有的元素。注意:生成RDD的分区数与subtract前面的RDD的分区数一致。注意:返回新的RDD分区数与父RDD分区多的一致。取两个RDD数据集的交集。
2025-10-17 22:48:19
1189
2
原创 大数据Spark(六十八):Transformation转换算子所有Join操作和union
本文介绍了Spark中常用的Join和Union转换算子。Join操作包括join、leftOuterJoin、rightOuterJoin和fullOuterJoin,用于基于键合并两个K-V格式的RDD,类似于数据库连接操作,结果RDD的分区数与父RDD中分区数较多的相同。Union操作用于合并两个类型相同的RDD,不会去重,结果RDD的分区数是两个RDD分区数的总和。文章提供了Java和Scala两种语言的实现代码示例,展示了各种操作的具体用法和输出结果。
2025-10-12 16:03:03
599
2
原创 大数据Spark(六十七):Transformation转换算子distinct和mapValues
本文介绍了Spark中两个重要的Transformation转换算子:distinct和mapValues。distinct用于对RDD数据进行去重,底层实现为map+reduceByKey+map组合操作,并提供了Java和Scala的代码示例。mapValues则专门处理K,V格式RDD中的Value值,保持Key不变,只对Value进行转换,同样给出了Java和Scala实现代码。文章还提到flatMapValues算子与mapValues的区别,前者支持一对多数据转换。内容包含详细的代码演示,帮助理
2025-10-07 13:34:42
1447
3
原创 大数据Spark(六十六):Transformation转换算子sample、sortBy和sortByKey
本文介绍了Spark中三种常用的Transformation转换算子:sample、sortBy和sortByKey。sample算子用于随机抽样,支持有放回和无放回抽样;sortBy可以对任意类型RDD按指定键排序;sortByKey专用于键值对RDD的键排序。文章详细说明了每个算子的函数签名、参数含义,并提供了Java和Scala的代码实现示例,包括数据抽样、按字符串长度排序和按键值降序排序等实际应用场景。这些算子在大数据处理中非常实用,能有效支持数据抽样预览和排序等操作需求。
2025-10-04 12:25:50
1609
3
原创 大数据Spark(六十五):Transformation转换算子groupByKey和filter
本文介绍了Spark中的两个Transformation转换算子:groupByKey和filter。groupByKey用于对K-V格式的RDD按Key分组,返回(K, Iterable<V>),但对于聚合场景建议使用更高效的reduceByKey。文中提供了Java和Scala的代码示例,演示了如何通过groupByKey进行分组求和。filter算子则用于根据条件过滤数据,保留返回true的记录,示例展示了如何过滤长度大于5的字符串。两种算子都配有完整的代码实现,帮助读者理解具体应用方式。
2025-10-01 22:36:09
923
2
原创 大数据Spark(六十四):Spark算子介绍
摘要:本文介绍了Apache Spark中的三类核心算子:Transformation(转换算子)重点讲解了常用的Transformation算子如map、flatMap、reduceByKey和groupBy,通过Java和Scala代码示例展示了groupBy的分组功能。文章还概述了Spark编程的基本流程:配置SparkConf、创建SparkContext、RDD转换处理及触发执行。这些算子通过惰性计算机制优化了分布式数据处理效率。
2025-09-30 23:17:56
1081
2
原创 大数据Spark(六十三):RDD-Resilient Distributed Dataset
本文介绍了Spark核心组件RDD(弹性分布式数据集)的五大特性及创建方式。RDD是不可变、可分区、并行计算的数据集合,具有五大特性:分区组成、分区计算函数、RDD间依赖关系、键值RDD分区器及最佳计算位置。RDD创建方式包括从集合创建(Java/Scala API)、从文件创建以及基于现有RDD转换。文章还强调RDD不存储数据,采用"计算移动,数据不移动"原则,并提供了具体代码示例说明如何创建RDD及设置分区数。
2025-09-08 22:32:20
1332
原创 大数据Spark(六十二):Spark基于Yarn提交任务流程
本文介绍了Spark在Yarn模式下提交任务的两种方式:Yarn-Client和Yarn-Cluster模式。Yarn-Client模式中,Driver运行在客户端节点,适合测试环境;Yarn-Cluster模式中,Driver作为AM运行在集群内部,适合生产环境。文章详细说明了两种模式的提交命令和执行流程,并对比了它们的特点和使用场景。Yarn-Client模式便于查看任务结果但可能导致客户端负载过高,而Yarn-Cluster模式将Driver分散在集群中,需要通过Yarn WebUI查看结果
2025-07-07 22:55:56
2282
3
原创 大数据Spark(六十一):Spark基于Standalone提交任务流程
在Standalone-Client模式中,Driver进程在提交Application的客户端节点上启动,客户端可以查看任务的执行情况和结果。原因在于,当客户端提交大量Application时,所有Driver都在客户端启动,Driver与集群之间存在大量通信,可能导致客户端网络流量激增。:在Standalone-Cluster模式中,Driver进程在集群的某个Worker节点上启动,客户端无法直接查看任务的执行结果,需要通过集群的Web UI查看日志获取结果。
2025-06-04 23:00:06
1924
2
原创 大数据Spark(六十):Spark On Yarn 配置
本文介绍了如何配置SparkOnYarn环境,主要包括:1)将Spark安装包解压到node5节点;2)配置spark-env.sh文件,指定Hadoop配置文件路径;3)关闭NodeManager虚拟内存检查。最后通过提交SparkPi任务测试配置是否成功,验证了Spark在Yarn上的正常运行。配置过程需要注意Hadoop集群环境准备及参数设置。
2025-05-25 22:49:48
1571
原创 大数据Spark(五十九):Standalone集群部署
Standalone集群是Spark自带的资源调度系统,无需依赖外部集群管理器。集群由主节点(Master)、工作节点(Worker)和客户端(Client)组成。Master负责资源管理和任务调度,Worker执行计算任务,Client提交任务。搭建Standalone集群的步骤包括:上传并解压Spark安装包,配置spark-env.sh和workers文件,将配置好的安装包发送到各节点,启动集群。启动后,可通过浏览器查看集群信息。测试集群时,可在客户端节点上提交任务,如SparkPi任务,以验证集群的
2025-05-20 20:53:59
1954
原创 大数据Spark(五十八):Spark Pi介绍
上图中,正方形边长为2,圆的半径为1,那么正方形面积为4,圆的面积为π。现在向正方形内随机“打点”,即随机生成(x,y)坐标,范围不超过正方向范围,最终记录在圆内打点的个数与正方形内打点的个数,两者比例为4/π,当“打点”个数非常大时,可以大约算出π的大小。
2025-05-03 23:09:18
2094
原创 大数据Spark(五十七):Spark运行架构与MapReduce区别
提供了更高级的编程接口,如 RDD(弹性分布式数据集)和 DataFrame,支持丰富的操作算子,使得开发者可以以更简洁的方式编写复杂的处理逻辑。:采用基于磁盘的处理方式,每个任务的中间结果需要写入磁盘,然后再读取进行下一步处理。:提供了相对低级的编程接口,主要包含 Map 和 Reduce 两个操作,开发者需要编写较多的代码来实现复杂的数据处理逻辑。Application运行前,为所有的Spark Job申请资源,所有Job执行完成后,统一释放资源。:主要用于批处理任务,不适合实时数据处理。
2025-04-05 14:51:47
2399
2
原创 大数据Spark(五十六):Spark生态模块与运行模式
Spark Core 是 Spark 的核心模块,提供了基本的功能和 API,包括任务调度、内存管理、故障恢复等,它实现了弹性分布式数据集(RDD)的概念,支持对分布式数据集的并行操作,Spark其他模块都是基于 Spark Core 构建。在 Kubernetes 模式下,Spark 应用程序以容器的形式运行,Kubernetes 负责容器的调度和管理。MLlib 模块是 Spark 的机器学习库,提供了常用的机器学习算法和工具,如分类、回归、聚类、协同过滤等。下面分别介绍Spark各个模块功能。
2025-03-30 13:53:35
1510
原创 大数据Spark(五十五):Spark框架及特点
与 MapReduce 每个任务都需要将中间结果写入磁盘不同,Spark 能够将作业中间数据缓存于内存中,得益于内存计算和优化的查询执行方式,Spark 在内存中的运算速度比 Hadoop 的 MapReduce 快 100 倍,在磁盘上的速度也快 10 倍。Spark 可以在单机、小型集群甚至上千节点的分布式环境中高效运行。,与 MapReduce 不同,Spark 可以将作业中间结果缓存于内存中,减少对磁盘的读写操作,因此在需要多次迭代计算的数据处理场景(如数据挖掘和机器学习)中表现出色。
2025-03-29 23:14:17
1462
原创 云原生(六十) | Web源码迁移部署
PHP-FPM 是一个 PHP FastCGI 进程管理器,它可以与 Nginx 协同工作来处理 PHP 请求。第一步:安装 EPEL 仓库 与 Remi仓库。第二步:把 Nginx 服务添加到开机启动项。第四步:启动并开机启用 PHP-FPM。第三步:下载北京ECS实例中的配置文件。第三步:安装 PHP、PHP-FPM。把Nginx服务添加到开机启动项。第一步:安装 Nginx 软件。第二步:启用 Remi 仓库。配置完成后,启动Nginx。第四步:启动Nginx。
2025-03-02 23:00:40
1212
原创 云原生(五十九) | 香港ECS云服务器购买与配置
我们采用非备案域名来为大家演示CDN全站加速,所以在注册域名之前,我们需要先购买一个香港的云ECS服务器。② 非备案域名(域名注册后,不需要备案,可以直接使用,但是只能解析到非中国内地的ECS云服务器)① 备案域名(域名注册后,需要提交各种材料,经过1-2周左右的审核期,才能完成备案,较为复杂)由于CDN只能针对域名实现对全站的加速操作,但是域名也分为两种形式:备案域名以及非备案域名。配置完成后,单击确认下单,完成ECS服务器的购买操作。
2025-03-02 15:29:40
527
原创 云原生(五十七) | 阿里云CDN基本概念
CDN将源站资源缓存到阿里云遍布全球的加速节点,当终端用户请求访问和获取源站资源时无需回源,可就近 获取CDN节点上已经缓存的资源,提高资源访问速度,同时分担源站压力。阿 里云CDN能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问 速度。阿里云在全球拥有3200+节点。丰富的资源节点、资源可弹性扩展、精准调度系统、高效的缓存策略、降低您的IT成本、提供行业通用标准API。阿里云CDN具有广泛的应用场景,可实现图片小文件、大文件下载和视音频点播业务类型的加速。
2025-02-23 18:51:26
704
原创 云原生(五十六) | CDN概述
到目前这个阶段,由于项目刚刚部署上线,我们仅需管理一台ECS服务器和一台RDS服务器即可,技术成本低, 资金需求也较低。
2025-02-23 13:23:24
1648
原创 云原生(五十五) | ECS中自建数据库迁移到RDS
我们之前在部署WordPress博客项目时,是把项目代码 + 数据库都部署在同一台机器上,但是如果云ECS出现故障,则整个系统都无法使用了,数据也存在丢失、损坏等风险。第二步:在ECS服务器使用mysqldump命令导出自建数据库中的wordpress数据库。第一步:在RDS控制台完成数据库账号以及wordpress数据库的创建。第四步:修改WordPress系统中的配置文件,完成数据库的迁移操作。设置完成后,保存退出,重新访问WordPress博客地址,如下图所示。设置白名单,如下图所示。
2025-02-16 13:51:02
1227
1
原创 云原生(五十四) | RDS数据导入与导出
我们刚才的操作都是通过SQL语句实现的,如果我们要导入的文件是以SQL、CSV或Excel等形式存储,应该如何导入呢?提交申请后,等待导出完成。下载后得到一个压缩包,压缩包中就是我们导出的.sql文件了。如果我们希望把RDS上的数据导出到文件应该如何操作呢?
2025-02-11 00:03:33
928
原创 云原生(五十三) | SQL查询操作
案例:基于DMS在db_xxxx数据库中创建tb_students数据表,包含字段id、name、age、gender、mobile信息。案例3:一键可视化,在DMS中,我们不仅可以通过SQL对数据表中的数据进行分析,还可以对其结果进行可视化展示。单击SQL查询菜单,进入DMS控制台,刷新已登录实例。基于以上数据库,我们可以通过以下两种方式创建数据表。创建一个普通账号,用于实现数据库管理。案例2:使用SQL实现数据查询操作。单击数据库管理,单击SQL查询。案例1:使用SQL插入测试数据。
2025-02-02 14:09:46
512
原创 云原生(五十二) | DataGrip软件使用
快捷键使用:Ctrl+Enter(快速执行选择的SQL语句)2. 附加文件夹到项目中【重要】3. DataGrip配置。
2025-01-31 18:26:04
942
原创 云原生(五十一) | MySQL Client客户端连接服务器
DataGrip是JetBrains公司推出的管理数据库的产品(数据库客户端软件),功能非常强大,可以兼容各种数据库。它的设计符合数据库管理员、开发人员需要。注意:第一次使用DataGrip连接mysql时, 要根据提示点击下载mysql连接驱动文件。标识网络上的唯一一台设备(电脑)。标识一台设备上的一个网络程序。第一步:创建工程项目。
2025-01-30 18:13:22
669
原创 大数据Azkaban(三):Azkaban编译及报错问题解决
Azkaban官方并没有提供Linux系统的编译安装包,需要读者根据需求在官网选择指定版本的Azkaban源文件,然后进行编译打包。
2024-10-26 21:33:46
1806
1
原创 大数据Azkaban(二):Azkaban简单介绍
Azkaban工作流管理器由三个核心部分组成,分别是Relational Database(关系型数据库MySQL)、AzkabanWebServer(Web服务器)、AzkabanExecutorServer(执行服务器)。
2024-10-24 21:52:37
1601
原创 大数据Azkaban(一):工作流管理器概述
无论是在业务开发还是在大数据开发中,工作流管理是必不可少的,在初期可以使用Linux自带的crontab工具来定时调度任务,但是当业务规模变大并且需要可视化监控任务执行的时候,crontab显然已经满足不了需求。各任务单元之间存在时间先后及依赖关系,为了将这复杂的执行计划组织起来,需要一个工作流调度系统来调度执行。Azkaban是对job调度管理,而每个job任务都编写在一个后缀名为.job的文本文件中,在该文件中可定义job任务类型、将运行的任务、依赖的其他job及job运行的相关参数。
2024-10-24 21:40:25
662
原创 云原生(五十) | 阿里云RDS数据库介绍
它最早由瑞典MySQL AB公司开发,后被SUN公司收购,目前属于 Oracle 甲骨文公司旗下产品。常见产品:MySQL、Oracle、DB2、SQL Server等。MySQL 是目前最流行的关系型数据库管理系统(RDBMS)之一。常见产品:MongoDB、Redis、Hbase、Neo4j等。数据存储形式:键值对存储、文档存储、列式存储、图式存储。数据存储形式:数据以关系模型(有行有列)方式进行存储。问题:关系型数据库那么多?为什么要学习MySQL?问题:什么是数据库?商品数据如何进行存储和管理?
2024-10-15 23:48:51
1612
2
原创 云原生(四十九) | WordPress源码部署
上传wordpress-6.4.1-zh_CN.tar.gz到/root目录下,然后使用tar命令对其进行解压缩,然后把文件上传到/web/wordpress目录。单击安装WordPress,然后使用设置好的账号与密码登录WordPress,返回首页,如下图所示。打开浏览器,输入公网IP地址,访问http://公网IP/index.php。配置阿里云安全组,放行80、443、3306等常用软件端口。第四步:访问并配置WordPress。第二步:上传源码到项目目录。第一步:创建项目目录。
2024-10-07 23:00:00
1235
原创 云原生(四十八) | Nginx软件安装部署
第二步:把 Nginx 服务添加到开机启动项。把Nginx服务添加到开机启动项。第一步:安装 Nginx 软件。配置完成后,启动Nginx。第三步:配置 Nginx。第四步:启动Nginx。
2024-10-06 06:00:00
469
原创 云原生(四十七) | PHP软件安装部署
PHP-FPM 是一个 PHP FastCGI 进程管理器,它可以与 Nginx 协同工作来处理 PHP 请求。第一步:安装 EPEL 仓库 与 Remi仓库。第四步:启动并开机启用 PHP-FPM。第三步:安装 PHP、PHP-FPM。第二步:启用 Remi 仓库。
2024-10-05 15:53:44
1211
原创 云原生(四十六) | MySQL软件安装部署
注: 如果安装过程中报错Public key for mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm is not installed。但是以上账号、密码都只能针对当前主机,如果想开启远程连接,可以 通过如下方式设置:创建远程访问root用户。第三步:启动MySQL,获取默认密码,登录MySQL。第四步:修改MySQL密码(创建账号设置密码并授权)第二步:下载MySQL源,安装MySQL软件。修改MySQL默认密码。为该用户授予全部权限。
2024-10-05 07:00:00
558
NiFi文档资料与软件包下载
2023-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅