大数据主要学习什么内容?有什么要求和条件?

用户2717790427918


作为一名IT从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。

首先,当前大数据的知识体系还是比较庞大的,随着大数据技术生态的逐渐成熟和完善,大数据领域也逐渐形成了更多的岗位细分,从事不同的岗位细分方向则需要学习不同的知识。

从当前大的岗位划分来看,通常包括以下几个岗位:

第一:大数据开发岗位。从近两年大数据方向研究生的就业情况来看,开发岗位的人才需求量还是比较大的,相关岗位的薪资待遇也比较高,其中从事大数据平台开发的研发级岗位会有更高的薪资待遇。从事大数据开发岗位,通常需要学习三大块内容,其一是程序开发技术,初学者可以从Java或者Python开始学起;其二是学习大数据平台知识,初学者可以从Hadoop和Spark开始学起;其三是大数据开发实践,这个过程需要掌握一定的行业知识。

第二:大数据分析岗位。大数据分析岗位的人才需求潜力是非常大的,不仅IT(互联网)行业需要大量的大数据分析人才,传统行业领域也需要大数据分析人才。选择大数据分析方向需要具有一定的数学和统计学基础,而且也有一定的学习难度。目前大数据分析的常见方式有两种,分别是统计学方式和机器学习方式。

第三:大数据运维岗位。如果对于编程和算法设计不感兴趣,那么也可以考虑学习大数据运维知识,未来可以从事大数据运维岗位。大数据运维岗位的任务相对比较杂,需要从业者具有较强的动手实践能力。从知识结构上来看,大数据运维需要掌握网络知识、大数据平台知识和服务器知识。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!


IT人刘俊明


首先你要清楚自己为什么想要学习大数据,其次现在的工作机会是不是你心仪的工作,然后想要学习大数据是感兴趣还是盲目跟风,最后如果是想往大数据方面发展的话那么一定要了解大数据的职业划分和薪资情况,到底想从事大数据工作的哪个方向。

我的建议:IT技术更新迭代速度很快,所以一定要做到未雨绸缪,选好方向做好规划,避免还没等学就被淘汰了。

下面我从2个方面介绍

1.大数据职业划分和薪资介绍及我的认为的发展发现

2.大数据的学习路线


大数据职业划分和薪资介绍


从51job、智联、猎聘查看职位,我认为大数据大概分为这5个方向

数据管理类:首席数据官、数据管理员、数据安全工程师;

这类主要负责公司数据的管理,数据安全策略的制定和实现。

数据分析类:战略分析师、数据分析师、商业智能分析员;

这类主要负责数据分析相关的工作。

数据挖掘类:数据挖掘工程师、算法工程师;

这类负责数据挖掘算法的设计与策略。

技术研发类:数据仓库架构师、数据采集工程师、数据仓库开发工程师、数据可视化工程师、大数据架构师、大数据开发工程师;

这类主要负责数据仓库的搭建和ETL任务的开发。

IT基础架构类:hadoop运维工程师、数据库运维工程师、系统运维工程师

这类主要负责大数据集群软硬件的管理和维护。

薪资在猎聘上截了几张图,具体你可以上智联、51job或猎聘上搜职位名称查看薪酬。

我对大数据发展方向的建议:我朋友就是做猎头的,据他说目前最火的还是算法工程师,以前不起眼,现在随着5G的兴起,AI方向有更为广阔的发展空间,BAT玩命的招人。其次就是做技术开发类,做大数据平台的,这也是目前招聘人数最多的,如果做到大数据架构师,年薪百万不是问题。数据分析类和数据管理类的一般是甲方企业,偏企业内部。最后是运维,相对发展前景最差。


大数据的学习路线


必须掌握的技能11条

Java高级(虚拟机、并发)
Linux 基本操作
Hadoop(HDFS+MapReduce+Yarn )
HBase(JavaAPI操作+Phoenix )
Hive(Hql基本操作和原理理解)
Kafka
Storm/JStorm
Scala
Python
Spark (Core+sparksql+Spark streaming )
辅助小工具(Sqoop/Flume/Oozie/Hue等)

高阶技能6条

机器学习算法以及mahout库加MLlib
R语言
Lambda 架构
Kappa架构
Kylin
Alluxio

面列出来的顺序只是个人建议,可以根据个人实际情况来调整顺序

第一阶段(基础阶段)

Linux学习(跟鸟哥学就ok了)—–20小时

  1. Linux操作系统介绍与安装。
  2. Linux常用命令。
  3. Linux常用软件安装。
  4. Linux网络。
  5. 防火墙。
  6. Shell编程等。

官网:https://www.centos.org/download/


