大数据学习应该如何入门

一、整体了解数据分析——5小时

新人们被”大数据“、”人工智能“、”21世纪是数据分析师的时代“等等信息吸引过来,立志成为一名数据分析师,于是问题来了,数据分析到底是干什么的?数据分析都包含什么内容?

市面上有很多讲数据分析内容的书籍,在此我推荐《深入浅出数据分析》,此书对有基础人士可称消遣读物, 但对新人们还是有一定的作用。阅读时可不求甚解,重点了解数据分析的流程、应用场景、以及书中提到的若干数据分析工具,无需纠结分析模型的实现。5个小时,足够你对数据分析工作建立初步的印象,消除陌生感。

大数据学习资料分享群 716581014

二、了解统计学知识——10小时

15个小时只够你了解一下统计学知识,作为入门足够,但你要知道,今后随着工作内容的深入,需要学习更多的统计知识。
本阶段推荐书籍有二:《深入浅出统计学》《统计学:从数据到结论》,要了解常用数理统计模型(描述统计指标、聚类、决策树、贝叶斯分类、回归等),重点放在学习模型的工作原理、输入内容和输出内容,至于具体的数学推导,学不会可暂放一边,需要用的时候再回来看。

三、学习初级工具——20小时
对于非技术类数据分析人员,初级工具只推荐一个:EXCEL。推荐书籍为《谁说菜鸟不会数据分析》,基础篇必须学习,提高篇不一定学(可用其他EXCEL进阶书籍),也可以学习网上的各种公开课。

本阶段重点要学习的是EXCEL中级功能使用(数据透视表,函数,各类图表适用场景及如何制作),如有余力可学习VBA。

四、提升PPT能力——10小时
作为数据分析人员,PPT制作能力是极其重要的一项能力,因此需要花一点时间来了解如何做重点突出,信息明确的PPT,以及如何把各类图表插入到PPT中而又便于更新数据。10个小时并不算多,但已经足够(你从来没做过PPT的话,需要再增加一些时间)。具体书籍和课程就不推荐了,网上一抓一大把,请自行搜索。

五、了解数据库和编程语言——10小时
这个阶段有两个目标:学习基础的数据库和编程知识以提升你将来的工作效率,以及测试一下你适合学习哪一种高级数据分析工具。对于前者,数据库建议学MySQL(虽然Hadoop很有用但你不是技术职位,初期用不到),编程语言建议学Python(继续安利《深入浅出Python》,我真没收他们钱……)。数据库学到联合查询就好,性能优化、备份那些内容用不到;Python则是能学多少学多少。

六、学习高级工具——10小时

虽然EXCEL可以解决70%以上的问题,但剩下30%还是需要高级工具来做(不信用EXCEL做个聚类)。高级分析工具有两个选择:SPSS和R。虽然R有各种各样的好处,但我给的建议是根据你在上一步中的学习感觉来定学哪一个工具,要是学编程语言学的很痛苦,就学SPSS,要是学的很快乐,就学R。不管用哪一种工具,都要把你学统计学时候学会的重点模型跑一遍,学会建立模型和小幅优化模型即可。

七、了解你想去的行业和职位——10+小时

这里我在时间上写了个”+“号,因为这一步并不一定要用整块时间来学习,它是贯穿在你整个学习过程中的。数据分析师最需要不断提升的能力就是行业和业务知识,没有之一。你将来想投入哪个行业和哪个职位的方向,就要去学习相关的知识(比如你想做网站运营,那就要了解互联网背景知识、网站运营指标体系、用户运营知识等内容)。

八、做个报告——25小时

你学习了那么多内容,但现在出去的话你还是找不到好工作。所有的招聘人员都会问你一句话:你做过哪些实际项目?(即使你是应届生也一样) 如果你有相关的项目经验或者实习经验,当然可以拿出来,但是如果没有,怎么办?答案很简单,做个报告给他们看,告诉招聘者:我已经有了数据分析入门级(甚至进阶级)职位的能力。同时,做报告也会是你将来工作的主要内容,因此也有可能出现另外一种情况:你费尽心血做了一个报告,然后发现这不是你想要的生活,决定去干别的工作了……这也是件好事,有数据分析能力的人做其他工作也算有一项优势。

大数据学习应该如何入门

不知道你是计算机专业应届生还是已经从业者。总之,有java基础的学生学习大数据会轻松很多,零基础的小白都需要从java和linux学起。

如果你是一个学习能力特别强,而且自律性也很强的人的话可以通过自学。

对于能够学的会的人来讲(学不会就不用自学了)自学的最大缺点就是无法找到真正的大数据实训项目。

网络上共享的一些凭空想象的项目根本无法达到企业的要求。所以这个是需要你自己考虑的。当然,如果你是边上班边学习,企业后续可以给你大数据的岗位就没有什么问题了。

下面我讲一下大数据目前比较热门的就业方向:

1、大数据研发

2、大数据分析与挖掘

3、深度学习

4、人工智能

大数据学习应该如何入门

大数据学习应该如何入门

大数据学习应该如何入门

大数据学习应该如何入门

大数据学习应该如何入门

大数据学习应该如何入门

分享之前我还是要推荐下我自己创建的大数据学习资料分享群 716581014,不管你是小白还是大牛,小编我都挺欢迎,今天的已经资讯上传到群文件,不定期分享干货,包括我自己整理的一份最新的适合2018年学习的大数据教程,欢迎初学和进阶中的小伙伴。

Java:

只需要学习Java的标准版JavaSE就可以了。

Linux:

主要掌握Linux操作系统的理论基础和服务器配置实践知识,同时通过大量实验,着重培养动手能力。使学生了解Linux操作系统在行业中的重要地位和广泛的使用范围。在学习Linux的基础上,加深对服务器操作系统的认识和实践配置能力。加深对计算机网络基础知识的理解,并在实践中加以应用。

掌握Linux操作系统的安装、命令行操作、用户管理、磁盘管理、文件系统管理、软件包管理、进程管理、系统监测和系统故障排除。掌握Linux操作系统的网络配置、DNS、DHCP、HTTP、FTP、SMTP和POP3服务的配置与管理。为更深一步学习其它网络操作系统和软件系统开发奠定坚实的基础。与此同时,如果大家有时间把javaweb及框架学习一番,会让你的大数据学习更自由一些。

好说完基础了,再说说还需要学习哪些大数据技术,可以按我写的顺序学下去。

Hadoop:

Hadoop解决了什么问题,Hadoop就是解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储和处理。

记住学到这里可以作为你学大数据的一个节点。

Zookeeper:

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

他的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3src ecipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

Mysql:

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

Sqoop:

这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。

Hive:

这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。

Oozie:

既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。

Hbase:

这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。

Kafka:

这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。

Spark:

它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。

猜你喜欢

转载自blog.51cto.com/13786906/2125877
今日推荐