当前位置:首页 > 篮球比分 > 正文

大数据专业自学,这些书让我从零基础摸到高薪门槛

摘要: 先坦白一下,我不是什么计算机科班出身的人,大学读的是工商管理,毕业后在一家小公司做运营,每天对着Excel表格捣鼓那几千条数据,...

先坦白一下,我不是什么计算机科班出身的人,大学读的是工商管理,毕业后在一家小公司做运营,每天对着Excel表格捣鼓那几千条数据,感觉自己就像个高级打字员,直到有一次,客户丢过来一份200万行的销售数据,我打开Excel,电脑直接蓝屏了,那一刻我突然意识到,再这么搞下去,这饭碗端不长久。

于是我开始认真琢磨大数据这行,没报班,没辞职,全靠晚上和周末啃书,两年多下来,从连Python环境都装不好,到现在能独立搭建实时流处理系统,中间踩过的坑、翻烂的书,说起来都是故事,今天这篇不是那种“从入门到精通”的鸡汤,而是我从书堆里一本本筛出来的实打实的路线图

先别急着上手写代码,你得先把“数据思维”养起来

很多人一上来就问我:“学大数据是不是得先精通Python?”我的回答可能让你意外:先别急

大数据这个领域,技术只是手段,对数据的理解和处理逻辑才是根,如果你脑子里没有“数据怎么流动、怎么存储、怎么清洗”这些概念,哪怕你写代码再快,最后产出的东西也是废的。

1 打底姿势:记住这三本书就够了

书名 为什么它值得你花时间 适合谁读
《大数据时代》 舍恩伯格的这书不是技术手册,但它把大数据从“概念”讲成了“世界观”,我读完最大的收获是:数据不要追求精确,要追求相关性,这本让我思维转变最大。 零基础、想转行的人
《数据科学入门》 作者是数据科学家,但这书不装逼,它从均值、方差、概率分布这些最基础的东西讲起,慢慢带你走进建模的世界,每一章都有练习题,而且代码全在GitHub上公开。 有编程基础,但没系统学过数据科学的人
《利用Python进行数据分析》 韦斯·麦金尼是pandas库的创始人,这书可以说就是pandas的官方入门指南,我当初读的时候,每一段代码都自己敲一遍,一个月后处理Excel数据的速度提升了10倍。 有Python基础,想提高实际数据处理能力的人

小贴士:这三本书不要买电子版就放着,建议买纸质版,边看边在书上写写画画,我到现在还记得《大数据时代》的很多例子,因为当时用荧光笔划得密密麻麻的。

当你能用Python处理10万行数据后,就该进入“工程化”阶段了

说实话,处理10万行数据,用Python的pandas库甚至Excel都能应付,但一旦数据量突破千万级,你就得换赛道了,这时候,分布式计算存储系统的概念必须建立起来。

1 这才是大数据真正的“核心必读”

这个阶段的书籍选择,差点让我翻车,当初我买过一本讲Hadoop的大厚书,讲得太深太技术,我看了三章就放弃了,后来才发现,初学阶段根本不需要懂HDFS内部的数据块怎么复制,你只需要知道它大概干了啥就行。

我真正开始上路,是靠下面这几本:

  • 《Spark快速大数据分析》:这本书强在哪儿?它没一上来就甩你各种API,而是从“你能在笔记本上跑通一个WordCount程序”开始,跟着它,我学会了RDD、DataFrame这些核心概念,关键是,书里的案例代码每次运行都能直接通过,这对我当时的信心太重要了。
  • 《数据密集型应用系统设计》:这书名有点吓人,但内容真的很接地气,它不讲任何一种具体技术,而是讲分布式系统设计的原则:复制、分区、一致性、容错……我读完最大的感受是:终于理解为什么有些数据库要叫NoSQL,为什么Redis这么快,为什么Kafka叫消息队列。这本书是帮你打通“任督二脉”的。
  • 《Hadoop权威指南(第四版)》:这书我犹豫要不要放进来,因为实在太厚了,但如果你真的要去面试大数据岗位,HDFS和MapReduce的基本原理几乎是必考题,不用全读完,重点读前八章和后四章关于YARN和调优的就行。

