大数据工程师如何将大数据技术应用到实际中?

来自:    更新日期:早些时候
分析如何成为一名大数据开发工程师~

1、认识大数据
大数据开发工程师,首先你得熟悉关系型数据库,比如Oracle或者MySQL,熟悉之后,有利于数据仓库的开发;再次熟悉Hadoop,这个都是现在大数据领域中用的最多的一个技术,它的HDFS可以实现分布式存储,Yarn是一个优秀的资源调度框架
2、大数据所需技能要求
必须掌握的技能:
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等)

对于大数据工程师而言,您至少要掌握以下技能:

一门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=]https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf[/url])。当然开源世界中还有很多的分布式存储,国内阿里巴巴的OceanBase也是很优秀的一个。

资源调度框架: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、移动互联网发展现状

移动互联网出现后,许多移动设备的传感器收集了大量用户点击行为的数据。IPHONE有三个传感器,三星有六个。它们每天生成大量的点击数据,这些数据由某些公司拥有,还有大量的用户行为数据。

2、数据记录

有些数据记录以模拟或数据的形式存在,但都是本地存储的,不是公共数据资源,也不向互联网用户开放,如音乐、照片、视频、监控视频等音视频资料。互联网上不仅有海量的数据,而且正在以前所未有的数量被所有互联网用户共享。

3、电子地图

电子地图,如黄金、百度、谷歌地图,它产生大量数据流的数据,数据是不同于传统数据,传统的数据代表一个属性或一个度量值,但数据流图表示一个行为,一种习惯,流数据频率分析后将会产生巨大的商业价值。基于地图的数据流是一种过去不存在的新型数据。

4、电子商务

电子商务的兴起产生了大量的在线交易数据,包括支付数据、查询行为、物流运输、购买偏好、点击订单、评价行为等,这是信息流和资金流数据。

5、社交网络的发展现状

进入社交网络时代后,网络行为主要是由用户参与创造的,大量的互联网用户创造了大量的社交行为数据,这是前所未有的。它揭示了人们的行为和生活习惯的特点。

6、搜索引擎

传统门户网站转向搜索引擎后,用户的搜索行为和质疑行为收集了大量的数据。单位存储器价格的下降也使存储数据成为可能。

关于大数据工程师如何将大数据技术应用到实际中?就和大家分享到这里了,如果你还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以持续关注,相信大数据技术未来一定很吃香。




大数据工程师如何将大数据技术应用到实际中?视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网