Hadoop与Spark选型指南:从性能对比到落地实践
1. 先聊两句为什么总有人拿他俩做对比但凡接触过大数据几乎都绕不开同一个问题Hadoop和Spark到底选哪个我在不少技术群里见过类似的争论有人觉得Spark快所以Spark一定更好也有人觉得Hadoop生态成熟、够稳所以Hadoop才是王道。实际上这两种说法都有点片面。先说清楚一个基本事实Hadoop和Spark并不是同一个层面的东西你不能简单地说谁取代了谁。Hadoop是一个完整的分布式存储加计算生态核心组件包括HDFS分布式文件系统和MapReduce分布式计算模型而Spark是一个计算框架它本身不带存储通常跑在HDFS或者其他存储系统之上。也就是说Hadoop是一套地基施工队而Spark更像是一支精装修团队——你可以把Spark架在Hadoop的HDFS上干活也可以让Spark脱离Hadoop直接读对象存储或数据库。那为什么大家都在对比因为在实际项目里选型时确实会把Hadoop生态和Spark拿来做权衡团队技术栈怎么搭、预算多少、数据规模有多大、实时性要求多高都会影响最终方案。这篇文章我想站在实际落地的角度结合我自己做过的一些项目经验把Hadoop和Spark的核心差异、适用场景、性能特征、常见坑点都拆开聊一聊。目标不是替你做决定而是帮你建立一套清晰的选择逻辑以后遇到选型问题时能自己推演。如果你是个刚入门的大数据开发者或者正在给团队做技术方案调研这篇文章应该能帮你省下不少折腾时间。我会尽量说人话避免教科书式的堆砌把关键差异点讲透。2. Hadoop的核心价值与真实局限2.1 Hadoop到底是干什么的先回顾一下Hadoop的定位。它最核心的两个部分是HDFS和MapReduce。HDFS负责把大文件切分成块默认128MB分布存储在集群的多个节点上并且通过副本机制默认3份保证数据不丢。MapReduce则是一种分而治之的计算模型把任务拆成Map和Reduce两个阶段Map阶段负责并行处理数据Reduce阶段负责汇总结果。这种设计在上世纪Google处理海量网页排序时被验证过后来开源成了Hadoop。它的优点非常明显可以跑在几十台甚至几千台普通服务器上不需要昂贵的小型机扩展性很强。配合YARN资源调度器Hadoop能同时跑多个作业资源利用率比早期的单机方案高得多。打个比方Hadoop就像一家大型工厂HDFS是仓库MapReduce是流水线YARN是调度员。仓库很大流水线能依次处理大量原料但缺点是流水线每道工序之间需要中转中间结果要落盘整个过程比较慢。2.2 MapReduce的痛点在哪里MapReduce最大的问题或者说它被广泛诟病的地方就是中间结果落盘。每个Map任务处理完数据后会把结果写到本地磁盘Reduce任务再通过网络读取这些中间结果。在一个多步骤的复杂作业里这会导致大量的磁盘I/O和网络I/O。数据量小的时候感知不明显一旦数据量达到TB级每一轮MapReduce都要花很长时间在读写上。另一个问题是迭代计算效率低。机器学习和图计算这类任务往往需要在同一份数据上反复迭代几十次甚至上百次。用MapReduce来实现每一轮迭代都要重新读数据、写磁盘性能非常吃亏。虽然Hadoop后来引入了内存计算相关的优化但那是后来的事原生MapReduce在这块确实不擅长。第三个痛点是编程模型偏底层。写一个MapReduce任务你需要把业务逻辑拆成Mapper和Reducer两个类再写驱动类去配置Job。逻辑一旦复杂代码量会迅速膨胀。相比之下Spark用RDD和DataFrame的API写起来要顺滑得多代码也更易读。还有一点MapReduce作业的启动开销比较高。每个作业都要启动单独的进程JVM启动、资源申请、任务调度都需要时间。小作业多的时候这个开销特别浪费。Hadoop 2.x开始引入YARN一定程度上改善了资源管理但作业本身的重型启动问题依然存在。2.3 Hadoop至今仍不可替代的部分说完了缺点也得说说Hadoop为什么到今天还活着而且活得挺好。首先是存储层的稳健性。HDFS作为分布式文件系统经过十几年大规模生产验证极其稳定。数据的副本机制、故障恢复、数据均衡等功能都非常成熟。很多公司甚至只用了HDFS并不跑MapReduce纯粹把它当海量存储底座来用。其次是生态的厚度。Hadoop生态里围绕着HDFS、YARN长出了HiveSQL数仓、HBase列式存储、Flume日志采集、Sqoop数据迁移等一系列组件。很多数仓架构即便用Spark或Flink做计算底层存储依然选HDFS。数据湖层面的Iceberg、Hudi、Delta Lake也都能跑在HDFS之上。换句话说HDFS是整个大数据生态的地基短期没有谁能够撼动。第三是对超大规模数据的承受能力。在HDFS之上跑MapReduce虽然慢但能稳定处理PB级以上的数据。对于很多非实时、离线批处理场景MapReduce依然能扛住而且运维经验丰富、问题排查方案现成。我见过不少传统企业的离线数仓至今仍在用Hive on MapReduce跑T1的报表任务也没出过什么大乱子。你可以这么理解Hadoop是那种基建型选手它不花哨但靠谱、成熟、大规模经得起考验。如果你只需要每天跑一堆离线任务对时效要求不苛刻Hadoop全套就能干得很好而且成本可控。3. Spark为什么能火起来3.1 Spark的内存计算核心Spark最核心的卖点就是基于内存的计算模型。它的RDD弹性分布式数据集支持把数据缓存在内存中后续的迭代计算可以直接复用内存里的数据而不需要每次都重新从磁盘读。这个设计对机器学习、图计算这类迭代型任务效果特别明显能在同一份数据上反复计算速度比MapReduce提升十倍甚至百倍都有可能。我强调一下有可能因为Spark的快不是无条件的。内存充足、数据能够完全放得下时确实快得像飞但内存不够或者数据量远超内存Spark同样会落盘性能优势会被稀释。实践里最怕的就是无脑设置很大的executor内存导致内存溢出或者资源竞争那反而会拖垮集群。Spark除了内存计算还有一个隐形优势是DAG执行引擎。Spark会把一个作业拆成多个StageStage之间可以并行执行并且会根据数据依赖关系做优化。你在代码里写了多个算子操作Spark不是机械地一步步执行而是会对执行计划做剪枝、合并和重新排序这从引擎层面就比MapReduce高效不少。3.2 一套API打天下Spark最大的吸引力之一是它的统一编程模型。你用同样的Spark Core API可以写批处理用Spark SQL写SQL分析用Spark Streaming写流处理用MLlib写机器学习用GraphX写图计算。虽然底层实现各不相同但暴露给用户的接口风格高度一致学习成本和开发成本都被大幅降低。这一点在团队协作时特别有价值。想想看一个团队里不需要分别养一批写MapReduce的、一批写Storm的、一批写机器学习的人。只要熟悉Spark的基本开发方式几乎所有计算场景都能覆盖。这在人员招聘、团队技术栈统一上是非常大的优势。加上DataFrame和Dataset这两个高层APISpark把写代码做数据开发的门槛也拉低了。DataFrame API非常像SQL很多不熟悉Java的开发也能快速上手。配合Spark SQL还能直接跑Hive的SQL任务很多存量数仓的SQL不需要改动太多就能迁移到Spark上提速。3.3 Spark能替代MapReduce但替代不了Hadoop这里必须强调一个很容易混淆的点Spark替代的只是Hadoop里的MapReduce计算引擎并不替代HDFS和YARN。实际上最经典的Spark部署模式就是跑在YARN上并读取HDFS数据。HDFS负责存YARN负责管资源Spark负责算三者协同工作。甚至有相当多的机构从一开始就是HDFS Storage YARN Spark的组合从未大规模使用过MapReduce。在这个语境下面说Spark取代Hadoop其实是很不严谨的说法。更准确的说法是Spark在计算层取代了MapReduce但存储和调度仍然离不开Hadoop生态。既然Spark这么好那是不是所有场景都用Spark就行没那么简单。Spark毕竟还是个批处理引擎它的流处理本质上是微批micro-batch延迟通常在秒级达不到毫秒级。对于真正需要毫秒级实时响应的场景比如实时风控、实时推荐Flink会更合适。Spark强在批流一体的便利性不是强在实时延迟上。4. 核心性能对比到底谁快快在哪4.1 数据读取与迭代计算差异先聊最常被拿来对比的速度。在典型的批处理任务中Spark普遍比MapReduce快原理也很好理解。MapReduce每一步写完磁盘再读磁盘磁盘I/O是最大的瓶颈Spark则尽量把中间结果放内存减少了磁盘和网络的往返。尤其在做多轮迭代的场景比如K-Means聚类、PageRank这类算法Spark的优势惊人。MapReduce每轮迭代都相当于重新跑一个完整作业每次都要重新读一遍输入数据而Spark如果用了cache或者persist每轮只需要从内存里取上次算好的数据开销小一个数量级。但如果只是纯粹的ETL清洗数据量超大、内存装不下这时候Spark也会Spill到磁盘性能优化空间就变小。这种情况下差距更多取决于代码水平、资源配比和数据倾斜处理而不是框架本身。很多所谓的Spark比Hadoop慢案例往往不是框架的问题而是资源没调好或者代码写得不对。4.2 作业调度与资源管理的区别Hadoop 2.x引入了YARN之后资源管理变得灵活了。YARN支持多租户和队列划分多个计算框架MapReduce、Spark、Flink等可以共享一个集群。但实际上YARN的资源调度粒度是容器MapReduce和Spark在申请资源时都有各自的策略。Spark作为YARN上的常客通常会把作业拆成若干Executor每个Executor占一个或多个容器。Executor申请后常驻作业内多个任务可以复用省去反复启动JVM的消耗。这也是Spark比MapReduce响应快的重要原因之一。MapReduce每个Task都要一个新的Container和JVM启动开销自然大。在资源充足的前提下Spark能做到任务整个生命周期内复用资源MapReduce则是每个阶段动态申请释放。两者在资源利用率上的差异在小作业多的高并发场景下尤其明显。Spark的调度器也更聪明能够基于DAG做跨Stage的并行调度缩短整个作业的总执行时间。4.3 实际性能测试怎么才靠谱很多网上的性能对比都容易失真因为他们拿不同的代码、不同的数据规模、不同的资源配额去比最后得出来的结论没有参考意义。我自己在做技术选型测评时一般遵循几条原则数据源一致必须使用同一份原始数据存储格式也一致不能一个用Parquet另一个用文本文件。计算口径一致跑的SQL或者算法逻辑必须完全相同不能一个做了过滤另一个没做。资源配额一致执行引擎的内存、CPU配额要一致不能一个给32GB另一个只给8GB。多轮取平均作业跑三次以上取中位数或平均值因为集群抖动影响很大。只有上面几条都满足得出来的结论才能指导实际选型。我见过有人拿着一份小数据的测试跑了几分钟就下结论说Spark完胜这其实说明不了什么。真正要考虑的是你的数据规模、集群规模、作业复杂度和时效要求。5. 场景选型实战什么项目选Hadoop什么项目选Spark5.1 离线批处理与T1报表如果你要做的是传统的T1离线数仓每天凌晨跑一堆定时任务把业务库的数据同步到数仓然后跑各种汇总报表。这种场景Hadoop生态的Hive on MapReduce完全能胜任而且足够稳定运维经验丰富。如果数据量到了几百TB跑批时间越来越长团队又希望SQL作业能更快完成那就可以考虑把计算引擎换成Hive on Spark或者Spark SQL存储仍然用HDFS。我的建议是不是一上来就推翻Hadoop重来而是先在原有Hive语法基础上把底层执行引擎从MapReduce换成Spark。这样业务逻辑改动极小却能享受明显提速。这种平滑迁移的路径在传统企业里非常常见。5.2 机器学习迭代训练如果你的项目涉及机器学习模型的反复迭代训练特征工程、模型调参、交叉验证或者图上做传播类算法这种场景无脑选Spark就对了。内存缓存加DAG优化会让迭代计算体验好很多。MLlib里提供了大量常用算法可以直接在DataFrame上训练模型配合Pipeline做特征处理也很方便。需要提醒的是MLlib并不适合所有的算法场景。深度学习框架比如PyTorch、TensorFlow还是需要用它们自己的分布式能力Spark与深度学习的结合通常是通过Spark做数据预处理再把数据喂给深度学习框架。别把Spark当成深度学习引擎用。5.3 实时流处理场景如果要处理的是秒级甚至毫秒级的实时数据比如实时风控、实时推荐、实时监控大屏那Spark Streaming的微批模式会显得力不从心。这时候选择Flink更合适。Flink的流式处理模型是原生的支持事件时间处理、精确一次语义延迟低得多。如果你已经有Spark技术栈又不想引入新框架可以评估一下业务的实时容忍度。如果秒级延迟够用用Spark Structured Streaming也能做比如做实时数仓的轻度汇总层。但如果业务对延迟极度敏感就不要硬用Spark了该上Flink就上Flink。5.4 数据湖与云原生架构现在越来越多公司转向数据湖架构底层用Iceberg、Hudi或者Delta Lake这类存储格式统一管理批流数据。有趣的是这些数据湖格式的最佳伴侣往往不是MapReduce而是Spark或Flink。因为数据湖格式要求高效的小文件管理、ACID事务和UPSERT能力这些都需要计算引擎支持较为复杂的有状态操作Spark天然比MapReduce更适合。还有一个趋势是云原生。在云上对象存储比如S3、OSS、GCS逐渐取代了HDFSSpark天然适配云上数据源可以直接读写对象存储不需要再搭建和维护HDFS集群。这时候再去对比Hadoop和Spark两者的边界更清晰了存储是云厂商的事计算才是你需要投入精力优化的部分。6. 我在实际项目中踩过的坑6.1 内存参数调优的误区Spark快归快但参数调不好很容易翻车。最常见的坑就是executor内存设得太大。很多人以为内存越多越好结果把整个集群的资源全占满了其他作业等半天而单个Executor的分区数又不够数据倾斜时直接把节点搞挂。我一般建议先保守起步executor内存设4GB~8GB配合合适的executor cores观察作业的运行情况再逐步调整。内存溢出的时候优先检查数据倾斜而不是一味加内存。比如某个key的数据特别多导致某个Task处理时间远大于其他Task这种情况加内存解决不了根本问题需要做key拆分或者两阶段聚合。6.2 小文件问题HDFS适合存大文件但很多业务流转会大量产生小文件比如上游的日志文件或者Spark作业写出的结果分区过多而单个数据量很小。大量小文件在HDFS上会造成NameNode内存压力大同时Spark或者Hive读取时每个小文件都可能分配一个Task导致Task数量爆炸调度开销极大。解决办法通常是先做文件合并或引入小文件自动合并机制比如在写入时用coalesce或者repartition控制输出文件数量或者设置Hive的合并参数。这个坑看起来不起眼但处理不好很影响集群整体效率。6.3 数据倾斜的典型处理思路以我个人的经验看数据倾斜是大数据处理里出现频率最高的问题没有之一。无论是Hadoop还是Spark只要做Join或者Group By就可能遇到某个key数据量特别大把单个Task拖死。排查方法很简单看任务的执行时间分布发现某个Stage里多数Task秒级完成个别Task卡住十几分钟大概率就是倾斜了。处理思路一般是这几个方向对key加随机前缀盐值把大key拆成多个子key再聚合过滤掉明显异常的噪音key如果是Join可以先把小表广播出去做map端join避免shuffle。方法很多但关键是要真正理解数据分布和业务含义而不是盲目套模板。6.4 集群规模的预估经验我经常被问到多少数据量需要多少台机器。这个没有标准答案但我有个粗略的参考口径如果是常规的离线ETL任务每台机器给16GB内存、4个核左右大致能承担日均处理几十GB到几百GB的数据量具体还要看任务的复杂度和并发度。真正做规划时建议先跑一个典型作业做压测再按峰值需求反推集群规模。宁可在前期多花点时间压测也不要拍脑袋买机子买错了既浪费钱又影响开发进度。7. 常见问题速查表问题排查思路Spark作业OOM检查executor内存、分区数、是否有数据倾斜考虑减小分区大小调整存储级别作业运行时间不降反升查看是否发生多次Shuffle或磁盘Spill检查是否有不必要的cache和persistHive on Spark作业变慢确认数据大小和资源配额是否一致检查Hive表的文件格式和小文件数量Executor丢失频繁检查节点内存和YARN资源分配常见于单个节点内存超配或Kernel内存不足数据倾斜导致Task长尾使用加盐、两阶段聚合、广播小表、过滤异常key等方法读取大量小文件极慢合并小文件控制写入分区数必要时使用文件索引这张表是我平时排查问题的高频清单很多问题一眼看上去是框架性能问题底层原因往往是数据分布不合理或资源配置不当。8. 最后的一点个人经验做大数据选型和技术落地这几年我最深的体会是没有哪个框架是万能的也别指望选了一个主流框架就能解决所有问题。关键是要理解自己业务的数据特征、时效要求和团队能力然后把合适的工具放到合适的位置。如果要选型我的优先级判断逻辑是这样的你的业务如果是重型离线批处理追求稳定和低成本HadoopHDFSYARNHive on MapReduce足够如果业务偏复杂计算、迭代算法、交互式查询或者想把批处理和流处理的技术栈尽量统一那就在Hadoop存储之上引入Spark如果对实时延迟要求到毫秒级再考虑Flink。大多数情况下它们不是替代关系而是配合关系。最后再分享一个小技巧不管选哪个框架先在真实数据规模和真实作业逻辑上做一次压测对比结果时注意控制变量不要被网上的性能数字忽悠。好的架构是够用、稳、好维护而不是最贵、最快、最潮。希望这篇对比能帮你少走一些弯路。

