可以使用
配置Hivehive.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。
答案 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"