一些目前的想法
从机器学习到数据开发
这是我第一次写博客。
学计算机也已经很多年了,从本科到研究生,看过很多技术文章,也收藏过不少大佬的博客,但自己一直没真正写过什么。总觉得自己懂得还太少,做的东西也不够“厉害”,没什么值得分享的。
但今天突然很想留下些什么。
刚刚和即将毕业的师兄们聚完餐,回来坐在电脑前,脑子里一直在回想大家聊的那些事情:科研、实习、秋招、工作。
实验室里的几位师兄基本都拿到了不错的大厂 offer,有的做算法,有的做开发,也有人开始做 AI 大模型相关方向。看着他们慢慢找到自己的方向,说不羡慕肯定是假的。
但相比羡慕,更多的是一种对未来的憧憬。
从建筑到计算机
其实我的本科并不是计算机专业,而是建筑专业。
现在回头看,会觉得自己的路线确实有点绕。
本科的时候虽然学过一些计算机相关课程,比如程序设计、数据结构、数据库,还有 408 的一些内容,但那时候更多还是停留在“上课”和“考试”的层面。
当时的我,对计算机行业其实没什么特别清晰的认知,只是单纯觉得编程挺有意思,也会被技术世界里的很多东西吸引。
后来读研之后,真正进入实验室,才算第一次正式接触技术方向。
也是从那个时候开始,我慢慢意识到:
自己可能真的想走计算机这条路。
但与此同时,我也很清楚,和很多本硕都是科班的大佬相比,我还有很长的路要走。
机器学习、深度学习,以及最开始的迷茫
刚进入研究生的时候,我最先学习的是机器学习和深度学习。
一方面是实验室科研方向需要,另一方面也是因为当时对 AI、深度学习这些“听起来很前沿”的方向很感兴趣。
那个阶段学了很多东西:
-
机器学习基础算法
-
CNN、RNN、Transformer
-
PyTorch 训练流程
-
数据预处理
-
模型训练和调参
-
论文复现
刚开始的时候,会因为成功跑通一个模型开心很久,也会因为环境问题折腾一天。
但慢慢地,我开始发现一个问题:
自己虽然在“用模型”,但其实并不真正理解工业场景中的数据到底是怎么流动的。
而且科研里的东西,和真实业务之间,其实差距很大。
开始重新思考自己的方向
后来和老师、师兄们交流得越来越多,也开始慢慢接触算法之外的一些方向:
-
数据开发
-
数据仓库
-
大数据平台
-
AI 工程化
-
数据治理
那个阶段给我最大的感受是:
原来真正的企业环境,并不是简单训练一个模型就结束了。
数据从哪里来?
怎么清洗?
怎么建模?
怎么调度?
怎么服务业务?
这些问题远比我之前想象得复杂。
学校里的知识,和真实业务之间,还是有很大差距的。
也是从那个时候开始,我开始认真思考:
自己未来到底更适合什么方向。
最终决定走数据开发
在研一上学期的时候,我最终决定:
以后想走数据开发方向。
其实刚开始做这个决定的时候,我心里挺没底的。
因为相比很多本硕都是计算机的大佬来说,我的基础并不算强。
再加上自己是从机器学习慢慢转向数据开发,中间有不少知识断层。
但也正因为这样,我反而更想系统地去理解:
企业里的数据,到底是怎么被处理、流转、最终服务业务的。
于是寒假那段时间,我开始集中补基础:
-
Linux
-
MySQL
-
Hadoop
-
Hive
-
Flume
-
Kafka
-
Spark
-
数仓分层思想
-
ETL 流程
-
数仓建模
也是从那个时候开始,我正式接触了自己的第一个完整项目:
离线电商数仓项目。
第一次真正理解“数据仓库”
说实话,在真正开始这个项目之前,我对“数仓”的理解非常模糊。
我知道有:
-
ODS
-
DWD
-
DWS
-
ADS
也知道:
-
Hive
-
Spark
-
Kafka
-
Hadoop
这些组件。
但这些东西为什么存在、解决什么问题、彼此之间怎么协同,我其实并不清楚。
而这个项目,是我第一次真正从“业务视角”去理解整个数据体系。
刚开始最难的,不是代码,而是“体系”
刚开始做项目的时候其实挺痛苦的。
因为它和以前写算法题、小 demo 完全不一样。
它不是:
“写一个功能”
或者
“跑一个模型”
而是一整套数据链路。
第一次接触的时候,我甚至经常搞混:
-
ODS 到底存什么?
-
为什么一定要做 DWD?
-
DWS 和 ADS 有什么区别?
-
为什么维度表要做拉链?
-
为什么企业里这么强调数据规范?
很多时候一个 SQL 我能看半天。
尤其是刚接触 Hive 的窗口函数、多表 join、动态分区、拉链表这些内容的时候,经常会有一种:
“好像看懂了,但又没完全懂”的感觉。
从“组件”到“数据流”
但随着项目慢慢推进,我开始第一次真正理解:
原来整个大数据体系,本质上是在解决“数据如何高效、稳定、规范流动”的问题。
也正是在这个过程中,我开始慢慢理解各个组件到底是干什么的。
Flume
以前一直觉得日志就是简单文本。
后来才意识到:
企业里的用户行为数据、埋点数据,其实很多都来自日志。
而 Flume 的作用,就是稳定地完成日志采集。
也是第一次真正意识到:
数据分析的第一步,其实不是分析,而是采集。
Kafka
刚开始接触 Kafka 的时候,我一直觉得它特别抽象。
后来慢慢才理解:
它本质上是在解决“生产速度”和“消费速度”不一致的问题。
比如日志疯狂产生,但下游处理不过来,这时候 Kafka 就能起到缓冲作用。
同时它还能实现系统解耦、削峰填谷这些事情。
也是从这里开始,我第一次真正感受到:
为什么企业里会那么强调稳定性。
HDFS
以前只知道 Hadoop 是分布式存储。
但真正开始用之后,才发现它更像是企业的数据底座。
大量日志、行为数据、历史数据,都会进入 HDFS。
而 Hive,其实很多时候只是 HDFS 上的一层 SQL 能力。
Hive
Hive 应该是整个项目里我花时间最多的部分。
因为真正的数据开发工作里,SQL 太重要了。
我第一次系统地写:
-
用户行为分析
-
留存分析
-
漏斗分析
-
复购分析
-
商品主题分析
-
流量主题分析
也第一次大量接触:
-
窗口函数
-
分区表
-
动态分区
-
拉链表
-
数据倾斜
-
Join 优化
那个阶段最大的感受就是:
以前写 SQL 是为了做题。
现在写 SQL,是为了处理业务。
这是两种完全不同的思维方式。
第一次真正理解数仓分层
这个项目对我帮助最大的,其实是数仓分层思想。
以前总觉得:
为什么非要分那么多层?
后来真正做下来之后才发现:
ODS、DWD、DWS、ADS 每一层其实都有自己的意义。
ODS 保留原始数据,保证数据可追溯。
DWD 负责数据清洗和明细规范,统一数据口径。
DWS 开始做业务主题聚合。
ADS 则直接服务报表和业务指标。
也是从这里开始,我第一次真正意识到:
数据开发其实不只是“写 SQL”。
它更像是在构建企业的数据语言体系。
项目做完之后,我第一次有了“成就感”
整个项目断断续续做了很久。
中间踩了很多坑:
-
Hadoop 环境问题
-
Hive 元数据异常
-
Spark 提交失败
-
数据为空
-
分区遗漏
-
SQL 跑不通
-
Join 数据爆炸
很多时候一个 bug 能卡一天。
有时候凌晨还在查日志。
有时候改了一个字段,后面整条链路都得重新检查。
但当最后整个流程真正跑通的时候,那种感觉真的很难形容。
因为这是我第一次:
真正完整地参与一个业务型数据项目。
我终于不再只是知道某个组件“是什么”。
而是开始理解:
它为什么存在。
它在整个数据链路里到底承担什么角色。
但我也知道,这只是开始
虽然项目完成的时候很开心,但我也很清楚:
自己现在其实还只是刚刚入门。
因为越学越会发现,真正的企业数据开发,远比课程项目复杂得多。
所以最近这段时间,我也还在继续补很多东西:
-
SQL 练习
-
LeetCode Hot100
-
Spark 原理
-
JVM 基础
-
数仓设计思想
-
大数据组件底层逻辑
同时也开始慢慢关注:
实时数仓、Flink、AI 和数据结合这些方向。
虽然目前还没有真正深入学习,但我越来越能感受到:
未来的数据开发,一定不会只停留在离线处理。
包括最近我也开始思考:
AI 未来会怎样影响数据开发。
比如:
-
AI Agent
-
Text2SQL
-
智能数据分析
-
AI 辅助 ETL
-
数据治理智能化
这些方向我都挺感兴趣的。
所以接下来,也希望自己能一步一步把整个技术路线继续补完整。
关于实习
这次和师兄们聊天,对我触动最大的还有一点:
他们都提到了“真实业务经验”的重要性。
很多东西,只有真正进入企业之后才能理解。
比如:
-
生产环境规范
-
调度体系
-
数据质量
-
性能优化
-
业务理解
-
多团队协作
这些都不是单靠课程项目就能完全学到的。
所以现在我也准备开始找日常实习。
希望能够真正进入业务环境。
真正看看:
企业里的数据,到底是怎样流动的。
写在最后
写这篇博客,其实更像是一次阶段性的记录。
记录自己从建筑专业走向计算机。
记录自己从机器学习到数据开发的转变。
也记录自己第一次真正开始理解“数据”这件事。
我知道自己现在懂得还很少。
和真正的大佬相比,可能才刚刚起步。
但至少现在的我,已经开始慢慢找到方向了。
以后应该也会继续更新一些:
-
数仓学习记录
-
Hive / Spark 总结
-
数据开发面试准备
-
AI + 数据方向探索
-
学习路线记录
如果有正在学习数据开发的大佬,或者已经工作的前辈,希望能多给我一些建议和指导。
也欢迎大家一起交流学习。
毕竟对于现在的我来说:
真正的路,可能才刚刚开始。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)