自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(192)
  • 资源 (2)
  • 收藏
  • 关注

原创 【Spark】性能与联通性的终极博弈:Spark on K8s 主机网络改造深度实战

摘要:Spark on K8s主机网络改造实战 在Spark集群面临RMI跨系统调用和大规模Executor数据交换的性能瓶颈时,我们选择将Spark切换到K8s主机网络模式。然而这一改造遇到了K8s调度器与Spark动态端口机制的深层冲突:K8s的静态端口检查阻碍了Spark的端口重试机制。通过深入分析源码,我们利用AI辅助编程,开发了动态移除端口声明的插件,解决了调度问题。同时针对Spark UI路由失效问题,精准把握应用启动时序,实现了Service的动态Patch。这一实践揭示了AI时代开发者需要把

2026-03-11 08:00:07 831 1

原创 从“吐槽”到“交付”——我是如何协同 AI 撸出一个 Spark 性能分析工具的(上)

本文记录了一位后端开发者利用AI协作在3周内完成Spark性能分析工具开发的真实经历。通过"吐槽驱动开发"模式,作者实现了三大突破:跨越10年前端技术断层、24倍性能优化(2GB日志处理从2小时缩短至5分钟)、构建专家级诊断系统。文章详细描述了与AI协作的关键节点:从工程骨架搭建、UI组件生成到性能优化,特别强调了AI在重复性工作中的高效与复杂交互场景的局限。最终形成的"双轨诊断"系统(规则引擎+AI建议)兼顾了初学者与专家的需求,并分享了AI协作中的核心经验:开发者

2026-02-22 09:00:00 1231

原创 【StoryBank】实战复盘:软链接引发的Log4j2日志滚动失效之谜——STAR模型拆解从诡异现象到精准定位的全流程

技术组件的默认行为往往是平衡安全与功能的产物,当业务需求与默认行为冲突时,深入理解底层机制才能找到“开关”,而非盲目推翻重来。

2025-03-01 10:43:52 846

原创 【StoryBank】实战复盘:Spark迁移Kubernetes日志存储难题的破局之道——STAR模型拆解从问题定位到优雅解决的全过程

实战复盘:Spark迁移Kubernetes日志存储难题的破局之道——STAR模型拆解从问题定位到优雅解决的全过程

2025-02-19 08:45:00 412

原创 【Spark 核心内参】2026.4:Spark 4.2即将进入测试期,新一代声明式增量视图(Auto CDC)成为焦点

Spark 4.2即将发布,新一代声明式增量视图成焦点 Apache Spark 4.2.0进入测试阶段,发布preview4版本供社区验证,但需注意回归缺陷SPARK-56238。社区宣布新的发布节奏:季度小版本和年度大版本,以加速迭代。 关键讨论包括:依赖升级缓冲期(防范供应链攻击)、PySpark依赖锁定、Windows平台Python 3.12崩溃修复的回溯。技术方案方面,DSv2列级更新优化宽表IO,新增NEAREST BY语法简化Top-K近邻查询,并计划支持纳秒级时间戳以满足金融等高精度场景需

2026-05-19 09:00:00 479

原创 【Spark 核心内参】2026.3:Auto CDC 声明式增量视图提案引爆社区,AI 代码自动化防御网关提上日程

Apache Spark社区近期动态频繁:4.2.0-preview3版本发布,增强Variant类型支持;针对PySpark供应链安全讨论依赖锁定方案;提议放弃对PyPy的支持以优化资源分配。重磅提案Auto CDC引发热议,旨在通过声明式增量视图简化CDC数据处理,被视为湖仓一体架构的关键突破。同时社区探讨Hive 4.x升级、AI代码自动化校验门控等议题,并推进CDC标准化接口。此外,Spark 3.5 LTS版本维护期可能延长,凸显社区对长期支持的重视。这些进展标志着Spark正从计算引擎向端到端数

2026-05-18 09:00:00 494

原创 【Spark】深度魔改 Spark 源码:打破静态限制,实现真正的运行时动态扩缩容

摘要 本文深入剖析了Spark动态资源分配的局限性,提出了一种源码级改造方案,实现了运行时动态扩缩容能力。传统Spark的maxExecutors配置在启动时锁定为不可变值,无法适应云环境下的资源波动需求。通过将ExecutorAllocationManager中的maxNumExecutors从val改为var,并新增强制缩容策略,解决了"忙碌Executor无法回收"的核心痛点。改造后的系统支持运行时通过API动态调整资源配额,采用最小重试代价原则进行优雅缩容,结合Spark 3.x

2026-03-12 08:00:00 446

原创 【Spark 核心内参】2026.2:Spark 4.0.2 发布与 GitHub Issues 迁移大讨论

2026-03-02 08:30:00 1482

原创 【Spark 核心内参】2025.9:预览版常态化与数据类型的重构

Spark Connect 虽然有了 Python, Scala, Go, Rust 客户端,但大量现存的 BI 工具(Tableau, PowerBI, DBeaver)只认 JDBC。目前它们只能通过 Thrift Server 连接 Spark,无法享受 Connect 的架构优势。

2026-02-01 14:13:26 683