Java 高级学习(《深入理解Java虚拟机》、《Java高并发实战》)—30小时

  1. 掌握多线程。
  2. 掌握并发包下的队列。
  3. 了解JMS。
  4. 掌握JVM技术。
  5. 掌握反射和动态代理。

官网: https://www.java.com/zh_CN/中文社区:http://www.java-cn.com/index.html


Zookeeper学习

  1. Zookeeper分布式协调服务介绍。
  2. Zookeeper集群的安装部署。
  3. Zookeeper数据结构、命令。
  4. Zookeeper的原理以及选举机制。

官网: http://zookeeper.apache.org/中文社区:http://www.aboutyun.com/forum-149-1.html


第二阶段(入门,攻坚阶段)

Hadoop (《Hadoop 权威指南》)—80小时

  1. HDFS

    • HDFS的概念和特性。
    • HDFS的shell操作。
    • HDFS的工作机制。
    • HDFS的Java应用开发。
  2. MapReduce

    • 运行WordCount示例程序。
    • 了解MapReduce内部的运行机制。
      • MapReduce程序运行流程解析。
      • MapTask并发数的决定机制。
      • MapReduce中的combiner组件应用。
      • MapReduce中的序列化框架及应用。
      • MapReduce中的排序。
      • MapReduce中的自定义分区实现。
      • MapReduce的shuffle机制。
      • MapReduce利用数据压缩进行优化。
      • MapReduce程序与YARN之间的关系。
      • MapReduce参数优化。
  3. MapReduce的Java应用开发

官网:http://hadoop.apache.org/

中文文档:http://hadoop.apache.org/docs/r1.0.4/cn/


Hive(《Hive开发指南》)–20小时

  1. Hive 基本概念

    • Hive 应用场景。
    • Hive 与hadoop的关系。
    • Hive 与传统数据库对比。
    • Hive 的数据存储机制。
  2. Hive 基本操作

    • Hive 中的DDL操作。
    • 在Hive 中如何实现高效的JOIN查询。
    • Hive 的内置函数应用。
    • Hive shell的高级使用方式。
    • Hive 常用参数配置。
    • Hive 自定义函数和Transform的使用技巧。
    • Hive UDF/UDAF开发实例。
  3. Hive 执行过程分析及优化策略

官网:https://hive.apache.org/

中文入门文档:http://www.aboutyun.com/thread-11873-1-1.html


HBase(《HBase权威指南》)—20小时


  1. hbase简介。
  2. habse安装。
  3. hbase数据模型。
  4. hbase命令。
  5. hbase开发。
  6. hbase原理。
官网:http://hbase.apache.org/

中文文档:http://abloz.com/hbase/book.html


Scala(《快学Scala》)–20小时

  1. Scala概述。
  2. Scala编译器安装。
  3. Scala基础。
  4. 数组、映射、元组、集合。
  5. 类、对象、继承、特质。
  6. 模式匹配和样例类。
  7. 了解Scala Actor并发编程。
  8. 理解Akka。
  9. 理解Scala高阶函数。
  10. 理解Scala隐式转换。
官网:http://www.scala-lang.org/

初级中文教程:http://www.runoob.com/scala/scala-tutorial.html



Spark (《Spark 权威指南》)—60小时

  1. Spark core

    • Spark概述。
    • Spark集群安装。
    • 执行第一个Spark案例程序(求PI)。
  2. RDD

    • RDD概述。
    • 创建RDD。
    • RDD编程API(Transformation 和 Action Operations)。
    • RDD的依赖关系
    • RDD的缓存
    • DAG(有向无环图)
  3. Spark SQL and DataFrame/DataSet

    • Spark SQL概述。
    • DataFrames。
    • DataFrame常用操作。
    • 编写Spark SQL查询程序。
  4. Spark Streaming

    • park Streaming概述。
    • 理解DStream。
    • DStream相关操作(Transformations 和 Output Operations)。
  5. Structured Streaming

  6. 其他(MLlib and GraphX )

这个部分一般工作中如果不是数据挖掘,机器学习一般用不到,可以等到需要用到的时候再深入学习。

官网: http://spark.apache.org中文社区:http://www.aboutyun.com/forum-146-1.htm


Python (推荐廖雪峰的博客—30小时)


目前暂且列出来这么多吧,大数据目前还有很多比较好的技术框架,这个就需要等大家以后工作之后再去扩展了,大家在学习的时候,要专门挑一两个着重研究一下,最好针对,底层原理,优化,源码等部分有所涉猎,这么的话可以在面试过程中脱颖而出。不要想着把每一个框架都搞精通,目前是不现实的,其实就算是在工作中也不会每一个框架都会用的很深,如果能过对上面的框架都大致会使用,并且对某一两个框架研究的比较深的话,其实想去找一份满意的大数据工作也就水到渠成了。


--如果觉得答案解决了你的问题,请采纳,有问题可继续追问--


