我正在研究Hadoop和MapReduce(我是一个初学者!),并且对HDFS有一个简单的问题。我对HDFS和MapReduce如何协同工作感到有些困惑。
假设我有来自系统A的日志,推文,以及来自系统B的一堆文档。将其加载到Hadoop / HDFS中时,是否全部扔进了一个大的HDFS存储桶中,还是会有3个区域(需要一个区域)?更好的词)?如果是这样,正确的术语是什么?
问题源于对如何执行MapReduce作业的理解。例如,如果我只想专注于日志,那么可以做到这一点,还是在集群上存储的全部内容上执行所有作业?
感谢您的指导!
TM值
最佳答案
HDFS是一个文件系统。与在本地文件系统中一样,您可以将所有日志和文档组织到多个文件和目录中。运行MapReduce作业时,通常会使用输入文件指定目录。因此,可以仅对来自系统A的日志或来自系统B的文档执行作业。
但是,映射器的输入由InputFormat
指定。大多数实现源自读取文件的FileInputFormat
。但是,可以实现自定义InputFormats
以便从其他来源读取数据。您可以在Hadoop Tutorial中找到有关输入和输出格式的说明。
关于hadoop - 了解有关Hadoop/HDFS数据加载的更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14777255/