idmp计算任务shell脚本

idmp计算任务shell脚本

#!/bin/bash

############################################
#
#   author: hunter.d
#   date  : 2020-02-01
#   desc  : idmp计算任务执行脚本
#
############################################  


# 判断脚本是否传入了指定的数据日期
if [ $# -gt 1 ]
then
DATA_DAY=$1
OLD_IDMP_DAY=$2
else
#获取当前时间前一天的日期,必须是大Y,然后+后面没有空格!!!!
#date +'%Y-%m-%d'
#你要把一个命令赋值给一个变量,要用到飘``,你想打印一下看一下这个变量的值是echo ${data_day}
#shell中引用变量用${}
#获取当前一天的日期作为数据处理的日期
DATA_DAY=`date -d'-1 day' +'%Y-%m-%d'`
#获取当前两天的日期作为idmpde的目录日期
OLD_IDMP_DAY=`date -d'-2 day' +'%Y-%m-%d'`
fi



#spark的环境配置路径
export SPARK_HOME=/usr/apps/spark-2.3.3-bin-hadoop2.7/



#
#--master yarn\ 在yarn上执行
#--deploy-mode cluster\ 调配模式为集群
#--num-executors 3 \ 有3台机器线程同时执行
#--executor-memory 1 \用1g去执行
#--executor-cores 1 \用1核去执行
#--class cn.doitedu.dw.idmp.LogDataIdmpV2 \你要运行的类的名字reference(全类名)
#下一个说明是jar包的路径 
#第一个参数是app日志存在的hdfs路径
#第二个参数是web日志存在的hdfs路径
#第三个参数是wx日志存在的hdfs路径
#第四个参数是上一日的idmp映射字典的hdfs路径 
#第五个参数是今天的输出hdfs路径
#
#
${SPARK_HOME}bin/spark-submit  \
--master yarn \
--deploy-mode cluster \
--num-executors 4 \
--executor-memory 1g \
--executor-cores 1 \
--class cn.doitedu.dw.idmp.LogDataIdmpV2  \
/root/dw.jar /doit12/logdata/applog/${DATA_DAY} /doit12/logdata/weblog/${DATA_DAY} /doit12/logdata/wxlog/${DATA_DAY} /doit12/dicts/idmp/${OLD_IDMP_DAY}/ /doit12/dicts/idmp/${DATA_DAY}/ yarn



if [ $? -ne 0 ]
then
echo '不好了.....出了点莫名其妙的问题.....'
else
echo 'idmping计算successfully completed!'
fi
发布了48 篇原创文章 · 获赞 11 · 访问量 1534

猜你喜欢

转载自blog.csdn.net/weixin_45896475/article/details/104211049