#!/bin/sh start_date="" end_date="" feature_file="" if(($#==3)) then start_date=$1 end_date=$2 feature_file=$3 else exit -1 fi # env export HADOOP_CONF_DIR=/etc/taihao-apps/hadoop-conf export JAVA_HOME=/usr/lib/jvm/java-1.8.0 # params workers=16 minCnt=0 BASE_TRAIN_DATA_PATH=/dw/recommend/model/ad_display/sample MODEL_SAVE_PATH=/dw/recommend/model/ad_display/model/model_xgb # params train_data_path="" for((i=0; i<=21; i++)) do data_date=$(date -d "$start_date $i day" +"%Y%m%d") if [ "$data_date" -le "$end_date" ] then one_day_data_path="${BASE_TRAIN_DATA_PATH}/${data_date}" if [[ -z $train_data_path ]] then train_data_path=$one_day_data_path else train_data_path="$train_data_path,$one_day_data_path" fi fi done ## ******* train ******* set -x /opt/apps/SPARK3/spark-3.3.1-hadoop3.2-1.0.5/bin/spark-class org.apache.spark.deploy.SparkSubmit \ --class com.tzld.piaoquan.recommend.model.train_profile_gender_xgb_20251114 \ --master yarn --driver-memory 6G --executor-memory 10G --executor-cores 1 --num-executors ${workers} \ --conf spark.yarn.executor.memoryoverhead=2048 \ --conf spark.shuffle.service.enabled=true \ --conf spark.shuffle.service.port=7337 \ --conf spark.shuffle.consolidateFiles=true \ --conf spark.shuffle.manager=sort \ --conf spark.storage.memoryFraction=0.4 \ --conf spark.shuffle.memoryFraction=0.5 \ --conf spark.default.parallelism=200 \ --conf spark.sql.debug.maxToStringFields=100 \ --files ${feature_file} \ /mnt/disk1/jch/recommend-model/recommend-model-produce/target/recommend-model-produce-jar-with-dependencies.jar \ trainPath:${train_data_path} \ featureFile:${feature_file} \ minCnt:${minCnt} \ modelPath:${MODEL_SAVE_PATH} \ eta:0.06 gamma:0.0 max_depth:4 num_round:1000 num_worker:${workers}