我有一个包含几个语句的PIG脚本。
示例脚本:
register x.jar;
fs -rmr <file-path>;
LOAD 'X' AS (uuid:chararray,value:chararray);
我正在调用fs shell来删除HDFS上的文件:
fs -rmr <file-path>
如果存在,则会删除。
如果文件/目录不存在,则脚本退出&amp;抛出错误说:No such file or directory
我使用以下命令运行它:
pig -f filename.pig -param parameter1=value
&#34; -f&#34;正在强行停止它。
如果我避免&#34; -f&#34;,我会收到以下错误:
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
无论此错误如何,我该如何继续?
答案 0 :(得分:1)
如果要在pig脚本中使用参数替换,则需要使用$ sign正确地转义脚本中的参数:
fs -rmr $parameter1;
如果您使用-param parameter1=value
来调用该脚本,则会将$parameter1
替换为value
。
答案 1 :(得分:0)
如果您需要在执行pig脚本时提供参数值,则以下是语法。
pig --param parameter1 = value filename.pig
如果您发现任何问题,请尝试告诉我