挨踢精英


大数据开发工程师是大数据领域一个比较热门的岗位,有大量的传统应用需要进行大数据改造,因此岗位有较多的人才需求。这个岗位需要掌握的知识结构包括大数据平台体系结构,比如目前常见的Hadoop、Spark平台,以及众多组件的功能和应用,另外还需要掌握至少一门编程语言,比如Java、Python、Scala等。

大数据分析师是大数据领域非常重要的岗位,大数据分析师需要掌握的知识结构包括算法设计、编程语言以及呈现工具,算法设计是大数据分析师需要掌握的重点内容,而编程语言的作用则是完成算法的实现。另外,大数据分析师还需要掌握一些常见的分析工具。

大数据运维工程师的主要工作内容是搭建大数据平台、部署大数据功能组件、配置网络环境和硬件环境、维护大数据平台,大数据运维工程师需要具备的知识结构包括计算机网络、大数据平台体系结构、编程语言(编写运维脚本)等,通常情况下,大数据运维工程师也需要对数据库有深入的了解。

大数据工程师是做什么的?需要掌握哪些技能?

https://www.toutiao.com/i6711595957814821380/


加米谷大数据


大数据中也有多种岗位,有的偏向开发,有的偏向运维,有的偏向数据分析与挖掘。开发的话Java居多,不过只需要到JavaSE层面即可,也可以选用Scala/Python开发。数据分析与挖掘基本上就是Python了。所以建议学习Python了。要求与条件的话,如果是计算机/数学/统计相关专业最好,不过还是看个人的学习能力与是否坚持。

1) 简单点评:

发展不错,需求不少,不过需求中主要是数据分析相关岗位,牵涉到算法建模等高级内容的话实际上不适合刚毕业的不同本科学生。建议普通本科或专科学生从数据分析入行,掌握Python,以后逐步向高级数据分析师、数据挖掘工程师、人工智能开发工程师方向走,

2)发展前景:

大数据类职位需求增幅仅次于AI岗位。眼下,几乎所有互联网企业均把数据人才列为团队标配。许多公司在数据层面增加投入,大量招募具有算法和建模能力的人才,力求通过数据沉淀与挖掘更好地推进产品的迭代。数据架构师、数据分析师成为企业争抢对象,过去一年招聘需求提高150%以上。2017,互联网公司对AI和数据人才的争抢活跃度提高了30%以上,企业间相互挖角行为变得更加频繁,人才争夺激烈程度全面升级。物联网、智慧城市、增强现实(AR)与虚拟现实(VR)、区块链技术、语音识别、人工智能、数字汇流是大数据未来应用的七大发展方向。

3)行业定位:


4)面向专业:

计算机、数学与统计、物理、电子、通信工程、物联网、网络工程等相关专业大专以上学生。推荐中上游学生学习。

5)薪酬分析:

我本人在IT行业混了二十多年,从事软件开发与软件教育,现在主要是管理,不过始终没有脱离写程序,有兴趣可以交流哦!


语凡提


1. 数学知识

数学知识是数据分析师的基础知识。对于初级数据分析师,了解一些描述统计相关的基础内容,有一定的公式计算能力即可,了解常用统计模型算法则是加分。对于高级数据分析师,统计模型相关知识是必备能力,线性代数(主要是矩阵计算相关知识)最好也有一定的了解。而对于数据挖掘工程师,除了统计学以外,各类算法也需要熟练使用,对数学的要求是最高的。

2. 分析工具对于初级数据分析师,玩转Excel是必须的,数据透视表和公式使用必须熟练,VBA是加分。另外,还要学会一个统计分析工具,SPSS作为入门是比较好的。对于高级数据分析师,使用分析工具是核心能力,VBA基本必备,SPSS/SAS/R至少要熟练使用其中之一,其他分析工具(如Matlab)视情况而定。对于数据挖掘工程师……嗯,会用用Excel就行了,主要工作要靠写代码来解决呢。

3. 编程语言对于初级数据分析师,会写SQL查询,有需要的话写写Hadoop和Hive查询,基本就OK了。对于高级数据分析师,除了SQL以外,学习Python是很有必要的,用来获取和处理数据都是事半功倍。当然其他编程语言也是可以的。对于数据挖掘工程师,Hadoop得熟悉,Python/Java/C++至少得熟悉一门,Shell得会用……总之编程语言绝对是数据挖掘工程师的最核心能力了。

4. 业务理解业务理解说是数据分析师所有工作的基础也不为过,数据的获取方案、指标的选取、乃至最终结论的洞察,都依赖于数据分析师对业务本身的理解。对于初级数据分析师,主要工作是提取数据和做一些简单图表,以及少量的洞察结论,拥有对业务的基本了解就可以。对于高级数据分析师,需要对业务有较为深入的了解,能够基于数据,提炼出有效观点,对实际业务能有所帮助。对于数据挖掘工程师,对业务有基本了解就可以,重点还是需要放在发挥自己的技术能力上。

