大数据学习路线——甲骨文高级技术总监思维图

  

最近有很多人问我如何学习大数据?我也是思考了很多时日才动笔写下此文。一方面我自己还只是大数据学习中的一个小学生,贸然动笔怕贻笑大方,另一方面大数据本身领域博大精深,其涵盖领域之广技术种类之多确实很难用一篇文章囊括。怎奈”下雨天打孩子,闲着也是闲着”,况笔者一直坚持写技术类的博客,今天也请允许我写一点务虚类的东西吧。
本文的目的是希望给所有大数据初学者规划一条比较清晰的学习路线,帮助它们开启大数据学习之旅。鉴于大数据领域内的技术绚丽繁复,每位大数据初学者都应该根据自己的实际情况制定专属的学习路径。
要说当下这行业什么最火? ABC无出其右。所谓ABC者,AI +大数据+云也,即人工智能,大数据和云计算(云平台)。每个领域目前都有行业领袖在引领前行,今天我们来讨论下大数据这个方向。
大数据,即大数据,关于它的定义很多,我这里不再赘述了。最权威的莫属IBM的定义,读者可以自行查阅。既然本文关注如何学习大数据,那么我们首先就要定义大数据领域内的不同角色设定。这样各位才能根据自身实际情况找准自己的定位从而开启学习过程。

  

角色
以我的愚见,当下大数据行业有两类角色:
大数据工程
大数据分析

  
 <代码>这两类角色相互依存但又独立运作,何意?没有大数据工程,大数据分析便无从谈起,但倘若没有大数据分析,我也实在想不出大数据工程存在的理由。这就类似于结婚和谈恋爱——恋爱的目的是为了结的婚,且不以结婚为目的的谈恋爱都是耍流氓。
  具体来说,大数据工程需要解决数据的定义,收集,计算与保存的工作,因此大数据工程师们在设计和部署这样的系统时首要考虑的是数据高可用的问题,即大数据工程系统需要实时地为下游业务系统或分析系统提供数据服务,而大数据分析角色定位于如何利用数据,即从大数据工程系统中接收到数据之后如何为企业或组织提供有产出的数据分析,并且确实能够帮助到公司进行业务改善或提升服务水平,所以对于大数据分析师来说,他们首要解决的问题是发现并利用数据的价值,具体可能包括:趋势分析,模型建立以及预测分析等。
  简单总结一下,大数据工程角色需要考虑数据的收集,计算(或是处理)和保存;大数据分析角色则是执行数据的高级计算。 
  

我们属于哪种角色?
既然我们了解了大数据领域内的角色分类、下面自然就需要“对号入座”确定自己的定位,这样才能有的放矢地开始大数据学习。在考虑这个问题时,我们需要参考两方面的因素:
专业知识背景
行业经验

  
 <代码>这里的专业知识背景不是指代学历,院校这种背景,而是你对某些它技术的了解程度。即使你不是计算机专业出身,只要你对C语言有一腔热血,怕是C之父丹尼斯·里奇也不敢小瞧你。因此,这里的专业知识其实就只有两个: 
  

计算机专业知识,比如操作系统,编程语言,计算机运行原理等
数学知识,这里指代的是高等数学,比如微积分,概率统计,线性代数和离散数学等,不是x x + y y=1画出来是什么图形这样的数学

  
 <代码>而行业经验指的是你相关领域内的工作经验,具体可以分为三档: 
  

菜鸟
有一定经验的工程师
资深专家——现在在大数据领域有个更酷的名字:数据科学家,比如前百度首席数据科学家:吴恩达博士

  
 <代码>好的,现在我们就可以根据上面的分类来定义自己的角色,比如拿笔者来说,我对自己的定位是:“我是一个计算机专业毕业的工程师,有一定数学基础(特别是在微积分和线性代数方面),但数理统计和概率论部分是我的弱项。”另外最好别打肿脸充胖子,如果之前没什么经验,承认自己是菜鸟也没的事,关键是找准自己的定位。
  确定自己的定位后,我们需要对应到特定的大数据角色,以下是一些基本法则: 
  

如果您具有良好的编程基础且深入了解计算机的交互方式以及互联网底层技术原理,但数学和统计学掌握不深,那么大数据工程可能是您今后学习的方向
如果你有一定的编程基础(掌握一些高级语言,如Python等)同时又很强的数学功底,那么大数据分析是您今天努力的方向

  

学习路线
不管您属于以上哪种角色,有一些大数据理论知识是您必须要掌握的,他们包括但不限于:
数据分片与路由:挑一个典型的分区算法去学习,比如一致性哈希算法([url=] https://en.wikipedia.org/wiki/Consistent_hashing [/url])

大数据学习路线——甲骨文高级技术总监思维图