2

我正在使用 MrJob 编写 hadoop 应用程序。我需要使用分布式缓存来访问一些文件。我知道 hadoop 流中有一个选项 -files 但不知道如何在程序中访问它。

谢谢你的帮助。

4

2 回答 2

2

我认为你必须使用

mrjob.compat.supports_new_distributed_cache_options(版本)

然后使用 -files 和 -archives 而不是 -cacheFile 和 -cacheArchive

也许你会在这里得到更多

于 2013-06-07T07:45:25.157 回答
-1

您应该在程序中读取文件,就好像这些文件本身在其中一样可用,即该文件与正在运行的代码位于同一目录中的本地文件。

我不擅长 python,因此这里是 ruby​​ 中的示例,mapper.rb

begin
    file = File.open("my-distributed-cache-file.txt")
    while (line = file.gets)
            # do something with your file
    end
    file.close
end
# Rest of mapper code
于 2013-04-08T13:18:13.743 回答