shell应用生成成功文件 检测成功文件

开发中有些任务或报表之间有相互依赖关系,各个应用程序或脚本之间需要通过依赖关系形成工作流。
当然,如果使用oozie等调度平台可以实现各应用间的依赖,但如果是不同的调度平台任务之间的依赖——可以通过生成成功文件的形式 配置依赖

#制定报表的目标表
db_target_table=n_rpt_ww_devin_d
#今天
IntEnd=20190101
#定义成功文件写入路径
s_path="/apps-data/hduser0401/pfs_cmp_list_safe/${db_target_table}/${IntEnd}"
#大小写转换
success_path=`echo $s_path | tr '[A-Z]' '[a-z]'`

#判断成功文件是否存在(重跑脚本时防止重跑失败但成功文件仍然村存在)
hadoop fs -test -e ${success_path}/_SUCCESS
if [ $? -eq 0 ];then
  hadoop fs -rm  ${success_path}/_SUCCESS
  $?
fi

#写入成功文件
hadoop fs -test -e ${success_path} 
if if [ $? -ne 0 ];then
  hadoop fs -mkdir -p ${success_path}
  $?
fi
hadoop fs -touchz ${success_path}/_SUCCESS
  $?

你可能感兴趣的:(shell)