可能你会发现,我推荐的书几乎没有国内作者写的,不是说国内写不好,而是大数据这个领域,英文原版书籍在系统性和更新速度上确实领先一些,如果你英文不太好,中译本也行,但要选机械工业出版社或者人民邮电出版社的版本,翻译质量相对靠谱。

大数据不是孤岛,你得懂点数据库和统计学

这一关是我自己走了很多弯路才想明白的。数据工程师数据科学家哪个更值钱?其实都值钱,但路径完全不同,我当时的目标是数据工程师,所以重点学的是SQL和NoSQL数据库以及基本的统计学知识

1 数据库方面,我建议这么安排

先从关系型数据库开始,因为大部分公司数据仓库还是用的MySQL或PostgreSQL。

  • SQL必知必会》:这本我第一周就读完了,只要跟着书把所有的例子在MySQL里跑一遍,你就能应付80%的面试SQL题。
  • 《MongoDB权威指南》:当你遇到非结构化数据(比如日志、用户行为数据)时,关系型数据库就不好使了,MongoDB是目前最流行的NoSQL之一,这书讲得很清楚。
  • 《Redis实战》:你会发现,在大数据处理中,缓存是救命稻草,Redis能把几秒钟的查询时间缩短到毫秒级,这本书教你如何用Redis做排行榜、消息队列、限流器,很实用,不扯淡

2 统计学这块,千万别被吓到

我大学数学基础很一般,线性代数和概率统计都是低空飘过,但大数据里需要用的统计学知识,其实远没有考研那么深,你不需要会推倒复杂的公式,但得知道正态分布、中心极限定理、假设检验、p值这些概念在数据里代表什么。

推荐一本书:《赤裸裸的统计学》,这书名太直白了,但内容写得真好,它用各种生活中的例子(比如什么是平均值陷阱、为什么彩票分析师都是骗子)来解释统计概念,完全不枯燥,看完这本,你再去看《统计学基础》那种教材,会轻松很多。

来点“心法”:别追求完美,先跑通一个“Hell World”

上面这七八本书,如果全部精读,可能要花一年时间,但有个事实我得告诉你:根本不需要全部读完才能找到工作

我的策略是:广度优先,深度跟进

什么意思?就是你先快速浏览每本书的目录,知道这个领域有哪些技术、它们之间的联系是什么(比如HDFS存数据,MapReduce算数据,Spark在内存里算得更快,Kafka负责传输消息流),然后重点把一两本书的精髓吃透,利用Python进行数据分析》和《Spark快速大数据分析》,这两本能让你动手做出东西来

我接触过很多自学大数据的人,发现他们最常犯的错误是:买了一大堆书,结果一本都没读完,就觉得太难放弃了,但实际上,大数据学习有个“30%节点效应”:只要你坚持读完那本书的前30%的内容,并且动手敲完里面的代码,后面70%的内容理解起来就会快很多很多,所以别怕开头慢。

别光看书,一定得动手,我当初租了一个最便宜的阿里云服务器,每月几十块钱,然后在上面装了个Jupyter Notebook,一边看书一边敲代码,遇到报错就去Stack Overflow搜,搜不到就去GitHub上找人家的项目,看别人怎么写的,这个过程非常痛苦,但每解决一个问题,你对技术的理解就加深一层。

说到底,这些书只是地图,真正走路的还得是你自己,别想着一步登天当架构师,先老老实实当一个能独立处理千万级数据、能搭建一个简易数据管道的人,你就已经超过了80%盯着这个领域的人。而且老实说,这个岗位现在真的很缺人,月薪2万-3万很常见

周末又到了,找个下午,去图书馆或者泡杯茶,翻开《利用Python进行数据分析》的第一章,把那段代码敲出来,你会发现,大数据这事儿,真的没有想象中那么难

不说了,我硬盘里还有一堆日志文件要清洗,今天先聊到这儿吧。

大数据专业自学,这些书让我从零基础摸到高薪门槛

大数据专业自学,这些书让我从零基础摸到高薪门槛