作为我的Java映射器的一部分,我有一个命令在本地从属节点上执行一些独立代码。当我运行代码时,它执行正常,除非它试图访问一些本地文件,在这种情况下我得到错误,它无法找到这些文件。
深入挖掘它似乎是从以下目录执行:
/数据/ hadoop的/ mapred /本地/的TaskTracker / {用户} / jobcache / job_201109261253_0023 / attempt_201109261253_0023_m_000001_0 /工作
但我打算从相关文件所在的本地目录执行:
/家庭/用户/ {用户} /输入/ JOBNAME
java / hadoop中是否有办法强制从本地目录执行,而不是在hadoop中自动创建的jobcache目录?
是否有更好的方法可以解决这个问题?
对此的任何帮助将不胜感激!
答案 0 :(得分:0)
我现在正在使用的解决方法包括将所有相关文件复制到jobcache工作目录。然后,如有必要,您可以将结果复制回用户目录。
不幸的是,这并没有完全回答这个问题,但希望为其他人提供有用的解决方法。
干杯,
里斯