01_ad_model_update.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. local current_data="$(date -d '2 days ago' +%Y%m%d)"
  24. # 循环获取前 n 天的非节日日期
  25. while [[ $count -lt 8 ]]; do
  26. date_key=$(date -d "$current_data" +%Y%m%d)
  27. # 判断是否是节日,并拼接训练数据路径
  28. if [ $(is_not_holidays $date_key) -eq 1 ]; then
  29. if [[ -z ${train_data_path} ]]; then
  30. train_data_path="${BUCKET_FEATURE_PATH}/${date_key}"
  31. else
  32. train_data_path="${BUCKET_FEATURE_PATH}/${date_key},${train_data_path}"
  33. fi
  34. count=$((count + 1))
  35. else
  36. echo "日期: ${date_key}是节日,跳过"
  37. fi
  38. current_data=$(date -d "$current_date -1 day" +%Y-%m-%d)
  39. done
  40. echo "train_data_path: ${train_data_path}"
  41. echo "predict_date_path: ${predict_date_path}"
  42. }
  43. # xgb_train() {
  44. # }
  45. # 主方法
  46. main() {
  47. init
  48. }
  49. main