Przeglądaj źródła

feat:修改定时任务脚本

zhaohaipeng 11 miesięcy temu
rodzic
commit
6948ebfe18
1 zmienionych plików z 12 dodań i 6 usunięć
  1. 12 6
      ad/01_ad_model_update_everyday.sh

+ 12 - 6
ad/01_ad_model_update_everyday.sh

@@ -8,6 +8,7 @@ model_name=model_bkb8_v3
 today="$(date +%Y%m%d)"
 today_early_1="$(date -d '1 days ago' +%Y%m%d)"
 
+ONLINE_MODEL_HOME=/root/zhaohp/model_online
 MODEL_PATH=/root/zhaohp/recommend-emr-dataprocess/model
 PREDICT_PATH=/root/zhaohp/recommend-emr-dataprocess/predict
 HADOOP=/opt/apps/HADOOP-COMMON/hadoop-common-current/bin/hadoop
@@ -82,7 +83,7 @@ fi
 
 
 # 4 模型训练
-$HADOOP fs -text ${bucketFeatureSavePath}/${today_early_1}/* | ${FM_HOME}/fm_train -m ${MODEL_PATH}/${model_name}_${today_early_1}.txt -dim 1,1,8  -im ${MODEL_PATH}/model_online.txt -core 8
+$HADOOP fs -text ${bucketFeatureSavePath}/${today_early_1}/* | ${FM_HOME}/bin/fm_train -m ${MODEL_PATH}/${model_name}_${today_early_1}.txt -dim 1,1,8  -im ${ONLINE_MODEL_HOME}/model_online.txt -core 8
 if [ $? -ne 0 ]; then
    echo "模型训练失败"
    /root/anaconda3/bin/python ad/ad_monitor_util.py "广告模型训练失败"
@@ -92,9 +93,9 @@ fi
 
 # 5 对比AUC
 # 5.1 校验今天10分区的数据是否生产完成
-online_model=${MODEL_PATH}/model_online.txt
-$HADOOP fs -text ${bucketFeatureSavePath}/${today}/* | /root/sunmingze/alphaFM/bin/fm_predict -m ${MODEL_PATH}/${online_model} -dim 8 -core 8 -out ${PREDICT_PATH}/${model_name}_${today}_online.txt
-$HADOOP fs -text ${bucketFeatureSavePath}/${today}/* | /root/sunmingze/alphaFM/bin/fm_predict -m ${MODEL_PATH}/${model_name}_${today_early_1}.txt -dim 8 -core 8 -out ${PREDICT_PATH}/${model_name}_${today}_new.txt
+online_model=${ONLINE_MODEL_HOME}/model_online.txt
+$HADOOP fs -text ${bucketFeatureSavePath}/${today}/* | ${FM_HOME}/bin/fm_predict -m ${MODEL_PATH}/${online_model} -dim 8 -core 8 -out ${PREDICT_PATH}/${model_name}_${today}_online.txt
+$HADOOP fs -text ${bucketFeatureSavePath}/${today}/* | ${FM_HOME}/bin/fm_predict -m ${MODEL_PATH}/${model_name}_${today_early_1}.txt -dim 8 -core 8 -out ${PREDICT_PATH}/${model_name}_${today}_new.txt
 
 # shellcheck disable=SC2006
 online_auc=`cat ${PREDICT_PATH}/${model_name}_${today}_online.txt | /root/sunmingze/AUC/AUC`
@@ -150,7 +151,12 @@ awk -F " " '{
 #fi
 
 # 7.3 本地保存最新的线上使用的模型,用于下一次的AUC验证
-cp ${MODEL_PATH}/${model_name}_${today_early_1}.txt ${MODEL_PATH}/model_online.txt
-
+cp ${ONLINE_MODEL_HOME}/model_online.txt ${ONLINE_MODEL_HOME}/model_online_$(date +\%Y\%m\%d).txt
+cp ${MODEL_PATH}/${model_name}_${today_early_1}.txt ${ONLINE_MODEL_HOME}/model_online.txt
+if [ $? -ne 0 ]; then
+   echo "模型备份失败"
+   /root/anaconda3/bin/python ad/ad_monitor_util.py "模型备份失败 - 最新模型地址: ${MODEL_PATH}/${model_name}_${today_early_1}.txt"
+   exit 1
+fi
 
 # 32 16 * * * cd /root/zhangbo/recommend-emr-dataprocess && /bin/sh ./ad/01_ad_model_update_everyday.sh > logs/01_update_eventday$(date +\%Y-\%m-\%d_\%H).log 2>&1