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

2019-02-26    来源:多智时代

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

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

下面就是我为什么不使用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的确是一个令人震惊的计算框架,它可以进行大规模的数据分析。另一方面,这也意味着数据分析工作必须建立在大量的编程工作之上。

在不久的将来,云计算一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏云计算,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

标签: 大数据 大数据分析 代码 数据分析 搜索 通信 云计算

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:如何拒绝沦为服务的商品,并收回对数据的绝对掌控

下一篇:如何在WebSphere Process Server中使用Oracle RAC?