Apache pig 脚本删除文件夹(如果存在)
Apache pig script delete a folder if exists
我想通过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
有人知道吗?
谢谢
%declare OutputFile '/home/LocalPig/test'
sh [ -e '$OutputFile' ] && rm -rf '$OutputFile'
希望这能解决问题。它只是 .pig 脚本文件中的以下命令。您不必编写任何 shell 命令。它可以使用内置的 fs 命令在 pig 环境中完成。
例如,像下面这样在你的pig脚本中添加一条语句,它也不会因为文件夹不存在而出错。如果存在或优雅地存在该语句,它将删除。
fs -rm -f -r -R /user/horton/denver_total;
当然,您也可以在 pig 之外做很多工作,但是在控制数据创建的脚本中执行任何删除操作非常有用。跟踪创建和销毁该文件的谱系让生活变得更简单。
我想通过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
有人知道吗?
谢谢
%declare OutputFile '/home/LocalPig/test'
sh [ -e '$OutputFile' ] && rm -rf '$OutputFile'
希望这能解决问题。它只是 .pig 脚本文件中的以下命令。您不必编写任何 shell 命令。它可以使用内置的 fs 命令在 pig 环境中完成。
例如,像下面这样在你的pig脚本中添加一条语句,它也不会因为文件夹不存在而出错。如果存在或优雅地存在该语句,它将删除。
fs -rm -f -r -R /user/horton/denver_total;
当然,您也可以在 pig 之外做很多工作,但是在控制数据创建的脚本中执行任何删除操作非常有用。跟踪创建和销毁该文件的谱系让生活变得更简单。