自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Spark】持久化和血缘(小白、工程师、面试)

摘要:本文深入探讨了Spark RDD缓存机制与执行原理。通过代码示例演示了cache/persist方法的使用,说明这些操作仅在遇到action算子时才会真正缓存数据。重点分析了三个核心问题:1) Spark的惰性求值特性导致代码执行顺序与预期不同;2) flatMap和map算子的执行次数由数据分区和转换逻辑决定;3) 输出交替现象源于分区并行处理。文章还提供了生产级调试技巧,包括数据倾斜定位方法和缓存策略选择建议,最后针对面试常见问题给出了深度解答,如RDD三大特性和数据倾斜解决方案。

2025-08-06 12:00:00 887

原创 【Spark】数据血缘(小白、工程师、面试三个视角)

摘要:本文详细解析了Spark中的RDD血缘关系概念及其应用。通过代码示例展示了血缘关系的回溯过程(从HadoopRDD到ShuffledRDD),解释了宽窄依赖的区别(窄依赖如map,宽依赖如reduceByKey)。重点阐述了血缘在故障恢复、DAG调度和性能优化中的作用,包括Shuffle优化、数据倾斜处理(如加盐技巧)和持久化策略。针对大数据工程师,提供了生产环境中的调优建议,如动态分区裁剪、内存管理策略等。文章还包含面试常见问题解答,如DAGScheduler工作原理和RDD三大特性(不可变性、血缘

2025-08-04 23:39:32 948

原创 【Java函数式编程】补充终结算子和问题解决

本文摘要: 文章对比了Spark算子与Java函数式编程的特点,详细解析了collect、anyMatch、allMatch、noneMatch、findFirst、reduce、ifPresent等终结算子的作用及实际应用场景。特别介绍了作者工厂类和作者类的实现,并解答了8个技术问题,包括RDD分区对齐、Arrays工具类设计、文件换行处理、集合框架、类名冲突、DAG迭代计算、Lambda嵌套和findAny行为等。文中通过代码示例展示了生产环境中的典型应用,如电商订单分析、风控系统检查等,强调了两者在数

2025-08-02 17:28:15 1711

原创 SparkKV转换算子实战解析

本文介绍了Spark中常用的KV算子及其应用场景。主要内容包括:parallelizePairs和mapToPair用于创建KV数据流;mapValues可保持K不变操作V;groupByKey按K分组,而reduceByKey则在分组基础上进行聚合优化,性能更优;sortByKey支持按K排序。文章通过WordCount案例演示了KV算子的组合使用,并比较了reduceByKey与groupByKey的区别,强调reduceByKey的预聚合优势。此外,还提供了通过K或V分组的模板代码。这些KV算子为处理

2025-08-02 12:55:48 1769

原创 【Java函数式编程】Lambda表达式,A算子,T算子

本文介绍了函数式编程(FP)的核心概念和应用,重点讲解了Lambda表达式和各种流操作。主要内容包括:1) FP的四大优势:大数据处理高效、并行安全、代码可读性强、避免嵌套;2) Lambda表达式的结构和使用规则;3) 多种集合类型创建流的方法;4) 转换算子(map, distinct, sorted)和终端算子(forEach, count, min/max)的用法;5) 通过Author类实例演示flatMap的一对多转换。文章以代码示例为主,帮助开发者快速掌握函数式编程的核心技能。

2025-08-01 17:58:27 1973

原创 【Spark】RDD底层探秘:Transformer四大算子以及RDD数据流通过程

这一篇则着重讲解RDD的转换算子以及RDD的数据流通方式。RDD的转换算子分为。

2025-07-31 12:00:00 953

原创 【Spark】Spark之RDD内存与磁盘操作深度解析(全网最强)

本文深入探讨了Spark RDD的核心机制,从内存和磁盘两个维度系统分析了RDD的构建、分区策略及数据倾斜处理方案。主要内容包括:1)RDD环境配置与架构解析,揭示了RDD作为弹性数据集的管道特性;2)内存操作通过parallelize方法实现,磁盘操作基于textFile方法;3)详细论证了分区策略的优先级规则(方法参数>配置参数>环境默认值)和HDFS分区公式;4)通过数学推导和源码分析阐述了数据倾斜的存储算法原理。文章结合大量代码示例和流程图解,为Spark初学者提供了从理论到实践的完整指导框架,特别

2025-07-29 00:03:29 346

原创 【Hadoop】HDFS文件传输特性揭秘

本文记录了作者在使用Hadoop分布式文件系统(HDFS)时的一些发现和实验。通过IDEA开发工具进行文件传输测试,观察到两个现象:1)当传输文件到HDFS时,本地存在同名文件不会报错,而是直接覆盖;2)传输目录时若本地存在同名目录则会报错,删除后重试即可成功。文中提供了完整的Java客户端代码(包括HDFS操作API和测试代码)以及Maven配置文件,展示了文件上传下载、目录创建删除等操作。作者通过实验验证了HDFS在文件传输时的特殊处理机制,为开发者提供了实用参考。

2025-07-27 12:16:09 757

原创 【Spark】Spark与概念与应用场景详解

深入理解Spark、Spark概述、mapreduce和spark架构的区别

2025-07-26 23:21:11 956

原创 【Spark】Spark核心:RDD与IO流的奇妙对比

本文介绍了SparkCore中的RDD(弹性分布式数据集)概念及其与Java中String类型的异同。RDD作为分布式计算模型,采用类似Java装饰器设计模式的技术,通过封装程序逻辑实现主从架构下的数据传输。与Java IO流类似,RDD也使用缓冲区机制提升性能,其处理模式与IO流高度相似,都体现了装饰者设计模式的特点。文章通过代码示例对比了RDD与IO在字节流、字符流层面的异同,揭示了分布式计算与缓冲区机制的重要性。

2025-07-26 21:14:52 910

原创 【Hadoop】Hadoop运维之虚拟内存问题终极解决方案

在运行hadoop的时候出现的各种问题,以及问题的解决办法

2025-07-25 23:47:16 569

原创 【Spark】Spark实战:从0到初步部署(代码精讲)

圆周率的统计值蒙特卡洛数学原理(如图所示)

2025-07-25 12:55:10 1032

原创 【Spark】分布式系统解密:核心概念与CAP解析

概念一:分布式由于课程只讲述了分布式的分类,并且并未深度解析该概念,在此将做一个全面的介绍以供深入理解分布式的概念和应用场景。

2025-07-15 23:10:38 747

原创 【Java】Java类初始化的顺序与机制

于是乎当本人在仔细看时,发现了这里面子类重写了父类的方法,那么根据动态绑定机制,此时的运行类型时子类类型那么会找到子类中和父类相同名字的方法进行调用;在同一个类中,静态代码块和静态属性的初始化顺序是按照代码先后顺序执行的,并且是在创建对象的时候最先进行的,然后是普通代码块和普通成员,这两者的执行顺序机制和静态成员一样,最后是构造器的初始化。系统并不会固执的找到所有的静态成员排到普通成员前进行初始化,而是锁定在一定范围内进行的,这和后面的结论有所出入。假设先进行静态成员初始化,再进行普通成员初始化。

2025-03-12 19:52:56 614

【Java函数式编程】作者类和作者生产工厂类

用于练习A和T算子的类,直接下载调用方便快捷

2025-08-01

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

TA关注的人

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