相关新闻

“如果没有Windows,英伟达根本不会诞生!”黄仁勋放话,全球最值钱公司因Windows才存在?

“如果没有Windows,英伟达根本不会诞生!”黄仁勋放话,全球最值钱公司因Windows才存在?

当整个科技行业都在把注意力投向云端大模型、AI 数据中心和 Agent 入口时,英伟达 CEO 黄仁勋却在微软的活动上,把英伟达的起点拨回了 1992 年:“英伟达是因为 Windows 才创立的……如果没有 Windows,英伟达根本不会诞生。”近日&a…

2026/10/15 18:32:46 阅读更多 →
仓颉 std.binary 包实战指南:大小端字节序列转换与字节序反转接口详解

仓颉 std.binary 包实战指南:大小端字节序列转换与字节序反转接口详解

人工智能AI 技能文档开发工具 【免费下载链接】DocAgent 项目地址: https://gitcode.com/Cangjie-SIG/DocAgent 点击查看 免费下载 std.binary 是仓颉标准库中专用于处理字节序(Endianness)的包,它把仓颉基础数据类型&#xff08…

2026/10/15 18:32:46 阅读更多 →
YADR dotfiles:一站式整合 Vim、Git、Zsh 插件与配置的开发者工作流

YADR dotfiles:一站式整合 Vim、Git、Zsh 插件与配置的开发者工作流

