大数据零基础学习路线、用途、方向

有很多人对这个东西感兴趣,但是对编程语言也不太了解

不过大数据学习并不是高深莫测的,虽然它并没有多简单,但是通过努力,零基础的朋友也是完全可以掌握大数据的。

我个人总结了一下 零基础学习大数据的话大概分为以下几步:

1. 了解大数据理论

要学习大数据你至少应该知道什么是大数据,大数据一般运用在什么领域。对大数据有一个大概的了解,你才能清楚自己对大数据究竟是否有兴趣,如果对大数据一无所知就开始学习,有可能学着学着发现自己其实不喜欢,这样浪费了时间精力,可能还浪费了金钱。所以如果想要学习大数据,需要先对大数据有一个大概的了解。

大数据学习群:199427210

2. 计算机编程语言的学习。

对于零基础的朋友,一开始入门可能不会太简单。因为需要掌握一门计算机的编程语言,大家都知道计算机编程语言有很多,比如:R,C++,JAVA等等。目前大多数机构都是教JAVA,同时我自己也是通过java学起来的,我们都知道Java是目前使用最为广泛的网络编程语言之一。他容易学而且很好用,如果你学习过C++语言,你会觉得C++和Java很像,因为Java中许多基本语句的语法和C++一样,像常用的循环语句,控制语句等和C++几乎一样,其实Java和C++是两种完全不同的语言,Java只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,C++中许多容易混淆的概念,有的被Java弃之不用了,或者以一种更清楚更容易理解的方式实现,因此Java语言相对是简单的。

那在学习Java的时候,我们一般需要学习这些课程: HTML&CSS&JS,java的基础,JDBC与数据库,JSP java web技术, jQuery与AJAX技术,SpringMVC、Mybatis、Hibernate等等。这些课程都能帮助我们更好了解Java,学会运用Java。

3. 大数据相关课程的学习。

学完了编程语言之后,一般就可以进行大数据部分的课程学习了。一般来说,学习大数据部分的时间比学习Java的时间要短。大数据部分课程,包括大数据技术入门,海量数据高级分析语言,海量数据存储分布式存储,以及海量数据分析分布式计算等部分,Linux,Hadoop,Scala, HBase, Hive, Spark等等专业课程。如果要完整的学习大数据的话,这些课程都是必不可少的。

4. 实战阶段。

不用多说,学习完任何一门技术,最后的实战训练是最重要的,进行一些实际项目的操作练手,可以帮助我们更好的理解所学的内容,同时对于相关知识也能加强记忆,在今后的运用中,也可以更快的上手,对于相关知识该怎么用也有了经验。目前要找到可以让自己操作的实际项目可能不太多,但是有一些资源比较好的培训机构,是拥有大量实际的大数据项目的,选择这种机构的另一个好处就是,我们可以学到任课老师的一些经验。在实际练手的过程中,老师会教给你一些相应的技巧,或者是根据他们的经验,教你一些捷径。

一般来说,零基础学习大数据大概就是分为这4个阶段,学习大数据不是件容易的事,但是只要你能多努力,积极地解决自己的疑惑,多练手,相信你一定可以掌握这门技术。

一、大数据有什么用

了解用户特征

通过大数据,百度掌握你的隐私,微信知道你的社交圈子,淘宝了解你的购物习惯,移动电信联通三大运营商存有你的 通话记录和上网记录……

给企业和商业带来巨大价值

网络浏览历史记录以及使用的应用等数据销售给广告客户。当用户距离商家很近时,就有可能收到该商家提供的折扣很大的电子优惠券等等。

为个人带来福利

大数据可以辅助临床诊断和用药决策;为公共卫生机构提供及时的统计分析;以及为药品研发、治疗方案设计提供数据分析。随着大数据的发展,广大公众的生活也将变得更加便利。

二、大数据需要什么样的专业

计算机类

计算机学科侧重于大数据采集、存储和管理,统计学科则强调面向应用问题的大数据分析。中国人民大学将联手北大、中国科学院大学、中央财经和首经贸联合培养大数据分析硕士。

到2018年,美国大数据人才缺口有14万人到19万人。据业界专家估算,中国大数据市场的人才需求量至少有100万人。

三、统计学

统计学主要培养在企事业单位和经济、管理部门从事统计调查、统计信息管理、或在科研、教育部门从事研究的高级专门人才。

大数据时代,带火了统计学专业。如今这股“统计学”的热潮已从研究生蔓延到本科,北航、北交大、北工商等高校纷纷开设了“统计学”专业。随着社会对统计学专业人才的需求量逐渐增大,应用型统计人才成为各高校统计学专业的培养目标。

四、大数据类

大数据时代则对从业人员素质的要求越来越高,因为数据处理变得越来越复杂,数据人才的竞争也越来越激烈,很多大公司都在寻找尖端人才。而且,大到国防、金融,小到跟生活息息相关的物流、购物、医疗、交通等,都日益需要大数据的支撑。大数据正在成为一门“显学”。

企业需要什么样的人才

企业需要两类大数据人才,一是数据平台建设人才;二是数据挖掘应用人才。大数据是因应结合应用来体现其价值……例如推动大数据技术在金融、气象、行政管理等领域的应用,推进基于大数据技术的个人信贷和医疗保健等。

三种能力成就大数据人才

