我为什么要学习大数据?附大数据葵花宝典

 

1. 先从网上流传的一个虚构故事说起。

某必胜客店的电话铃响了,客服人员拿起电话......

 

客服:您好,这里是必胜客,请问有什么需要我为您服务?

顾客:你好,我想要一份……

客服:先生,烦请先把您的会员卡号告诉我。

顾客:1896579****。

客服:陈先生,您好!您是住在 XX 路一号 12 楼 1205 室,您家电话是2646****,您公司电话是4666****,您的手机是1391234****。请问您想用哪一个电话付费?

顾客:你为什么知道我所有的电话号码?

客服:陈先生,因为我们联机到客户关系管理系统。

顾客:我想要一个海鲜比萨……

客服:陈先生,海鲜比萨不适合您。

顾客:为什么?

客服:根据您的医疗记录,你的血压和胆固醇都偏高。

顾客:那你们有什么可以推荐的?

客服:您可以试试我们的低脂健康比萨。

顾客:你怎么知道我会喜欢吃这种的?

客服:您上星期一在国家图书馆借了一本《低脂健康食谱》。

顾客:好。那我要一个家庭特大号比萨,要付多少钱?

客服:99 元,这个足够您一家六口吃了。但您母亲应该少吃,她上个月刚刚做了心脏搭桥手术,还处在恢复期。

顾客:那可以刷卡吗?

客服:陈先生,对不起。请您付现款,因为您的信用卡已经刷爆了,您现在还欠银行 4807 元,而且还不包括房贷利息。

顾客:那我先去附近的提款机提款。

客服:陈先生,根据您的记录,您已经超过今日提款限额。

顾客:算了,你们直接把比萨送我家吧,家里有现金。你们多久会送到?

客服:大约30分钟。如果您不想等,可以自己骑车来。

顾客:为什么?

客服:根据我们全球定位系统的车辆行驶自动跟踪系统记录,您登记有一辆车号为 NB-886 的摩托车,而目前您正在五缘湾运动馆马卢奇路骑着这辆摩托车。

顾客:......当即晕倒......

 

这个故事纯属虚构,不过畅想了在大数据时代,我们未来可能生活的样子,虽然有些场景可能不会实现,但是从故事中我们却可以深刻感受到大数据对生活的巨大影响......

 

2. 说说公司业务的发展。

站在技术的角度而言,应用架构的演变,服务模块化拆分,随之而来的就是业务日志、业务数据散落在各处。随着业务的推广,业务量逐日增多,伴随时间的推移,沉淀的数据日益庞大,问题也逐渐暴露。

 

  • 数据量太大,想查询出 N 年前的历史数据有点难啦;

  • 面对监管机构的监管,整合提取散落在各地的海量数据也是有点困难;

  • 散落在各模块的日志,由于缺少统一的归档,想基于日志做个分析有点难;若想追踪一条调用链路也是相当之费劲……

 

面对诸多的不便,相信你们之中也会有人面临这个问题,那么就不得不迈入大数据之门。

 

3. 送上大数据葵花宝典。

 

640?wx_fmt=png

 

简单画了一个思维导图(莫嫌丑),主要想通过这个丑图传达三点(看不清,睁大眼睛去看,实在看不清,下面我给拆开啦,哈哈)。

 

640?wx_fmt=png

 

第一点:学习大数据,需要有点编程语言的功底,长远去讲便于理解分析源码设计;并且需要会点 Linux 常用的命令,这样便于熟练操作 HDFS 分布式文件系统以及部署时修改配置等等。

 

640?wx_fmt=png

 

第二点:虽说谷歌的三驾马车开启了大数据之门,催生了大数据的发展,如果是学习,那建议好好看看这三驾马车,确实会对你后续的学习有启发;如果业务催的紧,时间不允许研究,那建议直接从开源的 Hadoop 开始用起,而且文档又多,上来直接通过案例去剖析,然后去体会理论。不过再多说一句,这个还是要分场景,到底是需要批处理(离线处理),还是流处理(实时在线处理),因为这对你技术选型也真的很重要,不过 Flink 有一统江湖的趋势,还是需要多花功夫在它上面。

 

640?wx_fmt=png

 

第三点:为了能够让大数据技术组件跑的更好,出现了 N 多轮子,不过轮子不嫌多,建议先会用,然后再逐个深入。

 

说完了上面三点,估计还有人一脸懵圈,那还是结合图再稍微串一串(此时耳边响起:喔,把你的心 我的心串一串,串一株幸运草串一个同心圆,让所有期待未来的呼唤......)。

 

面对海量的业务数据采用 Sqoop 完成同步;面对散落的日志数据采用 Flume 来完成采集;

 

采集同步之后的数据采用 HDFS 来进行存储,如果是实时在线的海量结构化的数据可以采用 HBase 来进行存储;

 

海量数据存储之后可以采用 Hadoop MapReduce 来从海量数据中计算出自己关心的结果,但是 MapReduce 代码编写稍显繁琐,所以可以直接用 Hive、Pig以SQL的形式去完成 MapReduce;

 

不过 MapReduce 只能完成离线数据处理,也就是一批一批的处理,时间耗时比较长,面对实时需求,Storm 流处理技术轮子就应运而生;

 

这样 Hadoop MapReduce 加上 Storm 就解决了批处理 + 流处理,但是这样部署就需要维护 Hadoop 的集群 + Storm 的集群,略显复杂;世界需要光,需要一种集批处理及流处理于一体的计算框架,所以 Spark 就诞生了;

 

不过 Spark 流处理其实本质也是微批处理,所以还是无法做到毫秒级的流计算,于是乎盖有一统江湖趋势的 Flink 就出现了......

 

以上,属于一家之言,若有 bug,欢迎提 bug(捂嘴笑)!

 

好了,这篇分享都到这儿吧,希望你们能够喜欢,如果感觉有点意思,芸芸众生,相遇相识便是缘,不妨动动手指转发分享一下吧。

posted on 2019-11-19 00:08  一猿小讲  阅读(237)  评论(0编辑  收藏  举报