Hadoop oozie可以忽略丢失的输入文件吗?
在我的oozie coordinator.xml文件中,我将以下内容定义为输入目录:Hadoop oozie可以忽略丢失的输入文件吗?,hadoop,oozie,Hadoop,Oozie,在我的oozie coordinator.xml文件中,我将以下内容定义为输入目录: <property> <name>countingHourlyInputDir</name> <value>${coord:dataIn('hourly-input')}/*Pattern1*,${coord:dataIn('hourly-input')}/*Pattern2*</value> </property> wo
<property>
<name>countingHourlyInputDir</name>
<value>${coord:dataIn('hourly-input')}/*Pattern1*,${coord:dataIn('hourly-input')}/*Pattern2*</value>
</property>
workflow.xml:
<property>
<name>mapred.input.pathFilter.class</name>
<value>com.company.project.hadoop.util.RegexPathFilter</value>
</property>
<property>
<name>regexPathFilter.regex</name>
<value>.*(Pattern1|Pattern2).*</value>
</property>
mapred.input.pathFilter.class
com.company.project.hadoop.util.RegexPathFilter
regexPathFilter.regex
.*(模式1 |模式2)*
这个问题背后的原因是
我也面临着同样的问题,并通过对模式和零代码进行轻微更改来解决它
替换
<property>
<name>countingHourlyInputDir</name>
<value>${coord:dataIn('hourly-input')}/*Pattern1*,${coord:dataIn('hourly-input')}/*Pattern2*</value>
</property>
countingHourlyInputDir
${coord:dataIn('hourly-input')}/*模式1*,${coord:dataIn('hourly-input')}/*模式2*
与
countingHourlyInputDir
{${coord:dataIn('hourly-input')}/{*Pattern1*,*Pattern2*}
在这个替换之后,hadoop只有在目录中包含既不匹配pattern1也不匹配pattern2的文件时才会抛出错误
<property>
<name>countingHourlyInputDir</name>
<value>${coord:dataIn('hourly-input')}/*Pattern1*,${coord:dataIn('hourly-input')}/*Pattern2*</value>
</property>
<property>
<name>countingHourlyInputDir</name>
<value>{${coord:dataIn('hourly-input')}}/{*Pattern1*,*Pattern2*}</value>
</property>