欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

idmp计算任务shell脚本

程序员文章站 2022-03-05 10:09:05
...

idmp计算任务shell脚本

#!/bin/bash

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

#判断脚本是否传入的指定的数据日期
#只要[]里面有东西if 判断的就是这个变量是否为空,只要这个变量不为空就是个turr
#gt是大于的意思
if [ $# -gt 1 ]
then
date_day=$1
old_idmp_day=$2
else

#
#--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日志存在的路径
#第二个参数是web日志存在的路径
#第三个参数是wx日志存在的路径
#第四个参数是上一日的idmp映射字典的路径 
#第五各参数是今天的输出路径
#
##

#获取当前时间前一天的日期,必须是大Y,然后+后面没有空格!!!!
#date +'%Y-%m-%d'
#你要把一个命令赋值给一个变量,要用到飘``,你想打印一下看一下这个变量的值是echo ${data_day}
#shell中引用变量用${}
#获取当前一天的日期作为数据处理的日期
date_day=`date -d '-1 day' +'%Y-%m-%d'`
#获取当前两天的日期作为idmpde的目录日期
old_idmp_day=`date -d '-2 day' +'%Y-%m-%d'`

fi
#配置spark_home的目录
export SPARK_HOME=/usr/apps/spark-2.3.3-bin-hadoop2.7/

${SPARK_HOME}bin/spark-submit \
--master yarn \
--deploy-mode cluster \
--num-executors 3 \
--executor-memory 1g \
--executor-cores 1 \
--class cn.doitedu.dw.idmp.LogDataIdmpV2 \
/root/dw.jar /doit12/logdata/applog/${data_say} /doit12/logdata/weblog/${data_say} /doit12/logdata/wxlog/${data_say} /doit12/dicts/idmp/${old_idmp_day}/ /doit12/dicts/idmp/${data_say}/ yarm


#然后就是执行这个程序如果这个程序退出码是个0就说明正常执行,如果退出码是其他则不正常执行
#我们判断的标准就是echo $? (退出码)
if [ $? != 0 ]
then 
echo '不好了,大人...出了点莫名奇妙的问题;;;;;;;'
else
echo 'idmapping 计算成功'
fi
相关标签: 大数据 大数据