hadoop - 有没有办法在 pig 脚本中检查 "Path or file exists"

标签 hadoop apache-pig

在我的 hadoop 环境中,输出目录是动态创建的。因此,我想动态地读取输出目录,如果存在路径或文件,则执行此操作,否则执行此操作。那么有什么方法可以检查 pig 脚本中的“路径或文件是否存在”??

最佳答案

在 Pig 中,您可以运行 shell 命令来测试路径是否存在,如果存在则返回该路径,否则返回其他始终可用的空数据路径。然后依赖Pig的参数替换。

例如:

%declare emptyPath '/user/me/emptyData.csv'
%declare requestedPath '/user/me/realData.csv'
%declare actualPath `sh -c "hdfs dfs -test -e '$requestedPath '; if [ \\$? -eq 0 ]; then echo '$requestedPath '; else echo '$emptyPath '; fi"`

a = load '$actualPath' using PigStorage(',') as (line:chararray);

关于hadoop - 有没有办法在 pig 脚本中检查 "Path or file exists",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25659202/

相关文章:

hadoop - Cucumber-Hadoop:如何从HDFS位置读取 cucumber 功能文件?

hadoop - HDFS委派 token 错误

hadoop - 是否可以让 Nifi 放入多个 HDFS 文件夹?

java - PIG - 我可以将 byteArray 转换为元组吗

bash - hadoop中的批量重命名

hadoop - Pig 如何处理否定空值?

apache-pig - 在 Pig 中使用多个条件过滤列

apache-pig - pig 转储不能带表情?

apache-pig - pig : how to exit on failure?

hadoop - Hadoop 中的作业历史服务器是什么?为什么在 Map Reduce 模式下启动 Pig 之前必须启动历史服务器?