数据分析不使用Hadoop的五大理由

云计算 大数据 Hadoop
我一度是Hadoop的忠实拥护者。我喜欢它可以轻而易举地处理PB级别的数据,喜欢它可以将运算扩展到数千个节点的分布式计算能力,也喜欢它存储和加载数据的灵活性。但在经历过一系列的探索与使用之后,我对Hadoop非常失望。

   我一度是Hadoop的忠实拥护者。我喜欢它可以轻而易举地处理PB级别的数据,喜欢它可以将运算扩展到数千个节点的分布式计算能力,也喜欢它存储和加载数据的灵活性。但在经历过一系列的探索与使用之后,我对Hadoop非常失望。

  

[[67619]]

 

  下面就是我为什么不使用Hadoop做数据分析的见解。

  Hadoop只是一个框架,而非一种完备的解决方案。人们期望Hadoop可以圆满地解决大数据分析问题,但事实是,对于简单的问题Hadoop尚可,对于复杂的问题,依然需要我们自己开发Map/Reduce代码。这样看起来,Hadoop与使用J2EE编程环境开发商业分析解决方案的方式别无二致!

  Pig和Hive都非常不错,但却受到架构的局限。Pig和Hive都是设计精巧的工具,它们可以让人迅速上手,提高生产力。但它们毕竟只是一种工具,用于将常规的SQL或文本转化成Hadoop环境上的Map/Reduce查询。Pig和Hive受限于Map/Reduce框架的运作性能,尤其是在节点通信的情况下(如排序和连接),效率更为低下。

  没有软件成本,部署相对容易,但维护和开发的代价极大。Hadoop非常受欢迎的理由在于,我们可以自由的下载、安装并运行。由于它是一个开源项目,所以没有软件成本,这使得它成为一种非常吸引人的解决方案,用于替代Oracle和Teradata。但是一旦进入维护和开发阶段,Hadoop的真实成本就会凸显出来。

  擅长大数据分析,却在某些特定领域表现不佳。Hadoop非常擅长大数据分析,以及将原始数据转化成应用(如搜索或文本挖掘)所需的有用数据。但如果我们并不很清楚要分析的问题,而是想以模式匹配的方式探索数据,Hadoop很快会变得一塌糊涂。当然,Hadoop是非常灵活的,但需要你花费较长的时间周期去编写Map/Reduce代码。

  并行处理的性能极佳,但不排除特例。Hadoop可以将数千个节点投入计算,非常具有性能潜力。但并非所有的工作都可以进行并行处理,如用户交互进行的数据分析。如果你设计的应用没有专门为 Hadoop集群进行优化,那么性能并不理想,因为每个Map/Reduce任务都要等待之前的工作完成。

  综上所述,Hadoop的确是一个令人震惊的计算框架,它可以进行大规模的数据分析。另一方面,这也意味着数据分析工作必须建立在大量的编程工作之上。

责任编辑:鸢玮 来源: CSDN
相关推荐

2013-07-17 17:21:49

避免代码注释移动开发移动互联网

2014-07-11 13:56:16

2013-09-25 09:58:33

必应

2013-07-16 10:49:11

代码注释

2010-07-28 16:09:53

苹果

2016-09-29 14:39:01

openSUSELinux版本

2018-02-10 09:48:04

存储软件理由

2011-02-15 08:39:49

2017-08-28 21:50:09

大数据PythonGo语言

2013-09-17 10:14:22

腾讯搜狗

2011-05-18 10:40:19

Windows 7

2011-04-15 10:38:27

VDI

2016-06-30 09:21:33

WindowsLinux系统

2016-08-10 10:27:30

2011-05-19 10:20:49

2010-09-02 15:58:46

2009-08-27 13:02:43

2016-10-17 09:47:21

2010-07-16 10:14:07

2011-08-31 14:52:41

点赞
收藏

51CTO技术栈公众号