关于大数据大家都在谈论什么

我们为什么学习大数据

最近刷抖音刷到雷军,他对自己失败案例和成功经验做了一个很精简的总结——顺势而为。互联网就是势,雷军刚开始拒绝了互联网,说马云是个骗子,然而在他被远远超越之后,痛定思痛,通过互联网奋起直追,造就了今天的小米。

而如今,大数据之势正席卷而来。

首先,在国家层面,国家提出实施国家大数据战略,旨在全面推进我国大数据发展和应用,促进经济转型升级。

其次,在行业技术层面,时至今日,能用计算机软件提高效率的地方,几乎已经被全部发掘过了。要想让计算机软件包括互联网应用,能够继续提高我们的生活工作效率,那就必须能够通过大数据技术发掘出用户自己都没有发现的需求,必须洞悉用户自己都不了解的自己。

最后,对于我们每个人来说,我们想要得到自己的成功,就要借力于国家,行业大势,通过大数据技术来创造更多的价值。今时今日,我们打开任何一个招聘的软件可以看到,具有相同技术经验的 大数据开发人员,比基础的Java开发人员薪资高出许多,大数据开发人员,已经成为互联网行业的香饽饽。

什么是大数据

关于《易经》,想必我们听过许多它的传奇。譬如两仪四象八卦、再譬如阴阳五行、太极图等等等等。它们神秘晦涩,却又引人遐思。似乎好像只要得到了《易经》真传,就能预测未来,避祸就福。

我们常常在一些古装电影中,看到算命师使用《易经》算命,他们 会拿着一个龟壳,将铜钱放进去,摇啊摇,把铜钱摇出来,根据铜钱最后的摆放情况,判断未来会发生的事情。

而大数据技术,就是现代版的《易经》,任何企业只要掌握了大数据技术,就可以掌握自己的未来。

大数据技术有什么应用场景呢?这里简单举一些例子。

商品推荐。什么是商品推荐呢?想必大家都有在网上购物的习惯,在我们购物几次之后,再次登陆购物软件,我们会发现上面主页推荐的物品或多或少与我们的之前购买的物品有关系,或者与我们的职业,家庭有关系。这就是通过大数据技术,根据我们以往购物的数据,分析预测出我们的性格,职业等属性,根据这些属性,来给我们精准的推送商品。

教育领域。教育倡导“因人施教”,但是在传统教育过程中要做到因人施教,需要老师本身能力很强才能把握好。但是大数据在线教育利用大数据技术进行分析统计,完全可以预测学生的学习能力和学习节奏,及时调整学习大纲和学习进度,提供个性化和自适应的学习体验。

除此之外,还有一些目的不纯的人通过大数据技术获取自己的利益。比如,在美国总统大选期间,候选人就曾雇佣大数据公司利用社交媒体的数据进行分析,预测选票可能摇摆的地区,有针对性前去进行竞选演讲。并利用大数据分析选民关注的话题,包装自己的竞选主张。Facebook 也因为授权大数据公司滥用自己用户的数据而遭到调查和谴责,市值蒸发了数百亿美元。

上面我们讲到,大数据技术就相当于现代版的《易经》,我们可以用它来预测未来。就像算命师算命需要一个龟壳和铜钱一样,大数据技术也有自己的“龟壳”和“铜钱”。这里我们的铜钱就是我们大量的用户数据,龟壳就是我们的大数据存储组件,我们把数据放进存储组件中,就好比算命师把铜钱放进龟壳,当算命师开始摇动龟壳里面的铜钱的时候,就相当于我们使用大数据计算框架对大量的数据进行计算。所以大数据核心技术就是存储和计算。

Java和大数据的关系

上面我们说到存储和计算技术是大数据技术的核心,那么和java有什么关系呢?

一方面。就像存储铜钱的龟壳来自于乌龟,我们的大数据存储组件以及计算框架,就是用Java语言编写的。比如我们的Hadoop技术体系,Spark技术体系,都由Java语言编写。

另一方面。算命师使用不同的摇法摇出我们铜钱的卦相。而语言就是推动数据的双手,我们可以编写Java语言制作我们的不同计算程序计算数据,得到我们想要的数据结果。了解了Java语言,我们才能更深入的了解和使用我们的工具,得到我们想要的数据结果。

学习大数据技术需要的基础和路线

通过上面的介绍想必大家对大数据技术已经有了初步的了解。那么我们如何掌握这一预测未来的神技能,进而掌握企业的命运呢?

首先我们需要一定的语言基础。比如Java和Linux。当然大数据入门所需要的Java基础不需要特别精通,我们只需要掌握基本的JavaSE就可以开始大数据的学习,而对于Linux命令,我们只需要掌握常用的一些操作命令就可以了。就好像在Windows系统上我们可以通过鼠标右键或者快捷键来操作一个文件如:打开,编辑,复制,粘贴等。我们只需要学会在Linux系统中怎么基本的操作一个文件就可以了。掌握这些语言基础,我们就可以开始大数据技术领域的学习了。

进入大数据领域我们首先需要学习的就是Hadoop生态体系的学习,我们要学习Hadoop的体系结构,原理,以及如何编程。前面我们说到,大数据技术的核心就是存储和计算。那么我们学习Hadoop第一阶段就要学习他的存储技术HDFS ,HBase,以及计算技术MapReduce。其次我们还要学习第二阶段的数据分析术:Hive,Pig。以及数据采集技术:Sqoop,Flume。最后,我们第三阶段还要了解一些集群协调技术,以及工作流调度的技术,比如:Zookeeper,Oozie。

Hadoop学习完毕之后,我们已经基本掌握了大数据能力。但是想要使我们的能力更强,我们就需要开始Spark技术体系的学习。学习Spark,我们需要掌握一定的Scala语言,方便我们更快捷更灵活的编写程序。在Spark技术中,我们要掌握的就是它的计算技术,SparkCore。其次,还要学习SparkSql,SparkSql可以方便地使用Sql编写程序,进而自动转换为Spark程序计算。Spark在流式计算领域还有SparkStreaming技术,方便我们流式数据进行操作。

接着,学完Spark技术以后,我们进阶学习Storm技术以及Flink技术。Storm和Flink类似于SparkStreaming,它们是一种实时计算的技术。如果把数据比作水,前面的计算技术,MapReduce以及SparkCore ,SparkSql都像是一桶水一桶水去处理。而实时计算,Storm和Flink,更像是直接接上水管,一旦我们开启水龙头,流过来的数据就开始处理了。

总结

可能有些同学有些疑问,既然大数据核心技术是存储和计算,我们为什么还要学一些数据采集,分析技术呢?事实上,大数据处理技术,整个流程包括从数据采集到数据存储,到数据计算,最后到数据的展示。虽然我们掌握了存储和计算技术,就已经可以使用编程来实现一些工作上的需求,但是如果真的想要成为一名优秀的大数据开发人员,利用大数据的趋势成就自己,就需要我们不断地学习。我们不仅仅要往广了学,而且要不断往深了学。这样才能不断完善我们的大数据处理技术体系,有了这个体系之后,我们就可以发挥我们的主动性,洞察一切出现的数据问题,迅速的找到数据问题的解决方法,成为新时代企业争抢的大数据人才。

时至今日,虽然大数据技术已经成熟,但是和各种应用场景的结合正方兴未艾,大数据人才缺口也依然巨大。如果我们能看到大数据和你所在领域结合的机会,我们就可以找到一次出人头地的机会。

你可能感兴趣的:(关于大数据大家都在谈论什么)