原创 【Spark 核心内参】2026.1:JIRA vs GitHub Issues 治理模式大讨论与 4.2.0 预览版首发

2026年的开篇,Spark 社区展现出了前所未有的变革活力。一方面,治理模式面临从传统的 JIRA 向现代 GitHub Issues 迁移的重大抉择,这不仅是工具的更替,更是社区开放度与治理效率的博弈;另一方面,Spark 4.2.0 预览版的发布以及关于 3.5 LTS 延长安全支持周期的深度辩论,彰显了社区在快速迭代与生产稳定性之间的平衡艺术。

2026-02-01 13:34:51 1000

原创 【Spark 核心内参】2025.12:从 Python UDF 的“AST 转译”到 K8s 的“突发感知”

的剪枝标识是**基于实例(Instance-based)**的。一旦规则导致节点替换,剪枝效果在当前转换路径上会局部失效。

2026-01-26 08:00:00 891

原创 【Spark 核心内参】2025.11:从 ANTLR 的“生态包袱”到远程 Shuffle 的“云原生解药”

核心共识:ANTLR 的版本不兼容问题是客观存在的严重隐患,Shade 是解决此类传递性依赖冲突的必要手段。虽然 Shade 会改变下游插件开发的依赖路径(包名变更),但这是为了系统整体稳定性必须付出的代价。后续行动 (Next Steps):推进 JIRA:继续推进 SPARK-53753 的代码合并。开发指引更新:需要明确告知 Spark SQL 插件开发者,未来在扩展语法时,需引用 Spark 内部重定位(Relocated)后的 ANTLR 类,而非开源社区版原名类。

2026-01-25 07:00:00 715

原创 【Spark 核心内参】2025.10:从 Parquet 谓词下推的“度”到语义建模的“野心”

核心权衡(Trade-off): 这是一个 “I/O 节省” vs “CPU/内存稳定性” 的博弈。调大阈值: 适合 IN 列表在几十个到上百个,且数据分布稀疏的场景(此时 I/O 节省远大于 CPU 解析开销)。保持低阈值: 是一种安全策略,防止不可控的超长 IN 列表(如几千个值)拖垮 Driver 或让读取逻辑崩溃。结论默认值 10 是一个极其保守的“安全线”。在实际生产中,如果确定 IN 列表不会达到几千个,通常可以根据机器性能手动调优至 50-100。

2026-01-21 22:02:56 1137

原创 Mac下安装ray的保姆级教程

本文介绍了使用pyenv安装Python及Ray分布式计算框架的完整流程。首先通过Homebrew安装pyenv,配置环境变量后安装Python 3.12.12版本。接着安装pip、setuptools和wheel等基础工具,然后安装Ray及其默认组件。安装完成后,通过命令行启动Ray服务,并验证服务是否成功运行(可通过8265端口访问仪表盘)。最后展示了如何停止Ray服务。整个过程涵盖了从Python环境搭建到Ray框架部署的关键步骤。

2025-12-31 11:35:52 388

原创 【Java】性能调优:利用 jstack 寻找 Java 程序卡顿的真相

当 Java 程序出现给人感觉 “卡顿”、“响应慢”、CPU 风调高、系统给予调用总是延迟时,我们需要采用系统层和虚拟机层的合理工具来分析细节。本文仅从 JVM 的角度来分析,研究如何利用 jstack 进行 Java 程序性能调优。

2025-06-03 13:51:42 1014

原创 【StoryBank】实战复盘:一次 Spark on K8s 的 OOM 杀 Pod危机,排查,止血,定位根因的全流程复盘。

问题解决思路OOMKiller 杀掉 Pod?原因是容器总内存超限(堆 + 堆外 + native)JVM 抛 Direct buffer OOM会释放内存吗?❌ 不会立即释放,Cleaner 异步清理,风险依旧如何监控 native memory?开启 -XX:NativeMemoryTracking=summary,使用 jcmdOffHeap 属于 Spark 内部管理;Overhead 是 container 层保底兜底内存MaxDirectMemorySize 超限时行为?

2025-05-26 09:00:00 915 1

原创 【Spark】查询优化中分区(Partitioning)和分桶(Bucketing)是什么关系?什么时候应当分区,什么时候应当分桶?

分区和分桶是什么关系?看似相同,其实不同。那么我们什么时候用分区,什么时候用分桶呢?通过这一篇文章,让你不再有“选择恐惧症”

2025-03-19 10:17:01 1254

原创 【云原生】云原生应用的12要素

云原生应用的12要素是一套设计原则,旨在帮助开发者构建可扩展、易于维护和能够充分利用现代云计算平台优势的应用程序。这些原则最初由Heroku提出,并在业界得到了广泛的认可。以下是这12个要素的概述,以及我在开发过程中实践的一些经验。

2024-10-24 08:45:00 1061

原创 【云原生】云原生定义是什么?解决了哪些痛点

高度分布式(对应能力1,3,4)不断变化(对应能力2,4)云原生应用是高度分布式的,必须在一个不断变化的环境中运行,而且自身也在不断发生变化云原生技术组织能够在现代,动态环境(共有云,私有云,混合云构建运行可扩展应用程序,容器,服务网格,微服务。)这些技术松散耦合的系统具有弹性,可管理性和可观察性,结合强大的自动化能力,他们使工程师可以频繁且可预测的以最小的工作量响应。

