0

我需要根据 hadoop job.properties 中的内容创建一个动态文件,然后将其放入分布式缓存中。

当我创建文件时,我看到它是使用“/tmp”路径创建的。

我创建了一个符号名称并在缓存中引用此文件。现在,当我尝试读取 Dis 中的文件时。缓存我无法访问它。我收到由以下原因引起的错误:java.io.FileNotFoundException:请求的文件 /tmp/myfile6425152127496245866.txt 不存在。

您能否告诉我是否需要在创建文件时指定路径,并在访问/读取文件时使用该路径。

我只需要文件在作业运行之前可用。

4

1 回答 1

0

我真的不明白你的意思

我只需要文件在作业运行之前可用

但是,当我练习使用分布式缓存时,我使用这样的路径:

final String NAME_NODE = "hdfs://sandbox.hortonworks.com:8020";
job.addCacheFile(new URI(NAME_NODE + "/user/hue/users/users.dat"));  

希望这会帮助你 。

于 2015-03-31T17:04:10.850 回答