01_ad_model_update.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. predict_date_path=${BUCKET_FEATURE_PATH}/${today_early_1}
  21. local count=1
  22. local today_early_1="$(date -d '1 days ago' +%Y%m%d)"
  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_holidays $date_key) -ge 0 ]; then
  28. # 如果不是节日,添加到数组中
  29. train_data_path="${BUCKET_FEATURE_PATH}/${date_key},${train_data_path}"
  30. count=$((count + 1))
  31. else
  32. echo "日期: ${date_key}是节日,跳过"
  33. fi
  34. done
  35. echo "train_data_path: ${train_data_path}"
  36. echo "predict_date_path: ${predict_date_path}"
  37. }
  38. # 主方法
  39. main() {
  40. init
  41. }
  42. main