| 
					
				 | 
			
			
				@@ -0,0 +1,25 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/bin/sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+set -ex 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+partitionDt="$(date -d '1 days ago' +%Y%m%d)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+table='alg_recsys_sample_all_new' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 0 判断上游表是否生产完成,最长等待到12点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source /root/anaconda3/bin/activate py37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+max_hour=11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+max_minute=00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+while true; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  python_return_code=$(python checkHiveDataUtil.py --table ${table} --partitionDt ${partitionDt} --partitionHh 14) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [ $python_return_code -eq 0 ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo "Python程序返回0,校验存在数据,退出循环。" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  echo "Python程序返回非0值,不存在数据,等待五分钟后再次调用。" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  sleep 300 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  current_hour=$(date +%H) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  current_minute=$(date +%M) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (( current_hour > max_hour || (current_hour == max_hour && current_minute >= max_minute) )); then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo "最长等待时间已到,失败:${current_hour}-${current_minute}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    exit 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+done 
			 |