| 
														
															@@ -29,6 +29,10 @@ PREDICT_RESULT_SAVE_PATH=/dw/recommend/model/34_ad_predict_data 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 MODEL_OSS_PATH=oss://art-recommend.oss-cn-hangzhou.aliyuncs.com/zhangbo/ 
														 | 
														
														 | 
														
															 MODEL_OSS_PATH=oss://art-recommend.oss-cn-hangzhou.aliyuncs.com/zhangbo/ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # 线上模型名,测试时修改为其他模型名,避免影响线上 
														 | 
														
														 | 
														
															 # 线上模型名,测试时修改为其他模型名,避免影响线上 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 model_name=model_xgb_351_1000_v2 
														 | 
														
														 | 
														
															 model_name=model_xgb_351_1000_v2 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+# 线上校准文件名 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+OSS_CALIBRATION_FILE_NAME=model_xgb_351_1000_v2_calibration 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # 本地保存HDFS模型路径文件,测试时修改为其他模型名,避免影响线上 
														 | 
														
														 | 
														
															 # 本地保存HDFS模型路径文件,测试时修改为其他模型名,避免影响线上 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 model_path_file=${model_local_home}/online_model_path.txt 
														 | 
														
														 | 
														
															 model_path_file=${model_local_home}/online_model_path.txt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # 获取当前是星期几,1表示星期一 
														 | 
														
														 | 
														
															 # 获取当前是星期几,1表示星期一 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -50,6 +54,9 @@ new_model_predict_result_path="" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 model_save_path="" 
														 | 
														
														 | 
														
															 model_save_path="" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # 评测结果保存路径,后续需要根据此文件评估是否要更新模型 
														 | 
														
														 | 
														
															 # 评测结果保存路径,后续需要根据此文件评估是否要更新模型 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 predict_analyse_file_path="" 
														 | 
														
														 | 
														
															 predict_analyse_file_path="" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+# 校准文件保存路径 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+calibration_file_path="" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # 保存模型评估的分析结果 
														 | 
														
														 | 
														
															 # 保存模型评估的分析结果 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 old_incr_rate_avg=0 
														 | 
														
														 | 
														
															 old_incr_rate_avg=0 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 new_incr_rate_avg=0 
														 | 
														
														 | 
														
															 new_incr_rate_avg=0 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -95,8 +102,6 @@ send_success_upload_msg(){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   /root/anaconda3/bin/python ${sh_path}/ad_monitor_util.py --level info --msg "${msg}" --start "${start_time}" --elapsed "${elapsed}" --top10 "${top10_msg}" 
														 | 
														
														 | 
														
															   /root/anaconda3/bin/python ${sh_path}/ad_monitor_util.py --level info --msg "${msg}" --start "${start_time}" --elapsed "${elapsed}" --top10 "${top10_msg}" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 init() { 
														 | 
														
														 | 
														
															 init() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															    
														 | 
														
														 | 
														
															    
														 | 
													
												
											
												
													
														| 
														 | 
														
															   declare -a date_keys=() 
														 | 
														
														 | 
														
															   declare -a date_keys=() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -132,6 +137,7 @@ init() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   new_model_predict_result_path=${PREDICT_RESULT_SAVE_PATH}/${today_early_1}_351_1000_${train_first_day: -4}_${train_last_day: -4} 
														 | 
														
														 | 
														
															   new_model_predict_result_path=${PREDICT_RESULT_SAVE_PATH}/${today_early_1}_351_1000_${train_first_day: -4}_${train_last_day: -4} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   online_model_predict_result_path=${PREDICT_RESULT_SAVE_PATH}/${today_early_1}_351_1000_${online_model_path: -9} 
														 | 
														
														 | 
														
															   online_model_predict_result_path=${PREDICT_RESULT_SAVE_PATH}/${today_early_1}_351_1000_${online_model_path: -9} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   predict_analyse_file_path=${model_local_home}/predict_analyse_file/${today_early_1}_351_1000_analyse.txt 
														 | 
														
														 | 
														
															   predict_analyse_file_path=${model_local_home}/predict_analyse_file/${today_early_1}_351_1000_analyse.txt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  calibration_file_path=${model_local_home}/${OSS_CALIBRATION_FILE_NAME}.txt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   echo "init param train_data_path: ${train_data_path}" 
														 | 
														
														 | 
														
															   echo "init param train_data_path: ${train_data_path}" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   echo "init param predict_date_path: ${predict_date_path}" 
														 | 
														
														 | 
														
															   echo "init param predict_date_path: ${predict_date_path}" 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -144,6 +150,7 @@ init() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   echo "init param model_local_home: ${model_local_home}" 
														 | 
														
														 | 
														
															   echo "init param model_local_home: ${model_local_home}" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   echo "init param model_oss_path: ${MODEL_OSS_PATH}" 
														 | 
														
														 | 
														
															   echo "init param model_oss_path: ${MODEL_OSS_PATH}" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   echo "init param predict_analyse_file_path: ${predict_analyse_file_path}" 
														 | 
														
														 | 
														
															   echo "init param predict_analyse_file_path: ${predict_analyse_file_path}" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  echo "init param calibration_file_path: ${calibration_file_path}" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   echo "init param current_day_of_week: ${current_day_of_week}" 
														 | 
														
														 | 
														
															   echo "init param current_day_of_week: ${current_day_of_week}" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   echo "当前Python环境安装的Python版本: $(python --version)" 
														 | 
														
														 | 
														
															   echo "当前Python环境安装的Python版本: $(python --version)" 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -291,7 +298,7 @@ model_predict() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   check_run_status $return_code $step_start_time "线上模型评估${predict_date_path: -8}的数据" "线上模型评估${predict_date_path: -8}的数据失败" 
														 | 
														
														 | 
														
															   check_run_status $return_code $step_start_time "线上模型评估${predict_date_path: -8}的数据" "线上模型评估${predict_date_path: -8}的数据失败" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   # 结果分析 
														 | 
														
														 | 
														
															   # 结果分析 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  local python_return_code=$(python ${sh_path}/model_predict_analyse.py -p ${online_model_predict_result_path} ${new_model_predict_result_path} -f ${predict_analyse_file_path}) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local python_return_code=$(python ${sh_path}/model_predict_analyse.py -op ${online_model_predict_result_path} -np ${new_model_predict_result_path} -af ${predict_analyse_file_path} -cf ${calibration_file_path}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   check_run_status $python_return_code $step_start_time "分析线上模型评估${predict_date_path: -8}的数据" "分析线上模型评估${predict_date_path: -8}的数据失败" 
														 | 
														
														 | 
														
															   check_run_status $python_return_code $step_start_time "分析线上模型评估${predict_date_path: -8}的数据" "分析线上模型评估${predict_date_path: -8}的数据失败" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   calc_model_predict 
														 | 
														
														 | 
														
															   calc_model_predict 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -330,17 +337,20 @@ model_upload_oss() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     rm -rf ${model_name}.tar.gz.crc 
														 | 
														
														 | 
														
															     rm -rf ${model_name}.tar.gz.crc 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    ${HADOOP} fs -rm -r -skipTrash ${MODEL_OSS_PATH}/${model_name}.tar.gz 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    # 从OSS中移除模型文件和校准文件 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    ${HADOOP} fs -rm -r -skipTrash ${MODEL_OSS_PATH}/${model_name}.tar.gz ${MODEL_OSS_PATH}/${OSS_CALIBRATION_FILE_NAME}.txt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      
														 | 
														
														 | 
														
															      
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    ${HADOOP} fs -put ${model_name}.tar.gz ${MODEL_OSS_PATH} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    # 将模型文件和校准文件推送到OSS上 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    ${HADOOP} fs -put ${model_name}.tar.gz ${OSS_CALIBRATION_FILE_NAME}.txt ${MODEL_OSS_PATH} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     local return_code=$? 
														 | 
														
														 | 
														
															     local return_code=$? 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     check_run_status $return_code $step_start_time "模型上传OSS任务" "模型上传OSS失败" 
														 | 
														
														 | 
														
															     check_run_status $return_code $step_start_time "模型上传OSS任务" "模型上传OSS失败" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     echo ${model_save_path} > ${model_path_file} 
														 | 
														
														 | 
														
															     echo ${model_save_path} > ${model_path_file} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    # 删除本地的文件 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     rm -f ./${model_name}.tar.gz 
														 | 
														
														 | 
														
															     rm -f ./${model_name}.tar.gz 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     rm -rf ./${model_name} 
														 | 
														
														 | 
														
															     rm -rf ./${model_name} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    rm -rf ${OSS_CALIBRATION_FILE_NAME}.txt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   ) 
														 | 
														
														 | 
														
															   ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   local return_code=$? 
														 | 
														
														 | 
														
															   local return_code=$? 
														 |