#! /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