一是技术相关人才,包括IT、系统、硬件和软件;二是数量相关人才,包括统计、数学、建模、算法;三是业务,就是要有一定的专业领域知识。建立大数据的数据存储本身需要技术能力,但是怎么通过数据去做分析?这就需要数量能力。

大数据时代热门职业

1、数据规划师

在一个产品设计之前,为企业各项决策提供关键性数据支撑,实现企业数据价值的最大化,更好地实施差异化竞争,帮助企业在竞争中获得先机。

2、数据工程师

大数据基础设施的设计者、建设者和管理者,他们开发出可根据企业需要进行分析和提供数据的架构。同时,他们的架构还可确保系统能够平稳运行。

3、数据架构师

擅长处理散乱数据、各类不相干的数据,精通统计学的方法,能够通过监控系统获得原始数据,在统计学的角度上解释数据。

4、数据分析师

职责是通过分析将数据转化为企业能够使用的信息。他们通过数据找到问题,准确地找到问题产生的原因,为下一步的改进找到关键点。

5、数据应用师

将数据还原到产品中,为产品所用。他们能够用常人能理解的语言表述出数据所蕴含的信息,根据数据分析结论推动企业内部做出调整。

6、数据科学家

大数据中的领导者,具备多种交叉科学和商业技能,能够将数据和技术转化为企业的商业价值。

大数据只需要学习Java的标准版JavaSE就可以了,像Servlet、JSP、Tomcat、Struct、Spring、Hibernate,Mybites都是JavaEE方向的技术在大数据技术里用到的并不多,只需要了解就可以了,当然Java怎么连接数据库还是要知道的,像JDBC一定要掌握一下,有同学说Hibernate或Mybites也能连接数据库啊,为什么不学习一下,我这里不是说学这些不好,而是说学这些可能会用你很多时间,到最后工作中也不常用,我还没看到谁做大数据处理用到这两个东西的,当然你的精力很充足的话,可以学学Hibernate或Mybites的原理,不要只学API,这样可以增加你对Java操作数据库的理解,因为这两个技术的核心就是Java的反射加上JDBC的各种使用。 Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。 好说完基础了,再说说还需要学习哪些大数据技术,可以按我写的顺序学下去。#

Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。

YARN是体现Hadoop平台概念的重要组件有了它大数据生态体系的其它软件就能在hadoop上运行了,这样就能更好的利用HDFS大存储的优势和节省更多的资源比如我们就不用再单独建一个spark的集群了,让它直接跑在现有的hadoop yarn上面就可以了。其实把Hadoop的这些组件学明白你就能做大数据的处理了,只不过你现在还可能对"大数据"到底有多大还没有个太清楚的概念,听我的别纠结这个。

等以后你工作了就会有很多场景遇到几十T/几百T大规模的数据,到时候你就不会觉得数据大真好,越大越有你头疼的。当然别怕处理这么大规模的数据,因为这是你的价值所在,让那些个搞Javaee的php的html5的和DBA的羡慕去吧。

如果你想学习大数据可以来里面有大量的学习资料可以下载。

Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。 Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。 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的。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏祝威廉

如何让开源项目成为你的良师益友

现在大部分公司产品的基石都是开源项目,从开发包到产品本身。我甚至在想,没有开源项目的世界将会是一个什么样的世界。互联网的共享精神让互联网得以如此的快速的发展。

692
来自专栏LanceToBigData

Hadoop(一)之初识大数据与Hadoop

前言   从今天起,我将一步一步的分享大数据相关的知识,其实很多程序员感觉大数据很难学,其实并不是你想象的这样,只要自己想学,还有什么难得呢?   学习Hado...

3108
来自专栏java一日一条

助力程序员成功的几个好习惯

老实说,如果你google搜索“程序员的好习惯”这方面的内容,那么就会有很多大同小异的文章映入你的眼帘。

823
来自专栏非著名程序员

GitHub 十年,感谢有你

本文是 GitHub 联合创始人兼 CEO:Chris Wanstrath 在计算机世界杂志写的文章。

1555
来自专栏Java架构

Java程序员月薪达到三万,需要技术水平达到什么程度?

最近跟朋友在一起聚会的时候,提了一个问题,说Java程序员如何能月薪达到三万,技术水平需要达到什么程度?人回答说这只能是大企业或者互联网企业工程师才能拿到。也许...

1682
来自专栏Java学习网

助力程序员成功的几个好习惯

老实说,如果你google搜索“程序员的好习惯”这方面的内容,那么就会有很多大同小异的文章映入你的眼帘。 但是今天我想从一个略有不同的角度来探讨这个主题。不是关...

3416
来自专栏大数据文摘

对话蚂蚁金服 | TechFin趋势下如何应对超大规模实时分布式关系网络

3373
来自专栏Java架构

Java程序员月薪达到三万,需要技术水平达到什么程度?

2039
来自专栏互联网数据官iCDO

19个令人大开眼界的可靠消费者研究数据源

译者:董梁 本文长度为3058字,预估阅读时间5分钟。 我们今天要向大家分享19个令人大开眼界的可靠消费者研究数据源。 Kyle的注释: 数据是分享洞察、支持...

3706
来自专栏顶级程序员

GitHub CEO:GitHub 十年,感谢有你

源 / 极光开发者 简评:不知为何,总感觉 GitHub 成立不止 10 年了,你们有这种错觉么? 本文是 GitHub 联合创始人兼 CEO:Chris W...

2904

扫码关注云+社区

领取腾讯云代金券