2
我有猪脚本,当我从猪(地图减少模式)运行时给出正确的结果,但是当我从crontab计划不按照脚本存储输出。由crontab调度的猪脚本没有给出结果
猪脚本,
a1 = load '/user/training/abhijit_hdfs/id' using PigStorage('\t') as (id:int,name:chararray,desig:chararray);
a2 = load '/user/training/abhijit_hdfs/trips' using PigStorage('\t') as (id:int,place:chararray,no_trips:int);
j = join a1 by id,a2 by id;
g = group j by(a1::id,a1::name,a1::desig);`
`su = foreach g generate group,SUM(j.a2::no_trips) as tripsum;
ord = order su by tripsum desc;
f2 = foreach ord generate $0.$0,$0.$1,$0.$2,$1;
store f2 into '/user/training/abhijit_hdfs/results/trip_output' using PigStorage(' ');
crontab的是,
[[email protected] ~]$ crontab -l
40 3 * * * /home/training/Abhijit_Local/trip_crontab.pig
请指导。
亲爱的克里斯感谢您的回答,但请详细说明什么是PATH设置,我会在哪里获得绝对路径。 – user8167344
我指的是用于搜索可执行文件的'PATH'环境变量。如果拥有这个crontab的用户已经在'PATH'上拥有'pig'可执行文件,那么你将不需要绝对路径。如果用户在'PATH'上没有'pig',那么你需要将它添加到'PATH'或者使用绝对路径。顺便说一句,我也编辑了答案,添加了一些关于将输出重定向到日志文件的信息。 –
亲爱的克里斯真的很感谢你的指导,我的crontab现在正在工作。 – user8167344