2024-10-22 08:45:00 374

原创 【Spark】性能测试以及调优思路

通过测试前中后三个阶段来详解Spark性能测试及调优思路

2024-09-26 08:30:00 1070

原创 【Spark】Spark部署方式的异同以及对应适用场景

Spark部署方式的异同以及对应适用场景

2024-09-23 08:15:00 806

原创 【Spark性能调优】长尾任务如何优化

深入浅出的介绍了如何解决Spark长尾任务导致的性能问题。通过理论和实践相结合的方式,告诉读者如何调,为什么这么调。

2024-09-17 08:15:00 751

原创 【Spark性能调优】Spark Application启动资源规格调优

深入浅出的介绍了在资源一定的情况下,Spark Application如何分配资源能更高效的执行任务。通过理论和实践相结合的方式,告诉读者如何调,为什么这么调。从资源分配角度解决Spark性能问题

2024-09-12 08:15:00 761

原创 【Java】序列化和反序列化

当场景是跨语言时,优先使用Protobuf。当场景对性能要求很高时或者说性能敏感时,使用Kryo。

2024-09-05 08:30:00 626

原创 【大数据】SparkSQL和Hive的关系

SparkSQL和Hive的关系

2024-07-31 11:45:00 542

原创 【大数据】UDF、UDAF、UDTF是什么,之间的关系是什么?

UDF、UDAF、UDTF是什么,之间的关系是什么?

2024-07-29 11:45:00 742

原创 【Spark】【翻译】RDD Programming Guide

Spark官方文档翻译系列,RDD编程指南(RDD Programming Guide)

2024-07-21 21:43:54 1354

原创 记一次找不到JDBC驱动Jar包的问题定位

问题定位记录

2024-06-23 23:42:13 1333

原创 2024年大数据领域的主流分布式计算框架有哪些

2024年大数据领域的主流分布式计算框架介绍

2024-06-16 11:30:00 2451

原创 大数据领域的workload是什么意思?

本篇文章介绍了在大数据领域"workload"概念是什么,通过不同维度来理解“workload“,常见”workload“,了解”workload“能帮我们做到什么

2024-06-10 11:30:00 1502

原创 什么是NP完全问题

NP完全问题是计算机科学中最难解决的问题之一,目前还没有找到任何一个能够在多项式时间内解决NP完全问题的算法。了解NP完全问题对于理解计算的本质和解决实际问题都具有重要意义。

2024-05-28 08:35:36 1878

原创 关于改安全问题导致严重问题的案例

我们服务新引入了一个代码扫描工具,这个工具流程大概是定期扫描项目代码,匹配一些规则,如果存疑则留给开发确认,确认是问题则整改。

2024-03-11 07:30:00 299

原创 如何提升开发过程中的安全意识

在分析了我们产品近一年的所有安全问题单后,我得到了开发最容易犯错同时稍加注意即可改善的17个改进点(注意事项)。

2024-03-04 12:15:00 783

原创 【项目管理】风险有哪些,具体如何解决

识别风险,解决风险。尽量早的识别风险,相比后面形成问题再解决,在风险阶段解决可以减少很大的工作量,代价少很多。

2024-02-23 12:00:00 284

原创 【项目管理】如何看护质量

我认为可以分为两部分,

2024-02-22 12:45:00 1489

原创 一个最小开发团队常见角色

本篇文章介绍一个最小开发团队常见角色。

2023-12-22 17:21:41 713

原创 现网问题处理策略

未完待续…

2023-12-18 09:29:58 262

原创 产品的竞争力是什么

产品的竞争力归根到底是3点:功能,性能,容量。

2023-10-23 19:04:03 401

原创 从初级到高级开发工程师都用得上的JVM参数

当遇到累加载冲突导致的问题时(比如方法找不到,类找不到)可以通过该参数打印每个类加载时的日志,来定位是不是加载错了版本(冲突导致),或是其他原因没加载到。当进程oom时,我们需要分析dump日志来分析原因,比如内存泄漏,或者是某些变量突然变大导致的。设置以上参数就可以在oom时自动打印dump日志至指定目录,定位时只需要取日志即可。指定最小堆内存可以减少jvm自动扩容的时间,否则jvm会一次一次的扩容,耽误时间。指定最大堆内存可以确保每个java进程堆内存只使用这些,避免干预其他进程。

2023-08-31 11:00:00 176

原创 【Maven】如何发现,定位,解决依赖冲突

如何发现,定位,解决maven依赖冲突

2023-08-29 09:10:04 1057

sparksql学习笔记

sparksql学习笔记

2025-06-08

emn178-js-sha1.zip

sha1.js 在js中进行sha1加密 详见 https://blog.csdn.net/petrel2015/article/details/105115492

2020-03-26

blueimp-js-md5.zip

md5.js 在js中进行md5加密 详见 https://blog.csdn.net/petrel2015/article/details/105114479

2020-03-26

空空如也

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

TA关注的人

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