想从事大数据、海量数据处理相关的工作,如何自学打基础?

问答中心分类: 大数据想从事大数据、海量数据处理相关的工作,如何自学打基础?
勿忘 提问于 11月 以前

2 个回答
chenjjchenjj 用户 回答于 11月 以前

1. 自己装个小集群跑hadoop/hive,可以到cloudera网站上下现成的打包虚拟机。看看hadoop in action. 这本书比权威指南容易懂很多。
2. 装个cassandra什么的玩玩,在上面架个小项目,比如留言板什么的。。
3. 读一些著名的paper,nosql的或者mapreduce。
4. 看看apache hadoop家族的其他几个项目,比如zookeeper,pig,了解一下生态圈
到这里为止你大概有个概念,知道bigdata怎么回事了
找个开源项目,看看ticket list,看看能不能自己修。。
能的话看看能不能混进项目组
个人觉得,大数据要靠实践多一点。在真的上百上千节点的cluster上跑hadoop和自己虚拟机架的完全不同。cluster上跑各种奇葩的事情单机都是碰不到的。。就好比dba靠读书考证很难牛屄一样。所以最终还是要找个公司实战。。不过如果上面几个都做到的花,基本上应聘大数据公司问题不大了。
----------------------------------
做大数据平台工作现在满一周年多几天,再看上面的答案觉得说得不是很到位。
在国内的环境下,似乎还是Hadoop用得更多,其他更fancy的东西比如presto/spark什么的,湾区也算是新鲜事物,并不是很多公司都在用(也有原因是真的适用的公司也不算太多了)。更实际节省的做法是,学Hadoop,至少要了解系统架构和数据的流向,比如怎么partition,怎么shuffle,combiner怎么work之类的大概念,对入门人士面试官大多也就是面这些,不会问太深,再深入的问题,是留给有行业经验的人的。对刚入门想入行的人,知道上面这些,再写写类似Word Count(大数据版的helloworld),之类的有个实际概念,就可以找公司面着玩看了。
其他东西可以都了解个皮毛,跟上社群的演进。大数据更多是工程的东西,不是那么学术,多看看比深挖一个对初学者更有好处。每个工具被发明,都是解决一个特定问题的,大数据没有一个产品是万能的,都是解决某个特定问题来的,看到新鲜事物就想想为什么需要这样的工具,背后有什么需求。
比如有了Hive为什么facebook还要搞Presto;为什么Hadoop 2.0要做Yarn。看的时候多想想这个,视野就会更开阔。
建议如果想深入学习,没有什么比找个真的做相关行业的公司来的靠谱了。工程的东西,尤其是这样新鲜出炉的工程领域,光看书看资料是没有任何用处的,你很难了解每个技术背后的关键,也很难了解实践中会遇到的问题。我之前打杂过的实验室,到处找客户免费用他们的产品,每个出去的学生都会义务跟雇主推荐实验室的产品,为什么,因为没有真的在PB级别的数据上跑,你就不知道哪里设计有问题。你深入看一个项目,就会发现,其实用得技术没什么新鲜深奥的,比如你看Hive或者Presto,会发现用到的技术,在Query引擎领域只能算是入门级的知识,传统数据库厂商都用了几十年了。真正好玩的是,每个Feature设计是如何切入大数据这个背景的。
所以说,没有比找一家公司真的干一段时间更能让你了解大数据的了。当然请别被忽悠去拿大数据做噱头的公司了。现在有些公司招聘,就算不用hadoop也会往上写,反正去了老板会说,现在数据不够,以后肯定会需要Hadoop的。

cindy 回答于 9月 以前

学习一些理论学习,然后用相应的数据工具去验证,比如SPSS、SAS等建模工作,还有一些实用的工具也具体数据分析、数据处理等功能,比如BDP~

你的回答