Joe 9 meses atrás
pai
commit
baea215831
1 arquivos alterados com 84 adições e 84 exclusões
  1. 84 84
      qiaojialiang/handle_rov.sh

+ 84 - 84
qiaojialiang/handle_rov.sh

@@ -138,95 +138,95 @@ if [ $? -ne 0 ]; then
 else
    echo "spark特征分桶处理执行成功"
 fi
-
+echo "$(date +%Y-%m-%d_%H-%M-%S)----------step5------------spark特征分桶处理执行成功:${begin_early_2_Str}"
 
 # 3 对比AUC 前置对比3日模型数据 与 线上模型数据效果对比,如果3日模型优于线上,更新线上模型
-echo "$(date +%Y-%m-%d_%H-%M-%S)----------step3------------开始对比,新:${MODEL_PATH}/${model_name}_${today_early_3}.txt,与线上online模型数据auc效果"
-$HADOOP fs -text ${bucketDataPath}/${begin_early_2_Str}/* | ${FM_HOME}/fm_predict -m ${LAST_MODEL_HOME}/model_online.txt -dim 8 -core 8 -out ${PREDICT_PATH}/${model_name}_${today}_online.txt
-if [ $? -ne 0 ]; then
-  echo "推荐线上模型AUC计算失败"
-  /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4新旧模型AUC对比\n【是否成功】:error\n【信息】:推荐线上模型AUC计算失败"
-else
-  $HADOOP fs -text ${bucketDataPath}/${begin_early_2_Str}/* | ${FM_HOME}/fm_predict -m ${MODEL_PATH}/${model_name}_${today_early_3}.txt -dim 8 -core 8 -out ${PREDICT_PATH}/${model_name}_${today}_new.txt
-  if [ $? -ne 0 ]; then
-     echo "推荐新模型AUC计算失败"
-     /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4新旧模型AUC对比\n【是否成功】:error\n【信息】:推荐新模型AUC计算失败${PREDICT_PATH}/${model_name}_${today}_new.txt"
-  else
-    online_auc=`cat ${PREDICT_PATH}/${model_name}_${today}_online.txt | /root/sunmingze/AUC/AUC`
-    if [ $? -ne 0 ]; then
-       echo "推荐线上模型AUC计算失败"
-       /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4新旧模型AUC对比\n【是否成功】:error\n【信息】:推荐线上模型AUC计算失败"
-    else
-      new_auc=`cat ${PREDICT_PATH}/${model_name}_${today}_new.txt | /root/sunmingze/AUC/AUC`
-      if [ $? -ne 0 ]; then
-         echo "推荐新模型AUC计算失败"
-         /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4新旧模型AUC对比\n【是否成功】:error\n【信息】:推荐新模型AUC计算失败${PREDICT_PATH}/${model_name}_${today}_new.txt"
-      else
-        # 4.1 对比auc数据判断是否更新线上模型
-        if [ "$online_auc" \< "$new_auc" ]; then
-            echo "新模型优于线上模型: 线上模型AUC: ${online_auc}, 新模型AUC: ${new_auc}"
-            # 4.1.1 模型格式转换
-            cat ${MODEL_PATH}/${model_name}_${today_early_3}.txt |
-            awk -F " " '{
-                if (NR == 1) {
-                    print $1"\t"$2
-                } else {
-                    split($0, fields, " ");
-                    OFS="\t";
-                    line=""
-                    for (i = 1; i <= 10 && i <= length(fields); i++) {
-                        line = (line ? line "\t" : "") fields[i];
-                    }
-                    print line
-                }
-            }' > ${MODEL_PATH}/${model_name}_${today_early_3}_change.txt
-            if [ $? -ne 0 ]; then
-               echo "新模型文件格式转换失败"
-               /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4模型格式转换\n【是否成功】:error\n【信息】:新模型文件格式转换失败${MODEL_PATH}/${model_name}_${today_early_3}.txt"
-            else
-              # 4.1.2 模型文件上传OSS
-              online_model_path=${OSS_PATH}/${model_name}.txt
-              $HADOOP fs -test -e ${online_model_path}
-              if [ $? -eq 0 ]; then
-                  echo "数据存在, 先删除。"
-                  $HADOOP fs -rm -r -skipTrash ${online_model_path}
-              else
-                  echo "数据不存在"
-              fi
-              $HADOOP fs -put ${MODEL_PATH}/${model_name}_${today_early_3}_change.txt ${online_model_path}
-              if [ $? -eq 0 ]; then
-                 echo "推荐模型文件至OSS成功"
-                  # 4.1.3 本地保存最新的线上使用的模型,用于下一次的AUC验证
-                 cp -f ${LAST_MODEL_HOME}/model_online.txt ${LAST_MODEL_HOME}/model_online_$(date +\%Y\%m\%d).txt
-                 cp -f ${MODEL_PATH}/${model_name}_${today_early_3}.txt ${LAST_MODEL_HOME}/model_online.txt
-                 if [ $? -ne 0 ]; then
-                     echo "模型备份失败"
-                 fi
-                 /root/anaconda3/bin/python monitor_util.py --level info --msg "荐模型数据更新 \n【任务名称】:step4模型更新\n【是否成功】:success\n【信息】:新模型优于线上模型: 线上模型AUC: ${online_auc}, 新模型AUC: ${new_auc},已更新${model_name}_${today_early_3}.txt模型}"
-              else
-                 echo "推荐模型文件至OSS失败"
-                 /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4模型推送oss\n【是否成功】:error\n【信息】:推荐模型文件至OSS失败${MODEL_PATH}/${model_name}_${today_early_3}_change.txt --- ${online_model_path}"
-              fi
-            fi
-        else
-            echo "新模型不如线上模型: 线上模型AUC: ${online_auc}, 新模型AUC: ${new_auc}"
-            /root/anaconda3/bin/python monitor_util.py --level info --msg "荐模型数据更新 \n【任务名称】:step4模型更新\n【是否成功】:success\n【信息】:新模型不如线上模型: 线上模型AUC: ${online_auc}, 新模型AUC: ${new_auc},${MODEL_PATH}/${model_name}_${today_early_3}.txt"
-        fi
-      fi
-    fi
-  fi
-fi
+#echo "$(date +%Y-%m-%d_%H-%M-%S)----------step3------------开始对比,新:${MODEL_PATH}/${model_name}_${today_early_3}.txt,与线上online模型数据auc效果"
+#$HADOOP fs -text ${bucketDataPath}/${begin_early_2_Str}/* | ${FM_HOME}/fm_predict -m ${LAST_MODEL_HOME}/model_online.txt -dim 8 -core 8 -out ${PREDICT_PATH}/${model_name}_${today}_online.txt
+#if [ $? -ne 0 ]; then
+#  echo "推荐线上模型AUC计算失败"
+#  /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4新旧模型AUC对比\n【是否成功】:error\n【信息】:推荐线上模型AUC计算失败"
+#else
+#  $HADOOP fs -text ${bucketDataPath}/${begin_early_2_Str}/* | ${FM_HOME}/fm_predict -m ${MODEL_PATH}/${model_name}_${today_early_3}.txt -dim 8 -core 8 -out ${PREDICT_PATH}/${model_name}_${today}_new.txt
+#  if [ $? -ne 0 ]; then
+#     echo "推荐新模型AUC计算失败"
+#     /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4新旧模型AUC对比\n【是否成功】:error\n【信息】:推荐新模型AUC计算失败${PREDICT_PATH}/${model_name}_${today}_new.txt"
+#  else
+#    online_auc=`cat ${PREDICT_PATH}/${model_name}_${today}_online.txt | /root/sunmingze/AUC/AUC`
+#    if [ $? -ne 0 ]; then
+#       echo "推荐线上模型AUC计算失败"
+#       /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4新旧模型AUC对比\n【是否成功】:error\n【信息】:推荐线上模型AUC计算失败"
+#    else
+#      new_auc=`cat ${PREDICT_PATH}/${model_name}_${today}_new.txt | /root/sunmingze/AUC/AUC`
+#      if [ $? -ne 0 ]; then
+#         echo "推荐新模型AUC计算失败"
+#         /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4新旧模型AUC对比\n【是否成功】:error\n【信息】:推荐新模型AUC计算失败${PREDICT_PATH}/${model_name}_${today}_new.txt"
+#      else
+#        # 4.1 对比auc数据判断是否更新线上模型
+#        if [ "$online_auc" \< "$new_auc" ]; then
+#            echo "新模型优于线上模型: 线上模型AUC: ${online_auc}, 新模型AUC: ${new_auc}"
+#            # 4.1.1 模型格式转换
+#            cat ${MODEL_PATH}/${model_name}_${today_early_3}.txt |
+#            awk -F " " '{
+#                if (NR == 1) {
+#                    print $1"\t"$2
+#                } else {
+#                    split($0, fields, " ");
+#                    OFS="\t";
+#                    line=""
+#                    for (i = 1; i <= 10 && i <= length(fields); i++) {
+#                        line = (line ? line "\t" : "") fields[i];
+#                    }
+#                    print line
+#                }
+#            }' > ${MODEL_PATH}/${model_name}_${today_early_3}_change.txt
+#            if [ $? -ne 0 ]; then
+#               echo "新模型文件格式转换失败"
+#               /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4模型格式转换\n【是否成功】:error\n【信息】:新模型文件格式转换失败${MODEL_PATH}/${model_name}_${today_early_3}.txt"
+#            else
+#              # 4.1.2 模型文件上传OSS
+#              online_model_path=${OSS_PATH}/${model_name}.txt
+#              $HADOOP fs -test -e ${online_model_path}
+#              if [ $? -eq 0 ]; then
+#                  echo "数据存在, 先删除。"
+#                  $HADOOP fs -rm -r -skipTrash ${online_model_path}
+#              else
+#                  echo "数据不存在"
+#              fi
+#              $HADOOP fs -put ${MODEL_PATH}/${model_name}_${today_early_3}_change.txt ${online_model_path}
+#              if [ $? -eq 0 ]; then
+#                 echo "推荐模型文件至OSS成功"
+#                  # 4.1.3 本地保存最新的线上使用的模型,用于下一次的AUC验证
+#                 cp -f ${LAST_MODEL_HOME}/model_online.txt ${LAST_MODEL_HOME}/model_online_$(date +\%Y\%m\%d).txt
+#                 cp -f ${MODEL_PATH}/${model_name}_${today_early_3}.txt ${LAST_MODEL_HOME}/model_online.txt
+#                 if [ $? -ne 0 ]; then
+#                     echo "模型备份失败"
+#                 fi
+#                 /root/anaconda3/bin/python monitor_util.py --level info --msg "荐模型数据更新 \n【任务名称】:step4模型更新\n【是否成功】:success\n【信息】:新模型优于线上模型: 线上模型AUC: ${online_auc}, 新模型AUC: ${new_auc},已更新${model_name}_${today_early_3}.txt模型}"
+#              else
+#                 echo "推荐模型文件至OSS失败"
+#                 /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step4模型推送oss\n【是否成功】:error\n【信息】:推荐模型文件至OSS失败${MODEL_PATH}/${model_name}_${today_early_3}_change.txt --- ${online_model_path}"
+#              fi
+#            fi
+#        else
+#            echo "新模型不如线上模型: 线上模型AUC: ${online_auc}, 新模型AUC: ${new_auc}"
+#            /root/anaconda3/bin/python monitor_util.py --level info --msg "荐模型数据更新 \n【任务名称】:step4模型更新\n【是否成功】:success\n【信息】:新模型不如线上模型: 线上模型AUC: ${online_auc}, 新模型AUC: ${new_auc},${MODEL_PATH}/${model_name}_${today_early_3}.txt"
+#        fi
+#      fi
+#    fi
+#  fi
+#fi
 
 # 4 模型训练
-echo "$(date +%Y-%m-%d_%H-%M-%S)----------step4------------开始模型训练,增量训练:${MODEL_PATH}/${model_name}_${today_early_3}.txt"
-#$HADOOP fs -text ${bucketDataPath}/${begin_early_2_Str}/* | ${FM_HOME}/fm_train -m ${MODEL_PATH}/${model_name}_${begin_early_2_Str}.txt -dim 1,1,8 -im ${LAST_MODEL_HOME}/model_online.txt -core 8
-$HADOOP fs -text ${bucketDataPath}/${begin_early_2_Str}/* | ${FM_HOME}/fm_train -m ${MODEL_PATH}/${model_name}_${begin_early_2_Str}.txt -dim 1,1,8 -im ${MODEL_PATH}/${model_name}_${today_early_3}.txt -core 8
-if [ $? -ne 0 ]; then
-   echo "模型训练失败"
-   /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step5模型训练\n【是否成功】:error\n【信息】:${bucketDataPath}/${begin_early_2_Str}训练失败"
-fi
+#echo "$(date +%Y-%m-%d_%H-%M-%S)----------step4------------开始模型训练,增量训练:${MODEL_PATH}/${model_name}_${today_early_3}.txt"
+##$HADOOP fs -text ${bucketDataPath}/${begin_early_2_Str}/* | ${FM_HOME}/fm_train -m ${MODEL_PATH}/${model_name}_${begin_early_2_Str}.txt -dim 1,1,8 -im ${LAST_MODEL_HOME}/model_online.txt -core 8
+#$HADOOP fs -text ${bucketDataPath}/${begin_early_2_Str}/* | ${FM_HOME}/fm_train -m ${MODEL_PATH}/${model_name}_${begin_early_2_Str}.txt -dim 1,1,8 -im ${MODEL_PATH}/${model_name}_${today_early_3}.txt -core 8
+#if [ $? -ne 0 ]; then
+#   echo "模型训练失败"
+#   /root/anaconda3/bin/python monitor_util.py --level error --msg "荐模型数据更新 \n【任务名称】:step5模型训练\n【是否成功】:error\n【信息】:${bucketDataPath}/${begin_early_2_Str}训练失败"
+#fi
 
-echo "$(date +%Y-%m-%d_%H-%M-%S)----------step5------------模型训练完成:${MODEL_PATH}/${model_name}_${begin_early_2_Str}.txt"
+#echo "$(date +%Y-%m-%d_%H-%M-%S)----------step5------------模型训练完成:${MODEL_PATH}/${model_name}_${begin_early_2_Str}.txt"