01_ad_model_update.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/sh
  2. set -x
  3. # source /root/anaconda3/bin/activate py37
  4. sh_path=$(dirname $0)
  5. source ${sh_path}/00_common.sh
  6. export SPARK_HOME=/opt/apps/SPARK2/spark-2.4.8-hadoop3.2-1.0.8
  7. export PATH=$SPARK_HOME/bin:$PATH
  8. export HADOOP_CONF_DIR=/etc/taihao-apps/hadoop-conf
  9. export JAVA_HOME=/usr/lib/jvm/java-1.8.0
  10. # 全局常量
  11. HADOOP=/opt/apps/HADOOP-COMMON/hadoop-common-current/bin/hadoop
  12. TRAIN_PATH=/dw/recommend/model/31_ad_sample_data_v4/
  13. BUCKET_FEATURE_PATH=/dw/recommend/model/33_ad_train_data_v4/
  14. TABLE=alg_recsys_ad_sample_all
  15. # 训练用的数据路径
  16. train_data_path=""
  17. # 评估用的数据路径
  18. predict_date_path=""
  19. init() {
  20. local today_early_1="$(date -d '1 days ago' +%Y%m%d)"
  21. predict_date_path=${BUCKET_FEATURE_PATH}/${today_early_1}
  22. local count=1
  23. # 循环获取前 n 天的非节日日期
  24. while [[ $count -lt 8 ]]; do
  25. date_key=$(date -d "$today_early_1 -${count} day" +%Y%m%d)
  26. # 判断是否是节日,并拼接训练数据路径
  27. if [ $(is_not_holidays $date_key) -eq 1 ]; then
  28. if [[ -z ${train_data_path} ]]; then
  29. train_data_path="${BUCKET_FEATURE_PATH}/${date_key}"
  30. else
  31. train_data_path="${BUCKET_FEATURE_PATH}/${date_key},${train_data_path}"
  32. fi
  33. count=$((count + 1))
  34. else
  35. echo "日期: ${date_key}是节日,跳过"
  36. fi
  37. done
  38. echo "train_data_path: ${train_data_path}"
  39. echo "predict_date_path: ${predict_date_path}"
  40. }
  41. # xgb_train() {
  42. # }
  43. # 主方法
  44. main() {
  45. init
  46. }
  47. main