Hadoop虽然强大,但不是万能的

数据库 Hadoop
随着 Hadoop 应用的不断拓展,使很多人陷入了对它的盲目崇拜中,认为它能解决一切问题。虽然Hadoop是一个伟大的分布式大型数据计算的框架,但Hadoop不是万能的。比如在下面这几种场景就不适合使用Hadoop。

在下面这几种场景就不适合使用Hadoop:

1、低延迟的数据访问

Hadoop并不适用于需要实时查询和低延迟的数据访问。数据库通过索引记录可以降低延迟和快速响应,这一点单纯的用Hadoop是没有办法代替的。但是如果你真的想要取代一个实时数据库,可以尝试一下HBase来实现数据库实时读写。

2、结构化数据

Hadoop不适用于结构化数据,却非常适用于半结构化和非结构化数据。Hadoop和RDBMS不同,一般采用分布式存储,因此在查询处理的时候将会面临延迟问题。

3、数据量并不大的时候

Hadoop一般适用于多大的数据量呢?答案是:TB 或者PB。当你的数据只有几十GB时,使用Hadoop是没有任何好处的。按照企业的需求有选择性的的使用Hadoop,不要盲目追随潮流。Hadoop很强大。但企业在使用Hadoop或者大数据之前,首先要明确自己的目标,再确定是否选对了工具。

[[108691]]

4、大量的小文件

小文件指的是那些size比HDFS的block size(默认64M)小得多的文件。如果在HDFS中存储大量的小文件,每一个个文件对应一个block,那么就将要消耗namenode大量的内存来保存这些block的信息。如果小文件规模再大一些,那么将会超出现阶段计算机硬件所能满足的极限。

5、太多的写入和文件更新

HDFS是采用的一些多读方式。当有太多文件更新需求,Hadoop没有办法支持。

6、MapReduce可能不是***的选择

MapReduce是一个简单的并行编程模型。是大数据并行计算的利器,但很多的计算任务、工作及算法从本质上来说就是不适合使用MapReduce框架的。

如果你让数据共享在MapReduce,你可以这样做:

迭代:运行多个 MapReduce jobs ,前一个 MapReduce 的输出结果,作为下一个 MapReduce 的输入。

共享状态信息:但不要分享信息在内存中,由于每个MapReduce的工作是在单个JVM上运行。

原文链接:http://www.36dsj.com/archives/5926

责任编辑:彭凡 来源: 36大数据
相关推荐

2022-11-30 13:13:41

节能减碳PUE

2021-11-11 10:41:25

代码开发工具

2021-09-04 00:11:32

大数据Hadoop工具

2020-10-18 12:36:06

Python开发函数

2009-06-22 09:16:00

无线网络加密网络安全

2009-03-19 09:02:44

2013-11-05 09:27:27

ClouderaHadoop数据解决方案

2016-11-24 12:07:42

Android万能圆角ImageView

2024-03-06 11:16:10

2017-09-07 14:15:28

2009-12-03 18:13:36

PHP万能密码

2011-06-16 15:57:25

Android

2022-06-27 08:36:08

PythonLambda

2021-08-28 23:26:14

程序员编码电脑

2009-02-27 13:48:00

Mdaemon邮件服务器

2022-06-23 18:10:15

多云

2022-11-21 09:57:18

网关系统

2020-06-16 08:32:00

人工智能技术机器学习

2015-08-26 13:49:28

数据中心

2019-04-24 11:48:33

点赞
收藏

51CTO技术栈公众号