5. 逻辑思维这项能力在我之前的文章中提的比较少,这次单独拿出来说一下。对于初级数据分析师,逻辑思维主要体现在数据分析过程中每一步都有目的性,知道自己需要用什么样的手段,达到什么样的目标。对于高级数据分析师,逻辑思维主要体现在搭建完整有效的分析框架,了解分析对象之间的关联关系,清楚每一个指标变化的前因后果,会给业务带来的影响。对于数据挖掘工程师,逻辑思维除了体现在和业务相关的分析工作上,还包括算法逻辑,程序逻辑等,所以对逻辑思维的要求也是最高的。

6. 数据可视化数据可视化说起来很高大上,其实包括的范围很广,做个PPT里边放上数据图表也可以算是数据可视化,所以我认为这是一项普遍需要的能力。对于初级数据分析师,能用Excel和PPT做出基本的图表和报告,能清楚的展示数据,就达到目标了。对于高级数据分析师,需要探寻更好的数据可视化方法,使用更有效的数据可视化工具,根据实际需求做出或简单或复杂,但适合受众观看的数据可视化内容。对于数据挖掘工程师,了解一些数据可视化工具是有必要的,也要根据需求做一些复杂的可视化图表,但通常不需要考虑太多美化的问题。

7. 协调沟通对于初级数据分析师,了解业务、寻找数据、讲解报告,都需要和不同部门的人打交道,因此沟通能力很重要。对于高级数据分析师,需要开始独立带项目,或者和产品做一些合作,因此除了沟通能力以外,还需要一些项目协调能力。对于数据挖掘工程师,和人沟通技术方面内容偏多,业务方面相对少一些,对沟通协调的要求也相对低一些。

下面是学习资料指南(需要原图,加我好友,私信索取):


Echa攻城狮


学习大数据需要循序渐进的学,掌握一套学习方法很重,把需要学习的内容分成几个阶段,系统学习。我简单的列了一下需要学习的内容,仅供参考。

第一阶段

JavaSE基础核心

Java入门语法、面向对象核心、集合与泛型、线程机制、网络编程、流程控制结构、异常体系、反射体系、IO流、设计模式

第二阶段

数据库关键技术

MySql安装和使用、DML(数据操纵语言)、DCL(数据控制语言)、存储过程和函数、JDBC核心技术、SQL语言解析、DDL(数据定义语言)

第三阶段

大数据基础核心

Maven、Hadoop、Hive、Kafka、Linux、Shell、Zookeeper+HA、Flume、HBase

第四阶段

Spark生态体系框架

Scala语言、Spark SQL、Kylin、Druid、Sqoop、Spark Core、Presto、Spark Streaming、Redis缓存数据库、GIT & GIT Hub、ElasticSearch

第五阶段

Flink流式数据处理框架

Flink Environment、Flink DataSet、Flink Window、Flink State & Checkpoint、Flink on Yarn、Flink DataStream、Flink Watermark


大数据漫路求索


hadoop、Hbase、hive、spark等框架使用来分析海量的数据,进行计算、统计、得出想要的结果。

条件:开发语言JAVA、操作系统Linux系统




闭着眼睛切土豆


大数据技术的学习内容有很多,包括:

基础阶段:Linux、Docker、KVM、MySQL基础、Oracle基础、MongoDB、redis。

hadoop mapreduce hdfs yarn:hadoop:Hadoop 概念、版本、历史,HDFS工作原理,YARN介绍及组件介绍。

大数据存储阶段:hbase、hive、sqoop。

大数据架构设计阶段:Flume分布式、Zookeeper、Kafka。

大数据实时计算阶段:Mahout、Spark、storm。

大数据数据采集阶段:Python、Scala。

大数据商业实战阶段:实操企业大数据处理业务场景,分析需求、解决方案实施,综合技术实战应用。


武器的小知识


大数据可以学习hadoop,hive,zookeeper,hbase,scala,kafka,flume,spark很多,mysql,


网络好无聊


----专注解答大学生就业问题,欢迎提问!----

如果你是大学生,相关专业,确实应该学习,哪怕是理论层面的了解也是有价值的。

你要具备大数据思维,这点非常重要,时代变了,没有这种思维,很容易落后。

如果你想在技术上学习大数据,我建议,首先是计算机语言,和发数据开发架构,然后是数学和算法。这些是大数据的基础。

但大数据真正使用,是需要结合业务的,不同行业需要的业务不同,比如金融行业,工业,互联网等等。

----专注解答大学生就业问题,欢迎提问!----


分享到:


相關文章: