不适合在以下场景使用Hadoop:1.低延迟的数据访问Hadoop不适合需要实时查询和低延迟的数据访问。数据库可以通过索引记录来减少延迟和快速响应,这是单纯使用Hadoop无法替代的。但是如果真的想换一个实时数据库,可以试试HBase来实现实时数据库读写。2、结构化数据Hadoop不适用于结构化数据,但非常适合半结构化和非结构化数据。与RDBMS不同,Hadoop一般采用分布式存储,因此在查询处理过程中会面临延迟问题。3、当数据量不大的时候,一般用多少数据适合Hadoop?答案是:TB或PB。当您的数据只有几十GB时,使用Hadoop没有任何好处。根据企业的需要有选择地使用Hadoop,不要盲目跟风。Hadoop很强大。但是企业在使用Hadoop或者大数据之前,首先要明确自己的目标,然后再判断自己是否选择了正确的工具。4、大量小文件小文件是指那些大小远小于HDFS块大小(默认64M)的文件。如果在HDFS中存储了大量的小文件,每个文件对应一个block,那么会消耗namenode大量的内存来保存这些block的信息。如果小文件的体积较大,就会超过当前计算机硬件所能满足的限制。5.写入和文件更新过多HDFS使用了一些多次读取的方式。当文件更新需求过多时,Hadoop无法支持。6.MapReduce可能不是最好的选择MapReduce是一种简单的并行编程模型。它是大数据并行计算的利器,但很多计算任务、任务、算法在本质上并不适合使用MapReduce框架。如果让数据在MapReduce中共享,可以这样做:迭代:运行多个MapReduce作业,将上一个MapReduce的输出,作为下一个MapReduce的输入。共享状态信息:但不要共享内存中的信息,因为每个MapReduce作业都在单个JVM上运行。原文链接:http://www.36dsj.com/archives/5926
