我对hadoop非常陌生,正在阅读《hadoop权威指南》
Hadoop中的流数据访问是什么意思,为什么我们说Hadoop应用程序中的延迟很高。有人能解释一下吗?提前感谢
Ok…让我试试……"流数据访问"意味着不以数据包或块的形式读取数据,而是以恒定的比特率连续读取数据,就像从水龙头中取水一样。应用程序从文件的开头开始读取数据,并以顺序的方式继续读取,而不随机查找。
回到你问题的第二部分,据说Hadoop应用程序的延迟很高,因为最初的几秒钟花费在诸如作业提交,资源分配,拆分创建,映射器创建等活动上。
HTH
对于延迟,我可以说完成时间总是大于30秒,即使您正在处理KB的数据。我不完全知道为什么这么长,但这段时间是初始化,例如创建作业,确定数据的哪一部分将由哪个worker处理,等等。
所以,如果你要处理少于GB的少量数据,那么不要使用hadoop,只使用你的pc。Hadoop只适合大数据
它指的是HDFS操作是读密集型的,而不是写密集型的。在一个典型的场景中,源数据是你用来分析的,只有当它是最新的,并确保你有最新的数据集时,才会被加载到HDFS。
在分析过程中,生成原始数据的副本(几乎完整的形式)。然后在复制的数据上调用MapReduce操作。
可以看出,它不同于通常的存储和处理之间的关系。在正常操作中(比如你的PC/Mac),你最好希望文件能快速打开,这是低延迟的,并且保持小文件大小以使其可行。
由于HDFS本身倾向于处理pb (1000 gb)的数据,因此延迟将很高,但相比之下,实际上可以更轻松地处理大型数据集。