apache pig脚本删除文件夹(如果存在)

i7uq4tfw  于 2021-06-21  发布在  Pig
关注(0)|答案(2)|浏览(416)

我想通过 apache pig 脚本。这个命令行得通。

sh [ -e  /home/LocalPig/test ] && rm -rf /home/LocalPig/test

但如果我写

sh OutpuFile=/home/LocalPig/test
sh [ -e OutputFile] && rm -rf OutputFile

我得到关于outputfile的错误!

ERROR 2997: Encountered IOException. org.apache.pig.tools.parameters.ParameterSubstitutionException: Undefined parameter : OutputFile

有人知道吗?
谢谢

jc3wubiy

jc3wubiy1#

希望这能解决问题。它只是.pig脚本文件中的以下命令。您不必编写任何shell命令。它可以在pig环境中使用内置的fs命令来完成。
例如,在您的pig脚本中放入一个语句,如下所示,它也不会因文件夹不存在而出错。如果该语句存在或正常存在,它将删除该语句。

fs -rm -f -r -R /user/horton/denver_total;

当然,您也可以在pig之外做很多工作,但是在控制数据创建的脚本中执行任何删除操作非常有用。它使生活更简单,追踪血统的创建和销毁的文件。

8ehkhllq

8ehkhllq2#

参考:参数替换

%declare OutputFile '/home/LocalPig/test'
sh [ -e '$OutputFile' ] && rm -rf '$OutputFile'

相关问题