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.协调沟通对于初级数据分析师,了解业务、寻找数据、讲解报告,都需要和不同部门的人打交道,因此沟通能力很重要。对于高级数据分析师,需要开始独立带项目,或者和产品做一些合作,因此除了沟通能力以外,还需要一些项目协调能力。对于数据挖掘工程师,和人沟通技术方面内容偏多,业务方面相对少一些,对沟通协调的要求也相对低一些。
下面是学习资料指南(需要原图,加我好友,私信索取):
hadoop、Hbase、hive、spark等框架使用来分析海量的数据,进行计算、统计、得出想要的结果。
条件:开发语言JAVA、操作系统Linux系统
近来随着大数据发展越来越火爆,学习大数据的人也在不断的增加,那么学习大数据都需要学习那些内容呢?大数据的相关工作你是否了解呢,是否适合自己?是不适合学习大数据?这些问题都说摆在每一个想要学习大数据的小伙伴面前需要解决的问题。
既然是想要学习大数据那么首先就要对大数据有一个简单的了解,大数据主要学习那些内容,有上面要求和条件?下满小编来为大家简单的分享一下:
大数据主要学习什么内容?
首先,大数据做为一个难度较大的技能,它需要有一定的Java或者是python编程基础的支撑,所以我们开始就是学习Java或者是python编程语言,现在大数据培训机构基本上都是讲的Java编程语言。
其次,是大数据的基础入门知识,在这个阶段开始才是正式开始学习大数据的真正知识,包括Maven、Mysql高级、Hadoop、Hive、Kafka、Zookeeper+HA、Flume、HBase,当然其中还包括一些像数Linux、Shell的一些必备知识。
最后,是进行大数据生态体系框架的学习,主要学习的是Spark生态体系框架、Flink流式数据处理框架以及企业级项目的开发学习。
有什么要求和条件?
大数据做为IT行业中相对比较难也比较复杂的一个技能,需要学习的人员达到一定的条件才能够进行顺利的学习的,具体条件如下:
1、要有一定的思维逻辑能力,大数据学习需要涉及到许多算法,所以逻辑思维能力异地的那个要好。
2、零基础学员学习大数据一般是需要本科及以上学历才可以进行相关学习。
3、对于有基础的学员想要学习大数据技术也要是大专的学历才可以
以上就是小编对于”大数据主要学习什么内容?有什么要求和条件?“问题的回答,希望能够帮助大家,如果还有其它相关问题可以关注留言评论交流。
大数据可以学习hadoop,hive,zookeeper,hbase,scala,kafka,flume,spark很多,mysql,
----专注解答大学生就业问题,欢迎提问!----
如果你是大学生,相关专业,确实应该学习,哪怕是理论层面的了解也是有价值的。
你要具备大数据思维,这点非常重要,时代变了,没有这种思维,很容易落后。
如果你想在技术上学习大数据,我建议,首先是计算机语言,和发数据开发架构,然后是数学和算法。这些是大数据的基础。
但大数据真正使用,是需要结合业务的,不同行业需要的业务不同,比如金融行业,工业,互联网等等。
----专注解答大学生就业问题,欢迎提问!----
大数据技术的学习内容有很多,包括:
基础阶段:Linux、Docker、KVM、MySQL基础、Oracle基础、MongoDB、redis。
hadoopmapreducehdfsyarn:hadoop:Hadoop概念、版本、历史,HDFS工作原理,YARN介绍及组件介绍。
大数据存储阶段:hbase、hive、sqoop。
大数据架构设计阶段:Flume分布式、Zookeeper、Kafka。
大数据实时计算阶段:Mahout、Spark、storm。
大数据数据采集阶段:Python、Scala。
大数据商业实战阶段:实操企业大数据处理业务场景,分析需求、解决方案实施,综合技术实战应用。
大数据课程:基础阶段:Linux、Docker、KVM、MySQL基础、Oracle基础、MongoDB、redis。hadoopmapreducehdfsyarn:hadoop:Hadoop概念、版本、历史,HDFS工作原理,YARN介绍及组件介绍。大数据存储阶段:hbase、hive、sqoop。大数据架构设计阶段:Flume分布式、Zookeeper、Kafka。大数据实时计算阶段:Mahout、Spark、storm。大数据数据采集阶段:Python、Scala。大数据商业实战阶段:实操企业大数据处理业务场景,分析需求、解决方案实施,综合技术实战应用。
前言
要从事计算机行业的工作,不管是什么工作,开发、测试、还是算法等,都是要有一门自己比较熟练的编程语言,编程语言可以是C语言、Java、C++等,只要是和你后续工作所相关的就可以(后续用到其他语言的话,你有一门语言基础了,学起来就快了)。一般初学者入门语言大多都会选择Java、C语言、C++或者Python,而且现在网上有很多好的视频,可以供初学者学习使用。关于学习视频或者资料的选择,知乎或者百度等都有很多讲解了,也可以跟师兄师姐咨询,这样可以少走很多弯路,当然,有人说,走一些弯路总是有好处的,但是我这里说的弯路不是说不犯错误,不调bug,而是指学习资料以及一些知识点的偏重点,这样可以尽量节约一部分时间,刚开始时,总会有点迷,而且当你真正投入进去学习时,会发现时间总是不够用。
我前面是做的Java后端,后续才转的大数据,所以一些Java开发所需要的东西自己也有学习过,也都是按照正常的路线走的,JavaSE阶段,然后数据库,SSM框架,接着做了一些网上找的项目,之后发现对大数据比较感兴趣,就开始找大数据相关的资料学习,看视频,看博客,敲代码,前期大概花了3-4个月吧(公众号的这些资料就是我当时看过的),也是一步步艰难走过来的,刚刚开始接触大数据相关的东西时,一度怀疑这么多东西自己能否学得完,是不是能用得到,学完又忘了,忘了又回头看,不过还好,坚持过来了,还好没有放弃,工作也还ok,找的大数据开发岗,待遇也还不错吧。
下面就说一下我自己从Java开发到大数据开发的曲折学习之路(狗头保命.jpg)。
因为我现在是做大数据相关的工作了,所以Java后端涉及到的一些SSM框架等知识点我就不介绍了,毕竟后续一段时间也没有做了。自己看过的大数据学习相关的视频+资料大概是200G-300G吧,从Linux-&;Hadoop-&;。。。-&;Spark-&;项目,还有就是一些面试文档,面经等。一些视频看了两遍或者更多,跟着学,跟着敲代码,做项目,准备面试。涉及到需要学习的东西包括:JavaSE,数据结构与算法(计算机行业必备),MySQL,Redis,ES(数据库这些可以看项目,也可以自己熟练一两个),Linux,Shell(这个可以后期补),Hadoop,Zookeeper,Hive,Flume,Kafka,HBase,Scala(Spark是Scala写的,会Scala做相关的项目会更容易入手),Spark,Flink(这个是找工作时有面试官问过几次liao不liao解,所以找完工作才开始接触学习),相关项目。编程语言阶段学习
如果是零基础的话,建议还是从视频开始入门比较好,毕竟一上来就看教材,这样有些代码的来龙去脉可能不是很了解。如果是有一些编程语言基础的话,从视频开始也会更简单,一些for、while循环你都知道了,学起来也会快很多。
JavaSE我是选择的某马刘意的为主,因为刚刚开始学Java看过一本从《Java从入门到精通》,没什么感觉,后续又在看了某课网的Java初级视频,还是没感觉出来啥(当时就有点怀疑自己了。。。),可能有点没进入状态。 还好后续找了某马刘意老师的JavaSE视频(我是看的2015年版本,那时候19版还没出),觉得他讲的真的是很好很详细,每个知识点都会有例子,也都会带你敲代码,做测试,可能前面有C语言基础,然后也看过Java的一些语法,所以学起来还是比较顺利,后面的IO流、多线程等知识点时,也有看书看博客,或者看看其他老师的课程,讲解的可能自己比较容易接受就可以,反正都是多尝试(下面会给出视频链接),尽量懂一些,后续可以回头来复习。JavaSE相关的视频,先看一遍,后续有时间建议再看一遍,而且这些经典的视频,看两遍真的是享受。 如果有一定基础了的,JavaSE前面七八天的视频可以加速看,但是不懂的一定要停下开仔细想想,零基础的还是尽量不要加速吧,慢慢来稳些。后面的视频建议还是跟着视频来,尽量不要加速,代码尽量都敲一敲,第一遍基本上一个月到一个半月可以结束。 JavaSE可以说是很基础也很重要的东西,主要重点包括面向对象、集合(List、Map等),IO流,String/StringBuilder/StringBuffer、反射、多线程,这些最好是都要熟悉一些,面试也是重点。 JavaSE之后,如果你是要走前端或后端开发路线的话,可以跟着一些网上的视频继续学习,这里我就不多做介绍了。===========分割线,Scala可以后续Spark阶段再接触学习=============
Scala的学习,Scala是一门多范式(multi-paradigm)的编程语言,Scala支持面向对象和函数式编程,最主要的是后续Spark的内容需要用到Scala,所以前面学习了JavaSE,到Spark学习之前,再把Scala学习一波,美滋滋,而且Scala可以和Java进行无缝对接,混合使用,更是爽歪歪。后续Spark学习时基本都是用的Scala,也可能是和Java结合使用,所以Spark之前建议还是先学一波Scala,而且Scala用起来真是很舒服(wordcount一行代码搞定),适合迭代式计算,对数据处理有很大帮助,不过Scala看代码很容易看懂,但是学起来还是挺难的,比如样例类(caseclass)用起来真是nice,但是隐式转换学起来就相对比较难。学习Scala的建议:1.学习scala特有的语法,2.搞清楚scala和java区别,3.了解如何规范的使用scala。Scala对学习Spark是很重要的(后面Flink也是要用),虽然现在很多公司还是用Java开发比较多,而且Spark是Scala写的,如果要读源码,会Scala还是很重要的(至少要看得懂代码)。
Scala主要重点包括:隐式转换和隐式参数、模式匹配、函数式编程。这里我看的是某硅谷韩老师的Scala视频,韩老师讲的真的很不错,五星推荐,哈哈。 也许有人会觉得Python也是需要的,但是学习阶段,可能用Java还是比较多,面试也基本都是问Java相关的内容,所以Python后续工作会用到的话,再看看Python的内容吧。大数据框架阶段学习
大数据这方面的知识点自己可以说真的是从零开始的,刚刚开始学那会Linux基本都没用过,心里那个虚啊,而且时间也紧迫,想起来都是一把辛酸泪。
刚刚开始学的时候,看了厦门大学林子雨的《大数据技术原理与应用》课程,可能这个课程是面对上课的,所以看了一些,感觉对自己帮助不是很大(并不是说课程不好,可能不太适合自己,如果是要了解理论知识,很透彻,但是俺时间紧迫啊),所以就继续在网上找视频,然后发现某硅谷的培训视频很多人去参加,而且知识点也很齐全,大数据相关组件都有讲课,还有一些项目比较好,所以就找了它相关的视频,当时看的是2018年的,所以视频不算旧。 来一张推荐系统架构的图,先看看一般来说,Flume+Kafka对数据进行采集聚合传输,一方面Spark对实时数据进行处理,传输给相应的数据处理模块(比如实时数据处理的算法模块,Spark也有提供常见的机器学习算法的程序库),另一方面采集的数据也可以放入数据库(HBase、MongoDB等)中,后续MapReduce对离线数据进行离线处理,数据处理完毕用于后续的使用,数据采集处理的流程大概就是这样。如果是推荐系统,实时推荐会给用户产生实时的推荐结果,让用户进行查阅选择,比如你在界面浏览了或者看了新的物品,然后刷新下界面,可能给你展示的东西就有一些变成跟你刚刚浏览的相关了。离线推荐的话主要是对离线数据进行处理,为物品或种类做出相似的推荐,如果后续用户搜索相应的物品时,给用户展示相应的产品。
大数据学习路线:Linux-&;Hadoop-&;Zookeeper-&;Hive-&;Flume-&;Kafka-&;HBase-&;Scala-&;Spark-&;项目-&;Flink(如果需要学习Storm,在Spark前面学习)
一、Linux(基本操作)
一般我们使用的都是虚拟机来进行操作,所以要安装VM(VirtualMachine),我使用的是CentOS,所以VM和CentOS都要跟着安装好,跟着视频操作,一定要动手实践,将一些Linux基本命令熟练掌握,一些VIM编辑器的命令也要会用,做相应的一些配置,使用SecureCRT来做远程登录操作(也可以使用其他的,自己顺手就行)。再强调一遍,基本操作命令尽量熟练一点,如果一下记不住,打印一些常用的,自己看看,多用多实践,慢慢就会用了。还有一些软件包的下载安装卸载等,跟着操作一遍,熟悉下,后续都会使用,Shell编程可以后续补。
二、Hadoop(重点中的重点)
Hadoop是一个分布式系统基础框架,用于主要解决海量数据的存储和海量数据的分析计算问题,也可以说Hadoop是后续整个集群环境的基础,很多框架的使用都是会依赖于Hadoop。主要是由HDFS、MapReduce、YARN组成。这个部分安装Hadoop,Hadoop的三个主要组成部分是重点,对他们的概念要理解出来,知道他们是做什么的,搭建集群环境,伪分布式模式和完全分布式模式的搭建,重要的是完全分布式的搭建,这些部分一定要自己动手实践,自己搭建集群,仔细仔细再仔细,Hadoop的NameNode,DataNode,YARN的启动关闭命令一定要知道,以及他们的启动关闭顺序要记住,不要搞混。后续视频会有一些案例操作,跟着写代码,做测试,把基本环境都配置好,后续这个集群(完全分布式需要三台虚拟机)要一直使用。
三、Zookeeper
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。分布式安装ZK,对ZK有一定的了解就可以了,了解它的应用场景,以及内部原理,跟着做一些操作,基本上有一些了解即可。
四、Hive(重点)
Hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。Hive的安装,它的数据类型,以及它的数据定义、数据操作有较好的了解,怎么操作表(创建表、删除表,创建什么类型的表,他们有什么不同),怎么操作数据(加载数据,下载数据,对不同的表进行数据操作),对数据的查询一定要进行实践操作,以及对压缩方式和存储格式要有一些了解,用到时不懂也可以去查,最好是能理解清楚。这部分有什么面试可能会问,所以视频后续的面试讲解可以看看,理解清楚。
五、Flume
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。对于Flume,对它的组成架构,以及对FlumeAgent的内部原理要理解清楚,Source、Channel、Sink一定要知道它们的各种类型以及作用,有哪些拓扑结构是常见常用的,例如一对一,单Source、多Channel、多Sink等,它们有什么作用,要理解清楚。还有一个重点,就是对Flume的配置文件一定要了解清楚,不懂的可以上官网查看案例,对于不同的情况,它的配置文件要做相应的修改,才能对数据进行采集处理,视频中的实践案例一定要跟着做。
六、Kafka(重点)
Kafka是一个分布式消息队列,用来缓存数据的。比如说实时计算中可以通过Flume+Kafka对数据进行采集处理之后,SparkStreaming再使用Kafka相应的Topic中的数据,用于后续的计算使用。对于Kafka,要理解Kafka的架构,什么是Kafka,为什么需要Kafka,应用场景。基本的命令行操作要掌握,比如怎么创建删除Topic,怎么通过生产者生成数据,消费者怎么消费数据等基本操作,官网也是有一些案例可以查阅的。
七、HBase(重点)
HBase是一个分布式的、基于列存储的开源数据库。HBase适合存储PB级别的海量数据,也可以说HBase是很适合大数据的存储的,它是基于列式存储数据的,列族下面可以有非常多的列,列族在创建表的时候就必须指定。所以对HBase的数据结构要有一定的理解,特别是RowKey的设计部分(因为面试被问到过,咳咳,所以点一下),对于它的原理要了解,一些基本操作也要都会,比如创建表,对表的操作,基本的API使用等。
八、Spark(重点中的重点)
Spark是快速、易用、通用的大数据分析引擎。一说到Spark,就有一种哪哪都是重点感觉,哈哈。
Spark的组成可以看下图Spark是基于内存计算的,对于数据的处理速度要比MapReduce快很多很多,而且数据挖掘这些都是要对数据做迭代式计算,MapReduce对数据的处理方式也不适合,而Spark是可以进行迭代式计算,很适合数据挖掘等场景。Spark的SparkSQL能够对结构化数据进行处理,SparkSQL的DataFrame或DataSet可以作为分布式SQL查询引擎的作用,可以直接使用Hive上的表,对数据进行处理。SparkStreaming主要用于对应用场景中的实时流数据进行处理,支持多种数据源,DStream是SparkStreaming的基础抽象,由一系列RDD组成,每个RDD中存放着一定时间段的数据,再对数据进行处理,而且是基于内存计算,速度快,所以很适合实时数据的处理。SparkMLlib提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。对Spark的核心组件、部署模式(主要是Standalone模式和YARN模式)、通讯架构、任务调度要有一定了解(面试问到了可以说一波),SparkShuffle要好好理解,还有内存管理要知道,对Spark的内核原理一定要好好理解,不仅面试可能要用,以后工作也是有帮助的。
九、Flink(重点中的重点)
Flink是一个框架和分布式处理引擎,用于对无界(有开始无结束)和有界(有开始有结束)数据流进行有状态计算。现在主要是阿里系公司使用的比较多,很多公司使用的还是Spark居多,而且Flink基本上都是和Spark很多功能大体上一样的,但是以后Flink和Spark孰强孰弱还有待时间的考验,不过Flink近几年越来越火了这是事实,所以如果有时间有精力的话,可以学一学Flink相关的内容也是很不错的。Spark和Flink主要都是在数据处理方面应用,在数据处理方面的话,离线数据处理:Flink暂时比不上Spark,SparkSQL优点在于可以和Hive进行无缝连接,SparkSQL可以直接使用Hive中的表;Flink暂时做不到这一步,因为官方不支持这一操作,Flink只能将数据读取成自己的表,不能直接使用Hive中的表。对于实时数据的处理:Flink和Spark可以说是平分秋色吧,而且Flink是以事件为驱动对数据进行处理,而Spark是以时间为驱动对数据进行处理,在一些应用场景中,也许Flink的效果比Spark的效果还要好些,因为Flink对数据更加的敏感。比如一秒钟如果触发了成千上万个事件,那么时间驱动型就很难对数据做细致的计算,而事件驱动型可以以事件为单位,一个个事件进行处理,相比而言延迟更低,处理效果更好。现在使用Flink的公司越来越多,有时间学习下,也算是有个准备。
项目阶段
其实某硅谷的视频里面有很多大数据相关的项目,而且都是文档配代码的,B站上也有视频,学习期间可以跟着视频做两到三个项目,自己理清思路,把项目理解透彻,还是可以学到很多东西的。
根据自己情况,选择两到三个项目重点跟着做,理解透彻一点大数据项目实战
某硅谷的视频里面有很多大数据相关的项目,而且都是文档配代码的,学习期间可以跟着视频做两到三个项目,自己理清思路,把项目理解透彻,还是可以学到很多东西的。根据自己情况,选择两到三个项目重点跟着做,理解透彻一点。相关项目文档资料我已经放到网盘,GongZhongHao回复相应关键字获取领取方式。
相关项目、涉及技术框架及其B站链接(B站链接主要是为了有些小伙伴网盘速度限制,这样就下载文档资料即可)书籍
书籍部分直接云盘链接保存即可,这里我放两张Java开发和大数据开发我自己的书单(很多,路漫漫,吾将上下而求索~)
Java后端书架:大数据书架:
大概就这些,看完就需要很久了,大部分我也是需要的时候看相应的部分,所以有时间可以好好看下,不然就需要哪一部分看哪一部分,有助于学习即可。
最后
大数据开发也是需要编程基础的,并不是学会使用这些框架怎么样就可以了,所以对于编程语言,数据结构与算法,计算机网络这些基础也是要的,这些基础知识也有助于自己以后的发展,如果是应届生校招的话,面试基本上都是JavaSE和数据结构与算法等的知识点,还有大数据组件相关的知识点,以及对项目的理解,这些都是要自己面试前准备好的,多看面经,多找面试题看,面几次,心里有谱了,后续面试就好了。
不管是从事什么样的计算机相关的岗位,编程都是很重要的,数据结构与算法特别重要,还有就是leetcode等编程网站刷题,提升自己的编程思维,后续笔试面试都要要的。 要将一行行代码看做一叠叠rmb,但是一行行代码能不能转换成一叠叠rmb,自己就一定要:坚持,多敲代码;多敲代码,坚持;坚持。大数据主要学习:linux.高并发处理,Hadoop,zookeeper,spark,flink这些大框架,但是细分后还是很多的呢[捂脸]
学习大数据需要有java基础或者python。如果没有这方面的基础的话学习大数据会不太现实。如果你有基础可以着手从以上几个方面入手学习。如果没有还是建议先学习基础语言,基础语言学好,再学大数据会很轻松哦。给你推荐一家超好的资料,百战程序员的,他们家资料很全,还细,最主要是免费的,希望对你有帮助[呲牙]
大数据开发工程师是大数据领域一个比较热门的岗位,有大量的传统应用需要进行大数据改造,因此岗位有较多的人才需求。这个岗位需要掌握的知识结构包括大数据平台体系结构,比如目前常见的Hadoop、Spark平台,以及众多组件的功能和应用,另外还需要掌握至少一门编程语言,比如Java、Python、Scala等。
大数据分析师是大数据领域非常重要的岗位,大数据分析师需要掌握的知识结构包括算法设计、编程语言以及呈现工具,算法设计是大数据分析师需要掌握的重点内容,而编程语言的作用则是完成算法的实现。另外,大数据分析师还需要掌握一些常见的分析工具。
大数据运维工程师的主要工作内容是搭建大数据平台、部署大数据功能组件、配置网络环境和硬件环境、维护大数据平台,大数据运维工程师需要具备的知识结构包括计算机网络、大数据平台体系结构、编程语言(编写运维脚本)等,通常情况下,大数据运维工程师也需要对数据库有深入的了解。
大数据工程师是做什么的?需要掌握哪些技能?
i6711595957814821380/
大数据开发的发展已经趋于成熟,小伙伴在学习过程中可以参考一些案例来学习,同时,由于企业对大数据开发技术的需求量在不断上涨,市场上的相关大数据开发岗位在逐渐增多,因此,小伙伴入行大数据是一个比较不错的选择。
大数据开发技术的学习所涉猎到的知识体系是比较庞大的,所包含的知识是比较多且杂的,因此,小伙伴想要学好大数据开发技术还真不是一件简单的事,需要小伙伴系统的学习大数据开发技术知识。对于零基础小伙伴来讲,大数据培训学习是小伙伴获得大数据开发技术知识的有效学习方式。
随着大数据开发技术的火热,市面上出现了很多大数据培训机构,小伙伴在选择大数据培训班的时候,要通过多方面的对比考察了解,理性选择一家比较靠谱的大数据培训机构来学习。那小伙伴选择了适合自己的大数据培训班之后,在培训班如何进行学习呢?
1.学习积累相关编程基础知识
大数据开发技术基础知识的学习离不开java、Python、R语言等编程基础的积累,因此,小伙伴在大数据培训班要以培训课程内容为主线,学习相应的编程基础语言,在不断的学习过程中,丰富自身编程知识结构。
2.注重实战项目案例的练习
大数据开发技术是一项比较复杂的编程语言,小伙伴想要学好大数据开发技术,除了不断的积累编程基础知识之外,还需要练习相关的项目实战案例,才可能快速的理解学习大数据开发技术知识,通过项目实战案例的练习,可以锻炼小伙伴在项目开发过程中解决问题的能力,让小伙伴更快速的适应公司的工作环境。
3.交流性学习
小伙伴在学习大数据开发技术的过程中,要不断的去和老师、同学进行交流,在交流的过程中,不断学习好的编程思路,将这些思路融会贯通,融入到自己的编程思维当中,这样不间断的学习,可以更有利的帮助小伙伴成长。
最后,小伙伴在学习大数据开发技术知识过程中,适合自己的学习方法很重要,在这个学习过程中,小伙伴要养成良好的学习习惯,确定自己的发展方向,针对性学习,以用为学。尚硅谷大数据培训是一家比较靠谱的线下面授教学职业教育培训机构,老师都是具有一定项目实战开发经验和教学经验的技术大牛带领小伙伴学习,能够让小伙伴更快速的入门大数据开发,同时,培训班还有相关的大数据视频供小伙伴下载学习!
学习大数据需要循序渐进的学,掌握一套学习方法很重,把需要学习的内容分成几个阶段,系统学习。我简单的列了一下需要学习的内容,仅供参考。
第一阶段
JavaSE基础核心
Java入门语法、面向对象核心、集合与泛型、线程机制、网络编程、流程控制结构、异常体系、反射体系、IO流、设计模式
第二阶段
数据库关键技术
MySql安装和使用、DML(数据操纵语言)、DCL(数据控制语言)、存储过程和函数、JDBC核心技术、SQL语言解析、DDL(数据定义语言)
第三阶段
大数据基础核心
Maven、Hadoop、Hive、Kafka、Linux、Shell、Zookeeper+HA、Flume、HBase
第四阶段
Spark生态体系框架
Scala语言、SparkSQL、Kylin、Druid、Sqoop、SparkCore、Presto、SparkStreaming、Redis缓存数据库、GIT&GITHub、ElasticSearch
第五阶段
Flink流式数据处理框架
FlinkEnvironment、FlinkDataSet、FlinkWindow、FlinkState&Checkpoint、FlinkonYarn、FlinkDataStream、FlinkWatermark
大数据都学习些什么,随着互联网在近几年的飞速发展,大数据页被越来越多的人所熟知,不管是行内的人还是行外的人都纷纷加入这个行业!于是许多的培训机构也纷纷崛起,开设相关的培训课程!作为一个未来的十分有前景的行业。成为大数据工程师无疑是迎接一个很有前景的职业生涯,那么大数据工程师,要学习什么内容呢。
其实说到大数据主要学习的技术,最直接的就是从职位需求入手,但是这样也会有弊端就是导致学习的东西不会很全面。
查看各大招聘网站,BAT等大厂不同的企业要求员工具备的工作技能也是有所不同的,通过这个我们做了一个简单的分析总结可以为大家参考一下。
大数据培训的内容:
有什么要求和条件?
大数据学习相比较其他的编程会有一定的难度,需要前提满足俩个方面的条件。
一是,年龄要满足国家规定的法定工作年龄,不能够小于这个年龄,但也不能年龄太大,年龄太大的话可能不太符合企业要求,找工作就会很难。
二是,学历要满足本科,因为现在很多地方的相关企业招聘大数据技术人才基本上都是本科起步,这方面也要多加注意。
如果,各方面的条件比较满足的话,其实大数据的学习也并不像大家说的那么难,只要感兴趣适合学习大数据就可以一试。
华为有一款应用程序叫做“iLearningX”的APP,这个APP里面主要包含了物联网、大数据、数据中心、人工智能、信息安全、5G、存储、云服务等等学习内容。华为将这些内容分为职业认证、行业认证,华为的认证又分为HCIA(华为认证工程师)、HCIP(华为认证高级工程师)、HCIE(华为认证专家),这些认证可以说是华为对你的一个认可,毕竟是华为推出来的,在一些领域还是有一定权威性的。
华为数据的学习内容也是分级别的,向工程师主要是掌握一些基础架构,和一些简单的操作,基本上有点计算机基础就可以了;高级工程师就比较难了,向JAVA、以及平台的操作、以及要有工程师的基础;专家就更难了,我觉得专家好像什么都要会。
我考的是华为认证大数据工程师,大约用了半年的时间来学习理解,还好不是很难,主要以HDFS、Flume、MapReduce、Yarn、Spark、Streaming、Flink、Zoopkeer、Loader为主的内容,我学这个一个是因为华为的大数据学习有一定的层次性,让我们逐渐的理解,比我们乱学、瞎学效率高很多;在一个以后是不是可以拿着这个证去华为打工呢?哈哈,请允许我做一个梦。
大数据中也有多种岗位,有的偏向开发,有的偏向运维,有的偏向数据分析与挖掘。开发的话Java居多,不过只需要到JavaSE层面即可,也可以选用Scala/Python开发。数据分析与挖掘基本上就是Python了。所以建议学习Python了。要求与条件的话,如果是计算机/数学/统计相关专业最好,不过还是看个人的学习能力与是否坚持。
1)简单点评:
发展不错,需求不少,不过需求中主要是数据分析相关岗位,牵涉到算法建模等高级内容的话实际上不适合刚毕业的不同本科学生。建议普通本科或专科学生从数据分析入行,掌握Python,以后逐步向高级数据分析师、数据挖掘工程师、人工智能开发工程师方向走,2)发展前景:
大数据类职位需求增幅仅次于AI岗位。眼下,几乎所有互联网企业均把数据人才列为团队标配。许多公司在数据层面增加投入,大量招募具有算法和建模能力的人才,力求通过数据沉淀与挖掘更好地推进产品的迭代。数据架构师、数据分析师成为企业争抢对象,过去一年招聘需求提高150%以上。2017,互联网公司对AI和数据人才的争抢活跃度提高了30%以上,企业间相互挖角行为变得更加频繁,人才争夺激烈程度全面升级。物联网、智慧城市、增强现实(AR)与虚拟现实(VR)、区块链技术、语音识别、人工智能、数字汇流是大数据未来应用的七大发展方向。
3)行业定位:
4)面向专业:
计算机、数学与统计、物理、电子、通信工程、物联网、网络工程等相关专业大专以上学生。推荐中上游学生学习。
5)薪酬分析:
数据来源:职友网
我本人在IT行业混了二十多年,从事软件开发与软件教育,现在主要是管理,不过始终没有脱离写程序,有兴趣可以交流哦!
作为一名IT从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。
首先,当前大数据的知识体系还是比较庞大的,随着大数据技术生态的逐渐成熟和完善,大数据领域也逐渐形成了更多的岗位细分,从事不同的岗位细分方向则需要学习不同的知识。
从当前大的岗位划分来看,通常包括以下几个岗位:
第一:大数据开发岗位。从近两年大数据方向研究生的就业情况来看,开发岗位的人才需求量还是比较大的,相关岗位的薪资待遇也比较高,其中从事大数据平台开发的研发级岗位会有更高的薪资待遇。从事大数据开发岗位,通常需要学习三大块内容,其一是程序开发技术,初学者可以从Java或者Python开始学起;其二是学习大数据平台知识,初学者可以从Hadoop和Spark开始学起;其三是大数据开发实践,这个过程需要掌握一定的行业知识。
第二:大数据分析岗位。大数据分析岗位的人才需求潜力是非常大的,不仅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基本操作和原理理解)KafkaStorm/JStormScalaPythonSpark(Core+sparksql+Sparkstreaming)辅助小工具(Sqoop/Flume/Oozie/Hue等)高阶技能6条
机器学习算法以及mahout库加MLlibR语言Lambda架构Kappa架构KylinAlluxio面列出来的顺序只是个人建议,可以根据个人实际情况来调整顺序
第一阶段(基础阶段)
Linux学习(跟鸟哥学就ok了)—–20小时
Linux操作系统介绍与安装。
Linux常用命令。
Linux常用软件安装。
Linux网络。
防火墙。
Shell编程等。
官网:Hive(《Hive开发指南》)–20小时
Hive基本概念
Hive应用场景。
Hive与hadoop的关系。
Hive与传统数据库对比。
Hive的数据存储机制。
Hive基本操作
Hive中的DDL操作。
在Hive中如何实现高效的JOIN查询。
Hive的内置函数应用。
Hiveshell的高级使用方式。
Hive常用参数配置。
Hive自定义函数和Transform的使用技巧。
HiveUDF/UDAF开发实例。
Hive执行过程分析及优化策略
官网:中文入门文档:HBase(《HBase权威指南》)—20小时
hbase简介。
habse安装。
hbase数据模型。
hbase命令。
hbase开发。
hbase原理。
官网:Scala(《快学Scala》)–20小时
Scala概述。
Scala编译器安装。
Scala基础。
数组、映射、元组、集合。
类、对象、继承、特质。
模式匹配和样例类。
了解ScalaActor并发编程。
理解Akka。
理解Scala高阶函数。
理解Scala隐式转换。
官网:Spark(《Spark权威指南》)—60小时
Sparkcore
Spark概述。
Spark集群安装。
执行第一个Spark案例程序(求PI)。
RDD
RDD概述。
创建RDD。
RDD编程API(Transformation和ActionOperations)。
RDD的依赖关系
RDD的缓存
DAG(有向无环图)
SparkSQLandDataFrame/DataSet
SparkSQL概述。
DataFrames。
DataFrame常用操作。
编写SparkSQL查询程序。
SparkStreaming
parkStreaming概述。
理解DStream。
DStream相关操作(Transformations和OutputOperations)。
StructuredStreaming
其他(MLlibandGraphX)
这个部分一般工作中如果不是数据挖掘,机器学习一般用不到,可以等到需要用到的时候再深入学习。
官网:/www.aboutyun.com/forum-146-1.htmPython(推荐廖雪峰的博客—30小时)
目前暂且列出来这么多吧,大数据目前还有很多比较好的技术框架,这个就需要等大家以后工作之后再去扩展了,大家在学习的时候,要专门挑一两个着重研究一下,最好针对,底层原理,优化,源码等部分有所涉猎,这么的话可以在面试过程中脱颖而出。不要想着把每一个框架都搞精通,目前是不现实的,其实就算是在工作中也不会每一个框架都会用的很深,如果能过对上面的框架都大致会使用,并且对某一两个框架研究的比较深的话,其实想去找一份满意的大数据工作也就水到渠成了。
--如果觉得答案解决了你的问题,请采纳,有问题可继续追问--