#!/bin/sh feature_file="" year="" if(($#==2)) then feature_file=$1 year=$2 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=10 BASE_TRAIN_DATA_PATH=/dw/recommend/model/user_profile/gender/sample/train MODEL_SAVE_PATH=/dw/recommend/model/user_profile/gender/model/model_xgb train_data_path="" suffix_array=(y 8 4 0 e a c k o w g s u q) for suffix in "${suffix_array[@]}" do one_day_data_path="${BASE_TRAIN_DATA_PATH}/${year}_$suffix" 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 done ## ******* train ******* /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}