学习从来不是一件简单地事情,然

简介:

之所以忽然提笔,是因为这段时间正好在业余时间系统地学习Spark,整个学习思路让我想起了大学期间学习《模拟电子电路》这门课的一些方法,个人觉得可以作为一个学习模板来和大家一起交流分享(本文只谈如何系统高效地学习一项技能或者一门课程,抱有突击学习目的的请绕道)。

无论是学习Spark技术还是学习《模拟电子电路》课程,总结起来,大体都经历了这么几个阶段:

1. 初识(10%):系统地过一遍整个内容,《模电》就是大体听一遍老师的课程,Spark就到处看看相关的资料,在测试环境写一点测试代码。这个过程不需要特别仔细,也不需要多么深入的理解,只需要有个基本的概念了解即可。通常初识阶段是没有办法建立起知识的体系结构的。

2. 搭建知识体系(20%):初步了解基本概念之后,需要再过一遍所有内容,这次同样不需要关注细节,但是需要重点关注章节体系以及章节核心点:

  • 这门课程有哪些章节,比如Spark整体可以划分为Spark内核原理、Spark运帷优化、SparkSQL等几大部分。其中Spark内核原理可以划分为RDD介绍、DAG介绍、Spark任务调度、Spark存储管理系统、Spark资源管理系统等几个模块,Spark运维优化分为Spark部署、Web UI等
  • 进一步,需要针对每个模块列出核心点,不需要多,每个章节只需要列出三四个核心点即可,比如Spark资源管理模块需要关注静态资源管理策略以及动态资源管理策略

这样处理之后,厚厚的Spark书籍/《模电》就可以变成薄薄的几页纸,一页纸对应一个具体模块,记录该模块的核心点。犹记得当年考试前别的同学在拿着一本厚厚的模电书翻来翻去的时候,我就只需要拿着几页纸复习(而且单科成绩全系前茅)。

第二步是整个方法论中的重中之重,建立知识体系结构,构建知识树谱对知识的深入理解至关重要。只有拥有了全局的视野,你才知道现在自己学习了哪些,还有哪些没学。就像盖别墅,你需要首先画图纸,有个全局的设计,没有人会今天想起来东边盖个花园,明天在西边搞个游泳池。很多同学在学习一门技能的时候总是这里看点资料,那里学点优化方法,缺乏全局的视野,缺乏系统性,学到的东西永远支离破碎。而此时的你,已经可以滔滔不绝、由浅及深地概括一本书了。下面两图是笔者学习Spark内核时为自己列的一个提纲以及优化章节的部分核心点:



1

2

3.  深入探索(20%):知识体系建立起来之后,需要更加深入。此时可以丢掉课本,只需要对照着每个章节的核心点一个一个重点击破,比如现在要深入学习Spark资源调度模块中的动态资源调度,那就利用所有可以利用到的资源(google、官方博客、spark文档、youtubo、jira、源码等)检索动态资源调度的相关信息,深入理解其工作原理。这样一个一个击破之后整个知识体系就更加丰满。这个阶段需要严苛的工匠精神,需要你搜集各种资料去了解,去思考why。至此,在理论层面你已经是所谓的”专家”了。这个阶段有两点建议:

(1) 经典内容检索:这个阶段拼的是各位的检索能力和阅读理解能力,在此强烈推荐技术人多关注国外技术大牛的博客以及官方博客、文档,比如Spark可以关注的材料主要有:

(2)画图整理:网络上关于Spark的内容有很多很多,经典的内容更不少,一般遇到经典内容之后都会一口气读完,再加入书签。然,久而久之,很多内容都会慢慢模糊,当你再想去查的时候已经不知道是哪个博客的内容了,相信很多人会有这样的苦恼。针对这样的问题,需要将一些自己体会非常深刻的内容记录下来,建议使用画图工具,俗话说一图胜千言,比如学习SparkSQL时为了理解SQL的整个解析过程,笔者就简单地将一个简单的SQL的执行计划通过几张图表示出来:

3

4. 实践探索(30%): 第三步完成之后,相信你已经可以就这项技能和别人谈笑风生了,但也就仅此而已。一旦别人问你一个线上问题,相信你就会从滔滔不绝变得支支吾吾,因为你缺少实践。当然,只有在知识体系构建完成后的实践才是真正意义上的实践。有理论依据作为支撑,实践才有更多意义。实践是一个遇坑填坑的过程,没有遇到坑也不能称为实践。因为只有遇到问题,你才会完整地将监控、日志信息利用起来追踪整个系统工作流程,你才会真真切切地去想如何通过修改配置、修改源码来进一步改造它。

这个阶段,主要考察你解决问题的能力,一般来说通常就三板斧:监控、日志和源码。监控分为硬件监控以及业务监控,两者都需要看懂并会分析。日志也有很多,比如业务日志、GC日志等,需要能力根据异常猜测问题原因并进行验证。如果前者都失效,就只能分析源码。问题分析是第一步,更重要的,你还要提出一个高效地解决方案,这个可能是领导/面试官更看重的

实践探索不可能一撮而就,需要不断的踩坑填坑,所以需要一颗大心脏。

