02_train_go.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/sh
  2. # 训练新模型,并使用后面的数据计算AUC,评估模型效果
  3. set -x
  4. begin_date=$1
  5. end_date=$2
  6. model_name=$3
  7. train_dim=$4
  8. hdfs_path=$5
  9. PROJECT_HOME=/root/zhaohp/recommend-emr-dataprocess/
  10. HADOOP=/opt/apps/HADOOP-COMMON/hadoop-common-current/bin/hadoop
  11. MODEL_PATH=${PROJECT_HOME}/model/recommend/
  12. PREDICT_PATH=${PROJECT_HOME}/predict/recommend/
  13. FM_TRAIN=/root/sunmingze/alphaFM/bin/fm_train
  14. train_date=$begin_date
  15. train_end_time=$(date -d "$end_date +1 day" +%Y%m%d)
  16. main() {
  17. # 增量训练模型
  18. while [ "$train_date" != "$train_end_time" ]; do
  19. echo "==================== 开始训练 $train_date 模型 ===================="
  20. if [ "$train_date" == 20240801 ]; then
  21. echo -e "\t\t 无效的数据分区: $train_date, 跳过"
  22. elif [ "$train_date" == "$begin_date" ]; then
  23. $HADOOP fs -text ${hdfs_path}/${train_date}/* | ${FM_TRAIN} -m ${MODEL_PATH}/${model_name}_${train_date}.txt -dim ${train_dim} -core 8
  24. else
  25. if [ "$train_date" == 20240801 ]; then
  26. yesterday=$(date -d "$train_date -2 day" +%Y%m%d)
  27. else
  28. yesterday=$(date -d "$train_date -1 day" +%Y%m%d)
  29. fi
  30. $HADOOP fs -text ${hdfs_path}/${train_date}/* | ${FM_TRAIN} -m ${MODEL_PATH}/${model_name}_${train_date}.txt -dim ${train_dim} -core 8 -im ${MODEL_PATH}/${model_name}_${yesterday}.txt
  31. fi
  32. echo -e "==================== 训练 $train_date 模型结束 ====================\n\n\n\n\n\n"
  33. train_date=$(date -d "$train_date +1 day" +%Y%m%d)
  34. done
  35. }
  36. main