• Spark 任务提交脚本


    说明

    该脚本是根据输入起始日期-结束日期,执行从数据库拉取日期间隔数据到HDFS。日期间隔中的日期就是每一年的自然日。

    日期格式可以是以下几种:
    2018-01-01 2018-12-31  [-][/][.]['']
    2018/01/01 2018/12/31    [-][/][.]['']
    20180101 20181231       [-][/][.]['']

    代码片段

    if [[ $# -le 2 || $# -gt 3 ]]; then
        echo "Usage: $0 2018-01-01 2018-12-31 or $0 2018/01/01 2018/12/31 or $0 20180101 20181231 [-][/][.]['']"
        exit 1
    fi
    
    START_DAY=$(date -d "$1" +%s)
    END_DAY=$(date -d "$2" +%s)
    SPLITER=${3}
    
    declare -a DATE_ARRAY
    
    function getDateRange 
    {
        if [[ $# -ne 3 ]]; then
            echo "Usage: getDateRange 2018-01-01 2018-12-31 or getDateRange 2018/01/01 2018/12/31 or getDateRange 20180101 20181231 [-][/][.]['']"
            exit 1
        fi
        
        START_DAY_TMP=${1}
        END_DAY_TMP=${2}
        SPLITER_TMP=${3}
        I_DATE_ARRAY_INDX=0
        
        while (( "${START_DAY_TMP}" <= "${END_DAY_TMP}" )); do
            cur_day=$(date -d @${START_DAY_TMP} +"%Y${SPLITER_TMP}%m${SPLITER_TMP}%d")
            DATE_ARRAY[${I_DATE_ARRAY_INDX}]=${cur_day}
            
            START_DAY_TMP=$((${START_DAY_TMP}+86400))
            ((I_DATE_ARRAY_INDX++))
            
        done
    }
    
    getDateRange "${START_DAY}" "${END_DAY}" "${SPLITER}"
    
    . /etc/profile.d/custom.sh 
    
    for SINGLE_DAY in ${DATE_ARRAY[@]};
    do

      #replace your task command in this line echo `spark-submit --master yarn --deploy-mode client --packages "mysql:mysql-connector-java:6.0.6" --num-executors 4 --executor-memory 4G --class "com.cm.data.datasync.ReadLogDb2HDFS" /home/ubuntu/target/data_analysis-1.0.1.jar order_log_${SINGLE_DAY} 4` done exit 0

    下载地址:Shell

    最后奉送 nohub 方式命令 ./spark_submit_script.sh 20180101 20180823 '' > spark_task_2018.out 2>&1 &

    一样的颜色的地方可以使用 [-][/][.][''] 替换

  • 相关阅读:
    【BZOJ1486】最小圈(分数规划)
    【BZOJ4753】最佳团体(分数规划,动态规划)
    【POJ3621】【洛谷2868】Sightseeing Cows(分数规划)
    【POJ2728】Desert King(分数规划)
    【POJ2976】Dropping Tests(分数规划)
    【BZOJ4520】K远点对(KD-Tree)
    【BZOJ3991】寻宝游戏(动态规划)
    【BZOJ4066】简单题(KD-Tree)
    KD-Tree
    【BZOJ2648】SJY摆棋子(KD-Tree)
  • 原文地址:https://www.cnblogs.com/chwilliam85/p/9518809.html
Copyright © 2020-2023  润新知