在pig脚本中处理fs(hadoop shell)命令错误

shstlldc  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(366)

我有一个Pig脚本和几个声明。
示例脚本:

register x.jar;
fs -rmr <file-path>;
LOAD 'X' AS  (uuid:chararray,value:chararray);

我调用fs shell删除hdfs上的一个文件:

fs -rmr <file-path>

如果不继续,将删除此项。如果文件/目录不存在,脚本将退出并抛出一个错误: No such file or directory 我使用以下命令运行它:

pig -f filename.pig -param parameter1=value

“-f”会有力地阻止它。
如果我避免“-f”,我会得到以下错误:

2015-02-02 02:50:15,388 [main] ERROR org.apache.pig.Main - ERROR 2997: Encountered IOException. org.apache.pig.tools.parameters.ParameterSubstitutionException: Undefined parameter : parameter1

我怎么能不顾这个错误继续?

bmp9r5qi

bmp9r5qi1#

如果要在pig脚本中使用参数替换,则需要使用$符号正确转义脚本中的参数:

fs -rmr $parameter1;

如果你用 -param parameter1=value 这将取代 $parameter1value .

s8vozzvw

s8vozzvw2#

如果在执行pig脚本时需要提供参数值,那么以下是语法。
pig--param parameter1=value filename.pig
如果你发现任何问题,试着告诉我

相关问题