gpt4 book ai didi

hadoop - crontab 计划的 Pig 脚本没有给出结果

转载 作者:可可西里 更新时间:2023-11-01 15:55:02 25 4
gpt4 key购买 nike

我有 pig 脚本,当我从 pig(map reduce 模式)运行时会给出正确的结果,但是当我从 crontab 调度时不会按照脚本存储输出。

pig 脚本是,

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 是,

[training@localhost ~]$ crontab -l
40 3 * * * /home/training/Abhijit_Local/trip_crontab.pig

请指导。

最佳答案

您的 crontab 试图将 Pig 脚本视为可执行文件并直接运行它。相反,您可能需要明确地通过 pig 命令传递它,如 Batch Mode 上的 Apache Pig 文档中所述。 .您可能还会发现将 stdout 和 stderr 输出重定向到某处的日志文件很有帮助,以防您需要排除故障。

40 3 * * * pig /home/training/Abhijit_Local/trip_crontab.pig 2>&1 > /some/path/to/logfile

根据 PATH 环境变量设置,您可能会发现有必要指定 pig 命令的绝对路径。

40 3 * * * /full/path/pig /home/training/Abhijit_Local/trip_crontab.pig 2>&1 > /some/path/to/logfile

关于hadoop - crontab 计划的 Pig 脚本没有给出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45298384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com