开发工具 【免费下载链接】dotfiles YADR - The best vim,git,zsh plugins and the cleanest vimrc youve ever seen 项目地址: https://gitcode.com/gh_mirrors/dotfil/dotfiles 点击查看 免费下载 导读 YADR(Yet Another Dotfile Repo)是…

2026/10/15 18:32:46 阅读更多 →

最新新闻

冒险岛WZ格式解析与自定义加密实战指南

冒险岛WZ格式解析与自定义加密实战指南

简介:这是一款面向《冒险岛》游戏开发者、MOD制作者及资深玩家的WZ资源编辑与加密工具集,专为破解、定制和重打包游戏核心资源(如图像、音效、脚本、技能配置)提供完整支持。资源包共34个文件,含17个DLL动态库&#xf…

2026/10/15 19:16:09 阅读更多 →
C罗半场被换下,利雅得胜利10人连进3球逆转

C罗半场被换下,利雅得胜利10人连进3球逆转

利雅得胜利主场,上半场0比2落后,门将早早被罚下。中场休息,主教练把C罗换了下来,转播镜头扫过他的脸,表情不太好看。下半场,没有C罗的利雅得胜利,10个人连进三球,3比2逆转。 同一周&…

2026/10/15 19:16:09 阅读更多 →
分销商城小程序打造高效社交分销与营销增长平台

