我可以将pig.temp.dir设置为/ user / USERNAME / tmp / pig吗?

时间:2013-11-20 00:06:56

标签: hadoop configuration permissions apache-pig configuration-files

可以使用

配置Hive
hive.exec.scratchdir=/user/${user.name}/tmp/hive

我可以和猪做类似的事吗?我尝试过修改pig.properties文件,但似乎没什么用。

pig.temp.dir=/user/${user.name}/tmp/pig <- Doesn't work
pig.temp.dir=/user/`whoami`/tmp/pig     <- Doesn't work
pig.temp.dir=/user/${user}/tmp/pig      <- Doesn't work
pig.temp.dir=/user/${username}/tmp/pig  <- Doesn't work

我可以用别名替换pig命令,但我希望将更改保存在配置文件中。

pig -Dpig.temp.dir=/user/`whoami`/tmp/pig

谢谢!

更新:我们决定将/ tmp /用于生产系统。这是一个问题的原因是因为我们正在运行MapR,它似乎试图将临时目录放入用户目录,并成功使用Hive,但不能使用Pig。

2 个答案:

答案 0 :(得分:2)

您还可以在Pig脚本中设置pig temp dir,如下所示: set pig.temp.dir /user/foo/tmp/pig; 对于小输出,我认为使用/ tmp目录很好,但对于大输出,我建议用户写入他们的个人目录。

答案 1 :(得分:0)

不是配置文件解决方案,但您可以将其烘焙到$ PIG_HOME / bin / pig脚本中:

PIG_OPTS="$PIG_OPTS -Dpig.temp.dir=/user/`whoami`/tmp/pig"