hbase或文本文件作为Map Reduce的输入

时间:2013-06-05 23:20:25

标签: mapreduce hbase

我想知道哪种配置会更快。好吧,我可以选择输入Map Reduce要处理的几个文本文件或从HBase获取输入的选项。

出于我的目的,我需要阅读所有可用的数据。

谢谢, 亚当

1 个答案:

答案 0 :(得分:1)

如果您的文本文件存储在HDFS中,那么从那里读取数据将比HBase更快。这背后的原因是,当您从HBase读取数据时,它比HDFS做得更多,比如读取KeyValues,返回最新的行或指定的时间戳等。另一方面,当您从HDFS读取数据时,这只是一个问题打开该文件的阅读器并开始按顺序阅读。没有从一个地方跳到另一个地方导致读取延迟(这种跳跃是允许HBase为您提供随机读/写访问的东西)。这就是HBase在此处理环境中比HDFS慢几倍的原因。

但这在批处理上下文中很有用(例如,作为MapReduce源或接收器)。当您需要从大型数据集中对少量数据进行低延迟访问时,HBase是首选。

希望这能回答这个问题。