我知道我们可以从普通的 Java 应用程序调用 map-reduce 作业。现在,我的 map-reduce 作业必须处理 hdfs 上的文件以及其他文件系统上的文件。在 hadoop 中,我们是否可以在访问其他文件系统的文件的同时,同时使用 hdfs 上的文件。这可能吗?
所以基本上我的意图是我有一个大文件,我想把它放在 HDFS 中进行并行计算,然后将这个文件的 block 与一些其他文件(我不想放在 HDFS 中,因为它们需要)进行比较一次作为全长文件访问。
最佳答案
应该可以像其他任务一样从 mapper/reducer 任务访问非 HDFS 文件系统。需要注意的一件事是,如果有 1K 映射器,并且每个映射器都会尝试打开非 HDFS 文件,这可能会导致瓶颈,具体取决于外部文件系统的类型。这同样适用于从数据库中提取数据的映射器。
关于java - 在 hadoop mapreduce 应用程序中访问来自其他文件系统的文件以及 hdfs 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13183966/