0

我正在研究 Hadoop 和 MapReduce(我是初学者!)并且有一个关于 HDFS 的简单问题。我对 HDFS 和 MapReduce 如何协同工作有点困惑。

假设我有来自系统 A 的日志、推文和来自系统 B 的一堆文档。当它被加载到 Hadoop/HDFS 中时,这是否都被扔到一个大的 HDFS 存储桶中,或者会有 3 个区域(因为想要一个更好的词)?如果是这样,正确的术语是什么?

这些问题源于理解如何执行 MapReduce 作业。例如,如果我只想专注于日志,是否可以这样做,或者是否所有作业都在存储在集群上的整个内容上执行?

感谢您的指导!TM值

4

1 回答 1

1

HDFS 是一个文件系统。与在本地文件系统中一样,您可以将所有日志和文档组织到多个文件和目录中。当您运行 MapReduce 作业时,您通常会指定一个包含输入文件的目录。因此,可以仅在系统 A 的日志或系统 B 的文档上执行作业。

但是,映射器的输入由InputFormat. 大多数实现源自FileInputFormat读取文件。但是,可以实现自定义InputFormats以从其他来源读取数据。您可以在本Hadoop 教程中找到有关输入和输出格式的说明。

于 2013-02-08T18:37:56.307 回答