|
@@ -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
|