shell定时执行hive脚本文件

#! /bin/bash
###############################
# 调用格式
# 脚本名称 [yyyymmdd]
# 日期参数可选,默认是系统日期-1
##############################

dt=''
table=test001

#获取系统当前时间
sysdate=`date +%Y%m%d`

##获取昨天的时间
yesterday=`date -d yesterday +%Y%m%d`

##数据文件地址
file_path=/usr/local/devTools/hive/data/


if [ $# -eq 1 ]; then
    dt=$1
elif [ $# -eq 0 ]; then
    dt=${yesterday}
else
    echo '非法参数'
exit 1
fi


filename=${file_path}${table}'_'$dt'.txt'
if [ ! -e ${filename} ];then
    echo ${filename}'文件不存在'
    exit 1
fi


hive<<EOF
load data local inpath '${filename}' overwrite into table default.${table}
EOF
if [ $? -eq 0 ]; then
  echo $dt "${table}加载成功!"
else
  echo "${table} 加载时报"
fi
相关文章
相关标签/搜索