#每10分钟检查一次开关表HADOOP_LIST_NO_FLAG,如果ETL已执行成功则继续,否则异常推出
for i in {1..35}
do
etl_flag=`sqoop eval \
-D oozie.job.id=$wf_job_id \
-D mapred.job.queue.name=$mapred_job_queue_name \
--connect $data_db_url \
--username $data_db_username \
--password $data_db_password \
--verbose \
--e "select ID_HADOOP_LIST_NO_FLAG from HADOOP_LIST_NO_FLAG
where ID_HADOOP_LIST_NO_FLAG='LIST_NO_PCQK'
"`
echo etl_flag_$etl_flag
if [[ "$etl_flag" =~ "LIST_NO_PCQK" ]]; then
echo "ETL执行成功"
break
else
echo "等待ETL执行完成"
sleep 600s
sleep_count=`expr $sleep_count + 1`
echo sleep_count_$sleep_count
if [ $sleep_count -gt 30 ]; then
exit 1
fi
fi
done
for i in {1..35}
do
etl_flag=`sqoop eval \
-D oozie.job.id=$wf_job_id \
-D mapred.job.queue.name=$mapred_job_queue_name \
--connect $data_db_url \
--username $data_db_username \
--password $data_db_password \
--verbose \
--e "select ID_HADOOP_LIST_NO_FLAG from HADOOP_LIST_NO_FLAG
where ID_HADOOP_LIST_NO_FLAG='LIST_NO_PCQK'
"`
echo etl_flag_$etl_flag
if [[ "$etl_flag" =~ "LIST_NO_PCQK" ]]; then
echo "ETL执行成功"
break
else
echo "等待ETL执行完成"
sleep 600s
sleep_count=`expr $sleep_count + 1`
echo sleep_count_$sleep_count
if [ $sleep_count -gt 30 ]; then
exit 1
fi
fi
done