分销商城小程序打造高效社交分销与营销增长平台

随着移动电商和社交营销的快速发展,传统商城获客成本不断增加,越来越多的企业开始布局分销商城小程序,通过社交分享、会员裂变、营销活动等方式,拓展销售渠道,实现客户资源与商品销量的双重增长。分销商城小程序定制开…

2026/10/15 19:16:08 阅读更多 →
从源头到应用,企业数据质量究竟该如何管控?

从源头到应用,企业数据质量究竟该如何管控?

数字化转型持续推进,数据已经成为企业经营决策、业务分析、系统协同的核心资产,但很多企业始终被数据质量难题困扰:客商信息重复、物料编码不统一、报表口径打架、跨系统数据对不上。不少团队投入了人力、预算做数据治理,却常常陷…

2026/10/15 19:16:08 阅读更多 →
2026年10月山西省联通宽带实测办理全流程避坑攻略

2026年10月山西省联通宽带实测办理全流程避坑攻略

昨天翻出上个月的手机话费单,看着宽带那一栏扣的钱,再看看业主群里邻居吐槽晚上看剧转圈圈,我实在忍不住了。对比了一下账单,我家现在用的宽带一个月大几十,网速却不如隔壁用山西省联通的邻居。为了搞清楚到底怎么回事…

2026/10/15 19:16:08 阅读更多 →
PHP众筹源码系统实战:多模式众筹平台部署与避坑指南

PHP众筹源码系统实战:多模式众筹平台部署与避坑指南

“PHP众筹源码系统”这个关键词,最近在几个站长社群里反复出现。说句实话,我第一次拿到这套源码的时候也没太当回事——市面上叫“众筹系统”的PHP源码一抓一大把,很多就是套个模板、挂个支付按钮就算完事。但真正把这套系统部署起来、跑完一…

2026/10/15 19:15:08 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →