Hadoop 有没有办法查一查;路径或文件存在";猪字
在我的hadoop环境中,动态创建输出目录。因此,我想动态读取输出目录,比如,如果存在路径或文件,那么执行此操作,否则在else中执行此操作。那么,是否有任何方法可以检查pig脚本中的“路径或文件是否存在?”?是和否。您可以使用Hadoop Shell命令检查路径是否存在,但不能基于此更改pig脚本流Hadoop 有没有办法查一查;路径或文件存在";猪字,hadoop,apache-pig,Hadoop,Apache Pig,在我的hadoop环境中,动态创建输出目录。因此,我想动态读取输出目录,比如,如果存在路径或文件,那么执行此操作,否则在else中执行此操作。那么,是否有任何方法可以检查pig脚本中的“路径或文件是否存在?”?是和否。您可以使用Hadoop Shell命令检查路径是否存在,但不能基于此更改pig脚本流 我用Pig来做你在问题中描述的你想做的事情 在Pig中,您可以运行shell命令来测试路径是否存在,如果存在,则返回该路径,否则返回其他始终可用的空数据路径。然后依靠清管器的参数替换 例如: %
我用Pig来做你在问题中描述的你想做的事情 在Pig中,您可以运行shell命令来测试路径是否存在,如果存在,则返回该路径,否则返回其他始终可用的空数据路径。然后依靠清管器的参数替换 例如:
%declare emptyPath'/user/me/emptypata.csv'
%声明requestedPath'/user/me/realData.csv'
%声明实际路径'sh-c“hdfs dfs-test-e'$requestedPath';如果[\\$?-eq 0];则回显'$requestedPath';否则回显'$emptyPath';fi“`
a=使用PigStorage(',')作为(行:chararray)加载“$actualPath”代码>您可以从内部清管器执行shell命令。我会在目录上做ls,并检查它是否存在于shell脚本中。嘿,Gaurav thnx的回复,我尝试下面的代码与sh和bash在pig脚本中,但它不工作。sh-mv/user/liddev/desh/locationid/data/cdc/BUILDINGMATCHAUTOMATIC/2014-09-05_011203/part-m-*/user/liddev/desh/locationid/data/cdc/BUILDINGMATCHAUTOMATIC/2014-09-05_011203/PIVID_LID_BID2.txt bash-mv/user/liddev/desh/locationid/data/cdc/BUILDINGMATCHAUTOMATCHAUTOMATCH/2014-09-05匏/part-m-*/user/liddev/desh/locationid/data/cdc/BUILDINGMATCHAUTOMATIC/2014-09-05_011203/PIVID_LID_BID2.txtShell脚本通常在清管器内通过用记号围绕shell命令执行。e、 g.我有一个变量初始化,如下所示:%default昨日date--date=“昨日-1天”+%Y%m%d”
我建议您创建一个变量,该变量基于使用特定值初始化的路径的存在或不存在(例如0表示路径不存在,1表示路径存在)然后使用pig脚本中变量的值谢谢Mikko回复,我在Oozie工作流中找到了问题的解决方案。再次感谢你