王小虎呦
大数据技术体系庞大,包括的知识较多
1、学习大数据首先要学习Java基础
Java是大数据学习需要的编程语言基础,因为大数据的开发基于常用的高级语言。而且不论是学hadoop
2、学习大数据核心知识
Hadoop生态系统;HDFS技术;HBASE技术;Sqoop使用流程;数据仓库工具HIVE;大数据离线分析Spark、Python语言;数据实时分析Storm;消息订阅分发系统Kafka等。
3、学习大数据需要具备的能力
数学知识,数学知识是数据分析师的基础知识。对于数据分析师,了解一些描述统计相关的内容,需要有一定公式计算能力,了解常用统计模型算法。而对于数据挖掘工程师来说,各类算法也需要熟练使用,对数学的要求是最高的。
4、学习大数据可以应用的领域
大数据技术可以应用在各个领域,比如公安大数据、交通大数据、医疗大数据、就业大数据、环境大数据、图像大数据、视频大数据等等,应用范围非常广泛。
夏日风清凉
1.找出过去事件的特征大数据工程师一个很重要的工作,就是通过分析数据来找出过去事件的特征。比如,腾讯的数据团队正在搭建一个数据仓库,把公司所有网络平台上数量庞大、不规整的数据信息进行梳理,总结出可供查询的特征,来支持公司各类业务对数据的需求,包括广告投放、游戏开发、社交网络等。找出过去事件的特征,最大的作用是可以帮助企业更好地认识消费者。通过分析用户以往的行为轨迹,就能够了解这个人,并预测他的行为。“你可以知道他是什么样的人、他的年纪、兴趣爱好,是不是互联网付费用户、喜欢玩什么类型的游戏,平常喜欢在网上做什么事情。”腾讯云计算有限公司北京研发中心总经理郑立峰说。下一步到了业务层面,就可以针对各类人群推荐相关服务,比如手游,或是基于不同特征和需求衍生出新的业务模式,比如微信的电影票业务。2.预测未来可能发生的事情通过引入关键因素,大数据工程师可以预测未来的消费趋势。在阿里妈妈的营销平台上,工程师正试图通过引入气象数据来帮助淘宝卖家做生意。“比如今年夏天不热,很可能某些产品就没有去年畅销,除了空调、电扇,背心、游泳衣等都可能会受其影响。那么我们就会建立气象数据和销售数据之间的关系,找到与之相关的品类,提前警示卖家周转库存。”薛贵荣说。在百度,沈志勇支持“百度预测”部分产品的模型研发,试图用大数据为更广泛的人群服务。已经上线的包括世界杯预测、高考预测、景点预测等。以百度景点预测为例,大数据工程师需要收集所有可能影响一段时间内景点人流量的关键因素进行预测,并为全国各个景点未来的拥挤度分级—在接下来的若干天时间里,它究竟是畅通、拥挤,还是一般拥挤?3.找出最优化的结果根据不同企业的业务性质,大数据工程师可以通过数据分析来达到不同的目的。以腾讯来说,郑立峰认为能反映大数据工程师工作的最简单直接的例子就是选项测试(AB Test),即帮助产品经理在A、B两个备选方案中做出选择。在过去,决策者只能依据经验进行判断,但如今大数据工程师可以通过大范围地实时测试—比如,在社交网络产品的例子中,让一半用户看到A界面,另一半使用B界面,观察统计一段时间内的点击率和转化率,以此帮助市场部做出最终选择。
阿达殿下
1.大数据工程师工作中会做什么?集群运维:安装、测试、运维各种大数据组件数据开发:细分一点的话会有ETL工程师、数据仓库工程师等数据系统开发:偏重Web系统开发,比如报表系统、推荐系统等这里面有很多内容其实是十分重合的,下面大致聊一下每一块内容大致需要学什么,以及侧重点。2.集群运维数据工程师,基本上是离不开集群搭建,比如hadoop、Spark、Kafka,不要指望有专门的运维帮你搞定,新组件的引入一般都要自己来动手的。因此这就要求数据工程师了解各种大数据的组件。由于要自己的安装各种开源的组件,就要求数据工程师要具备的能力: Linux 。要对Linux比较熟悉,能各种自己折腾着玩。由于现在的大数据生态系统基本上是 JVM系的,因此在语言上,就不要犹豫了,JVM系的Java和Scala基本上跑不掉,Java基本上要学的很深,Scala就看情况了。3. ETLETL在大数据领域主要体现在各种数据流的处理。这一块一方面体现在对一些组件的了解上,比如Sqoop、Flume、Kafka、Spark、MapReduce;另一方面就是编程语言的需要,Java、Shell和Sql是基本功。4.系统开发我们大部分的价值最后都会由系统来体现,比如报表系统和推荐系统。因此就要求有一定的系统开发能力,最常用的就是 Java Web这一套了,当然Python也是挺方便的。需要注意的是,一般数据开发跑不掉的就是各种提数据的需求,很多是临时和定制的需求,这种情况下, Sql就跑不掉了,老老实实学一下Sql很必要。如何入门?前面提到了一些数据工程师会用到的技能树,下面给一个入门的建议,完全个人意见。1.了解行业情况刚开始一定要了解清楚自己和行业的情况,很多人根本就分不清招聘信息中的大数据和数据挖掘的区别就说自己要转行,其实是很不负责的。不要总是赶热点,反正我就是经常被鄙视做什么大数据开发太Low,做数据就要做数据挖掘,不然永远都是水货。2.选择学习途径如果真是清楚自己明确地想转数据开发了,要考虑一下自己的时间和精力,能拿出来多少时间,而且在学习的时候最好有人能多指点下,不然太容易走弯路了。在选择具体的学习途径时,要慎重一点,有几个选择:自学报班找人指点别的不说了,报班是可以考虑的,不要全指望报个辅导班就能带你上天,但是可以靠他帮你梳理思路。如果有专业从事这一行的人多帮帮的话,是最好的。不一定是技术好,主要是可沟通性强。3.学习路线学习路线,下面是一个大致的建议:第一阶段先具备一定的Linux和Java的基础,不一定要特别深,先能玩起来,Linux的话能自己执行各种操作,Java能写点小程序。这些事为搭建Hadoop环境做准备。学习Hadoop,学会搭建单机版的Hadoop,然后是分布式的Hadoop,写一些MR的程序。接着学学Hadoop生态系统的其它大数据组件,比如Spark、Hive、Hbase,尝试去搭建然后跑一些官网的Demo。Linux、Java、各种组件都有一些基础后,要有一些项目方面的实践,这时候找一些成功案例,比如搜搜各种视频教程中如何搞一个推荐系统,把自己学到的用起来。第二阶段到这里是一个基本的阶段了,大致对数据开发有一些了解了。接着要有一些有意思内容可以选学。数据仓库体系:如何搞数据分层,数据仓库体系该如何建设,可以有一些大致的了解。用户画像和特征工程:这一部分越早了解越好。一些系统的实现思路:比如调度系统、元数据系统、推荐系统这些系统如何实现。第三阶段下面要有一些细分的领域需要深入进行,看工作和兴趣来选择一些来深入进行分布式理论:比如Gossip、DHT、Paxo这些构成了各种分布式系统的底层协议和算法,还是要学一下的。数据挖掘算法:算法是要学的,但是不一定纯理论,在分布式环境中实现算法,本身就是一个大的挑战。各种系统的源码学习:比如Hadoop、Spark、Kafka的源码,想深入搞大数据,源码跑不掉。
站在时光深处
1.大数据架构的工具与组件
数据工程师更关注分析基础架构,因此所需的大部分技能都是以架构为中心的。
2.深入了解SQL和其它数据库解决方案
数据工程师需要对数据库管理系统有比较熟悉的了解,而且深入了解SQL非常重要。同样其它数据库解决方案,例如Cassandra或BigTable也须熟悉,因为不是每个数据库都是由可识别的标准来构建。
3.数据仓库和ETL工具
数据仓库和ETL经验对于数据工程师至关重要。像Redshift或Panoply这样的数据仓库解决方案,以及ETL工具,比如StitchData或Segment都非常有用。另外,数据存储和数据检索经验同样重要,因为处理的数据量是个天文数字。
4.基于Hadoop的分析(HBase,Hive,MapReduce等)
对基于Apache Hadoop的分析有深刻理解是这个领域的一个非常必要的需求,一般情况下HBase,Hive和MapReduce的知识存储是必需的。
5.编码
说到解决方案,编码与开发能力是一个重要的优点(这也是许多职位的要求),你要熟悉Python,C/C++,Java,Perl,Golang或其它语言,这会非常有价值。
6.机器学习
虽然数据工程师主要关注的是数据科学,但对数据处理技术的理解会加分,比如一些统计分析知识和基础数据建模。
优质工程师考试问答知识库