首先我们要了解Java语言和Linux *** 作系统,这两个是学习大数据的基础,学习的顺序不分前后。
大数据
Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据基础。
Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。
Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。
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的。
1、具有BI分析工作经验者优先
2、具有大数据开发经验(如hadoop、mongoDB经验者)且想转需求分析师者优先
3、具有电子商务网站运营者,如当过电子商务网站产品经理、项目管理等经验者优先
4、本科及以上学历,计算机、统计、经济、数理、信息等相关专业,1年以上相关工作经验,有互联网或金融行业数据分析经验者优先;
5、 对商业和业务逻辑敏感,具备良好的逻辑分析能力和系统性思维能力,优秀的数据思维和强烈的数据决策意识,且思维缜密,做事认真严谨;
6、有较强的人际沟通、协调能力,具备与相关人员沟通数据需求的能力;
对于大数据工程师而言,您至少要掌握以下技能:
一门JVM系语言:当前大数据生态JVM系语言类的比重极大,某种程度上说是垄断也不为过。这里我推荐大家学习Java或Scala,至于Clojure这样的语言上手不易,其实并不推荐大家使用。另外,如今是“母以子贵”的年代,某个大数据框架会带火它的编程语言的流行,比如Docker之于Go、Kafka之于Scala。因此笔者这里建议您至少要精通一门JVM系的语言。值得一提的,一定要弄懂这门语言的多线程模型和内存模型,很多大数据框架的处理模式其实在语言层面和多线程处理模型是类似的,只是大数据框架把它们引申到了多机分布式这个层面。
计算处理框架:严格来说,这分为离线批处理和流式处理。流式处理是未来的趋势,建议大家一定要去学习;而离线批处理其实已经快过时了,它的分批处理思想无法处理无穷数据集,因此其适用范围日益缩小。事实上,Google已经在公司内部正式废弃了以MapReduce为代表的离线处理。因此如果要学习大数据工程,掌握一门实时流式处理框架是必须的。当下主流的框架包括:Apache Samza, Apache Storm, Apache Spark Streaming以及最近一年风头正劲的Apache Flink。当然Apache Kafka也推出了它自己的流式处理框架:Kafka Streams
分布式存储框架:虽说MapReduce有些过时了,但Hadoop的另一个基石HDFS依然坚挺,并且是开源社区最受欢迎的分布式存储,绝对您花时间去学习。如果想深入研究的话,Google的GFS论文也是一定要读的([url=]>资源调度框架:Docker可是整整火了最近一两年。各个公司都在发力基于Docker的容器解决方案,最有名的开源容器调度框架就是K8S了,但同样著名的还有Hadoop的YARN和Apache Mesos。后两者不仅可以调度容器集群,还可以调度非容器集群,非常值得我们学习。
分布式协调框架:有一些通用的功能在所有主流大数据分布式框架中都需要实现,比如服务发现、领导者选举、分布式锁、KV存储等。这些功能也就催生了分布式协调框架的发展。最古老也是最有名的当属Apache Zookeeper了,新一些的包括Consul,etcd等。学习大数据工程,分布式协调框架是不能不了解的, 某种程度上还要深入了解。
KV数据库:典型的就是memcache和Redis了,特别是Redis简直是发展神速。其简洁的API设计和高性能的TPS日益得到广大用户的青睐。即使是不学习大数据,学学Redis都是大有裨益的。
列式存储数据库:笔者曾经花了很长的时间学习Oracle,但不得不承认当下关系型数据库已经慢慢地淡出了人们的视野,有太多的方案可以替代rdbms了。人们针对行式存储不适用于大数据ad-hoc查询这种弊端开发出了列式存储,典型的列式存储数据库就是开源社区的HBASE。实际上列式存储的概念也是出自Google的一篇论文:Google BigTable,有兴趣的话大家最好读一下:
消息队列:大数据工程处理中消息队列作为“削峰填谷”的主力系统是必不可少的,当前该领域内的解决方案有很多,包括ActiveMQ,Kafka等。国内阿里也开源了RocketMQ。这其中的翘楚当属Apache Kafka了。Kafka的很多设计思想都特别契合分布流式数据处理的设计理念。这也难怪,Kafka的原作者Jay Kreps可是当今实时流式处理方面的顶级大神。
大数据工程师需要负责创建和维护数据分析基础架构,包括大数据架构的开发、构建、维护和测试等,还负责创建用于建模,挖掘,获取和验证数据集合等流程。
大数据工程师做哪些工作
大数据工程师可以做大数据开发工作,开发,建设,测试和维护架构,负责公司大数据平台的开发和维护,负责大数据平台持续集成相关工具平台的架构设计与产品开发等。
大数据工程师可以做数据分析工作,收集,处理和执行统计数据分析,运用工具,提取、分析、呈现数据,实现数据的商业意义,需要业务理解和工具应用能力。
大数据工程师可以做数据挖掘工作,数据建模、机器学习和算法实现,商业智能,用户体验分析,预测流失用户等,需要过硬的数学和统计学功底以外,对算法的代码实现也有很高的要求。
大数据工程师可以做数据库开发及管理工作,设计,开发和实施基于客户需求的数据库系统,通过理想接口连接数据库和数据库工具,优化数据库系统的性能效率等。
大数据工程师需要学什么1、计算机编码能力:实际开发能力和大规模的数据处理能力是作为大数据工程师必须要掌握的能力,现在人们在社交网络上所产生的许多记录都是非结构化的数据,如何从这些毫无头绪的信息中提取有用数据呢,这就需要大数据工程师来做。
2、大数据架构工具与组件:企业大数据框架的搭建,多是选择基于开源技术框架来实现的,这其中就包括Hadoop、Spark、Storm、Flink为主的一系列组件框架,及其生态圈组件。
3、数据仓库和ETL工具:数据仓库和ETL能力对于大数据工程师至关重要。像Redshift或Panoply这样的数据仓库解决方案,以及ETL工具,比如StitchData或Segment都非常有用。
4、编程语言:编码与开发能力是大数据工程师的必备技能,要熟悉Python,C/C++,Java,Perl,Golang或其它语言。
一般情况下要求大数据学习最好是理工科基础,数学比较好,然后逻辑思维比较强,最重要的是需要对它有浓厚的兴趣有强烈的好奇心。如需大数据培训推荐选择达内教育。
从现在企业的要求来看,至少要专科以上的学历,并且熟悉JAVA、Hadoop、HBase、Flink等等编程语言以及系统。大数据开发学习有一定难度,零基础入门首先要学习Java语言打基础,一般而言,Java学习SE、EE,需要一段时间;然后进入大数据技术体系的学习,主要学习Hadoop、Spark、Storm等。除此之外,学习大数据开发需要学习的内容包括三大部分,分别是:大数据基础知识、大数据平台知识、大数据场景应用,大数据基础知识有三个主要部分:数学、统计学和计算机;大数据平台知识:是大数据开发的基础,往往以搭建Hadoop、Spark平台为主。感兴趣的话点击此处,免费学习一下
想了解更多有关大数据的相关信息,推荐咨询达内教育。达内教育重磅推出“因材施教、分级培优”创新教学模式,同一课程方向,面向不同受众群体,提供就业、培优、才高三个级别教学课程,达内“因材施教、分级培优“差异化教学模式,让每一位来达内学习的学员都能找到适合自己的课程。达内IT培训机构,试听名额限时抢购。
以上就是关于大数据究竟多大才算是,该如何学习大数据全部的内容,包括:大数据究竟多大才算是,该如何学习大数据、大数据开发难不难学、没有开发经验,如何快速学懂大数据开发等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)