hadoop应用程序中的流数据访问和延迟

时间:2013-04-28 07:12:22

标签: hadoop mapreduce hdfs

我非常喜欢hadoop并阅读“Hadoop the definitive guide”一书

Hadoop中流式数据访问的含义以及为什么我们说Hadoop应用程序中的延迟很高。有人可以解释一下吗?提前致谢

3 个答案:

答案 0 :(得分:3)

Ok ..让我试试..“流数据访问”意味着不是以数据包或块的形式读取数据,而是以恒定的比特率连续读取数据,就像来自水龙头的水一样。应用程序开始从文件的开头读取数据,并以顺序的方式继续读取,而不是随机搜索。

在问题的第二部分,Hadoop应用程序中的延迟被认为很高,因为最初几秒钟花在诸如作业提交,资源分配,拆分创建,mappper创建等活动上。

HTH

答案 1 :(得分:2)

对于延迟,我可以说完成时间总是超过 30秒,即使您使用的是 KB的数据。我不完全知道为什么这么长,但这次是初始化,例如创建工作,确定哪个部分数据将由哪个工人处理,等等。

因此,如果您要处理少于GB的少量数据,那么不要使用hadoop,只需使用您的电脑。 Hadoop仅适用于大数据

答案 2 :(得分:1)

它指的是HDFS操作是读密集型而不是写密集型。在典型场景中,您将用于分析的源数据仅在最新时才加载到HDFS中,并确保您拥有最新的数据集。

在分析过程中,会制作原始数据的副本(几乎整个形式)。然后将对复制的数据调用MapReduce操作。

正如您所看到的,它与存储和处理之间的通常关系不同。在正常操作中(想想你的PC / Mac),理想情况下你希望文件快速打开,这是低延迟并保持小文件大小以使其可行。

由于HDFS倾向于使用千兆字节(千兆GB),因此延迟会很高,但相比之下,实际上可以更容易地处理大型数据集。