5. 分享交流(20%): 上面四步都是你自己对知识的理解,你还需要看看同行是如何理解的。实践结束之后一定记得需要以博客的形式系统完整的将这个模块完完整整、成体系地、由浅及深地进行复盘整理、分享交流!这个阶段可以让你认识更多圈子里的朋友,一起交流探讨才能不寂寞

学习有无数种方法,适合自己的才是最好的。本文只是笔者对学习方法的一点思考,分享出来一方面是为了更好地完善自己,另一方面也是希望能够给大家提供参考。当然,学习从来不是一件轻松的事情,但也从来不是一件艰难的事情。共勉。


本文转载自:http://hbasefly.com

原文链接

相关文章
|
XML Android开发 数据安全/隐私保护
10. 【Android教程】网格布局 GridLayout
10. 【Android教程】网格布局 GridLayout
863 1
|
8月前
|
人工智能 运维 数据可视化
2026年阿里云部署OpenClaw(Clawdbot)一键接入企业微信喂饭级教程
2026年企业数字化办公加速普及,高效协作与自动化办公成为企业降本增效的核心需求。OpenClaw(前身为Clawdbot、Moltbot)作为阿里云生态下极具实用性的开源AI代理工具,凭借自然语言指令操控、多任务自动化执行、多工具无缝集成的核心优势,成为企业搭建专属AI协作助手的首选。其不仅能实现文档生成、文件解析、服务器运维等基础功能,更可通过与企业微信的深度对接,打破平台壁垒,让员工在企业微信单聊、群聊中直接发送指令,完成办公协作任务,大幅提升团队工作效率,堪称“7×24小时不下班的AI数字员工”。
1501 1
|
弹性计算 关系型数据库 数据库
阿里云服务器ECS是什么?ECS应用场景、租用流程及使用教程整理
阿里云ECS(弹性计算服务)是性能稳定、弹性扩展的云计算服务,支持多种处理器架构和实例类型,适用于网站托管、开发测试、数据存储、企业服务、游戏多媒体及微服务架构等场景。提供从注册、配置到部署、运维的完整使用流程,助力用户高效上云。
|
9月前
|
存储 Linux 开发者
用pathlib替代os.path:现代Python路径操作最佳实践
本文对比Python中`os.path`与`pathlib`的路径处理方式,展示`pathlib`如何以面向对象、跨平台、易读性强的优势成为现代开发首选。涵盖路径构建、解析、文件操作、目录遍历等场景,结合实例说明其简洁性与实用性,并提供迁移策略与常见问题解答,助力开发者高效掌握现代化路径操作。
570 1
|
人工智能 自然语言处理 人机交互
Social Media Agent:告别文案焦虑!AI自动生成高转化帖子,输入URL快速生成爆款文案
Social Media Agent 是一款由 LangChain 推出的 AI 社交媒体内容管理工具,支持 Twitter 和 LinkedIn 平台,能快速生成高质量的帖子。
1083 17
Social Media Agent:告别文案焦虑!AI自动生成高转化帖子,输入URL快速生成爆款文案
|
10月前
|
传感器 算法 物联网
数字孪生项目标准的外包开发流程
数字孪生外包需结合IoT、3D建模与大数据,强调现场勘察与数据保真。流程涵盖需求定义、高精度建模、数据接入、算法实现到联调部署,核心在于虚实同步与性能保障,避免“好看但无用”。#数字孪生 #软件外包
|
11月前
|
存储 弹性计算 Ubuntu
3分钟:阿里云无影云电脑购买流程(新手图文教程)
阿里云无影云电脑购买超简单!进入活动页或官网,选择区域、计算规格、操作系统、存储及带宽等配置,支持企业版4核8G仅199元/年。可选按月或按需付费,快速完成支付即享高效云端办公体验。
1231 1
|
存储 弹性计算 运维
Hologres计算组实例&分时弹性入门实践
本文整理自 Hologres 产品团队的观秋老师关于Hologres 计算组实例&分时弹性入门实践的分享。内容主要为以下三部分: 1. Hologres 计算组实例介绍 2. 计算组实例入门实践 3. 分时弹性入门实践
558 16
|
11月前
|
存储 安全 程序员
为什么已经删除的数据还能恢复?数据恢复的原理是什么?
删除数据并非彻底清除,而是标记为可覆盖,原内容仍暂存于存储设备中。只要未被新数据覆盖,通过专业软件即可恢复。本文详解其原理并推荐实用免费工具,支持硬盘、U盘、手机等多设备文件找回。
2262 0
|
机器学习/深度学习 存储 编解码
Tiny Time Mixers (TTM)轻量级时间序列基础模型:无需注意力机制,并且在零样本预测方面表现出色
IBM研究人员提出Tiny Time Mixers (TTM),这是一个轻量级、基于mlp的TS模型,参数量小于1M,在M4数据集上表现优于大型SOTA模型,且具备优秀的零样本预测能力。TTM无注意力机制,利用TSMixer进行多级建模,自适应补丁和频率前缀调整等创新特性提升性能。预训练和微调阶段各有独特设计,预训练仅用单变量序列,微调时学习多变量依赖。TTM在某些任务中证明了小模型的优越性,且模型已开源。
1380 1