配置单元可以配置为
hive.exec.scratchdir=/user/${user.name}/tmp/hive
我能用Pig做类似的事吗?我尝试过修改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,它似乎试图将temp目录放到用户目录中,并在hive中成功,但在pig中没有成功。
2条答案
按热度按时间r1wp621o1#
不是配置文件解决方案,但您可以将其烘焙到$pig\u home/bin/pig脚本中:
pbossiut2#
您还可以在pig脚本中设置pig temp dir,如下所示:
set pig.temp.dir /user/foo/tmp/pig;
对于小的输出,我认为使用/tmp目录是可以的,但是对于大的输出,我建议用户写入他们的个人目录。