Hadoop一般用在哪些业务场景?

【Hadoop一般用在哪些业务场景?】

Hadoop一般用在哪些业务场景?

文章插图
Hadoop包含三个组件,yarn,MapReduce,HDFS 。其中yarn是一个资源管理器用来管理集群的资源(CPU,内存) 。MapReduce是一个计算框架,适合做大数据离线计算 。HDFS是分布式存储,用来做海量数据存储 。
Hadoop发展这么多年已经衍生了一个非常庞大的生态,单单使用Hadoop(yarn,mapreduce,hdfs)这个大数据组件能做的事情有限,但是结合衍生出来的生态产品(hive,flume,sqoop,hbase,spark)就可以做很多事 。比如
如果单纯使用hadoop,不修改它的内核,实时性没戏 。这由hadoop的定位决定 。Hadoop最初被设计为解决大量数据离线情况下批量计算的问题,解决伸缩性、分布问题的,不是解决性能问题的 。MapReduce的IO开销是hadoop实时性最大的障碍 。
数据分析应用中的低延迟是Hadoop平台的主要目标,而不是实时性 。
实时数据分析一般用于金融、B2C等领域,往往要求在数秒内返回上亿行数据的分析,要满足这样的需求,可以采用精心设计的传统关系型数据库组成并行处理集群,但需要耗费比较高的软硬件成本 。目前比较新的海量数据实时分析工具有EMC的Greenplum、SAP的HANA等 。
hadoop比较适合做离线处理 。对于大多数反馈时间要求不是那么严苛的应用,比如离线统计分析、机器学习、搜索引擎的反向索引计算、推荐引擎的计算等,可以采用Hadoop进行离线分析的方式 。Hadoop集群软硬件的花费极低,每GB存储和计算的成本是其他企业级产品的百分之一甚至千分之一 。
对于一般的实时数据分析场景,两阶段构建更经济适用,使用Hadoop进行离线计算(offlinecomputation)及利用关系型数据库进行在线服务(onlineserving) 。这个场景困难的部分在于如何批量加载离线计算阶段的输出到在线服务系统,而不会造成性能下降 。其实我们要知道大数据的实质特性:针对增量中海量的结构化,非结构化,半结构数据,在这种情况下,如何快速反复计算挖掘出高效益的市场数据??带着这个问题渗透到业务中去分析,就知道hadoop需要应用到什么业务场景了!!!
如果关系型数据库都能应付的工作还需要hadoop吗?比如
1.银行的信用卡业务,当你正在刷卡完一笔消费的那一瞬间,假如在你当天消费基础上再消费满某个额度,你就可以免费获得某种令你非常满意的利益等等,你可能就会心动再去消费,这样就可能提高银行信用卡业务,那么这个消费额度是如何从海量的业务数据中以秒级的速度计算出该客户的消费记录,并及时反馈这个营销信息到客户手中呢?
这时候关系型数据库计算出这个额度或许就需要几分钟甚至更多时间,就需要hadoop了,这就是所谓的“秒级营销”.针对真正的海量数据,一般不主张多表关联 。
2.在淘宝,当你浏览某个商品的时候,它会及时提示出你感兴趣的同类商品的产品信息和实时销售情况,这或许也需要用到hadoop.
3.就是报表用到的年度报告或者年度环比数据报告的时候也会用到hadoop去计算.
4.搜索引擎分析的时候应该也会用到 。一个网友说过,其实还是看bigdata能否带来多大的效益!比如银行在躺着都赚钱的情况下,bigdata不一定是银行的项目.况且hadoop是新兴技术,银行业对新技术还是相对保守的.
首先解释一下hadoop是什么?
Hadoop是一个用于在由廉价硬件构建的大型集群上运行应用程序的框架 。Hadoop框架提供给应用程序可靠性和数据移动 。Hadoop实现了一个名为Map/Reduce的计算范例,其中应用程序被分成许多小的工作片段,每个工作片段都可以在群集中的任何节点上执行或重新执行 。此外,它还提供了一个分布式文件系统(HDFS),用于在计算节点上存储数据,从而在整个集群中提供非常高的聚合带宽 。Map/Reduce和分布式文件系统的设计都是为了使框架自动处理节点故障 。Map/Reduce是一种编程模式,谷歌在任务分成小部分并分发到大量节点进行处理(map)时将其广泛使用,然后将结果汇总到最终答案中(reduce) 。谷歌和雅虎将其用于搜索引擎技术等等 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。