自动加载数据
#!/bin/bash
YESTERDAY=date -d '-1 days' +%Y%m%d
#定义日志数据目录,文件名称是在变化,不能写死
ACCESS_LOG_DIR=/opt/datas/access_logs/$YESTERDAY
定义HIVE_HOME
HIVE_HOME=/opt/modules/cdh/hive-0.13.1-cdh5.3.6
#2018063001.log
for FILE in ls $ACCESS_LOG_DIR
do
DAY=${FILE:0:8}
HOUR=${FILE:8:2}
#echo " ${DAY} -- ${HOUR} "
H I V E H O M E / b i n / h i v e − e " l o a d d a t a l o c a l i n p a t h ′ {HIVE_HOME}/bin/hive -e " load data local inpath ' HIVEHOME/bin/hive−e"loaddatalocalinpath′ACCESS_LOG_DIR/ F I L E ′ i n t o t a b l e l o a d h i v e . l o a d h p a r t i t i o n ( d a t e = ′ FILE' into table load_hive.load_h partition(date=' FILE′intotableloadhive.loadhpartition(date=′{DAY}’,hour=’${HOUR}’) "
done
$HIVE_HOME/bin/hive -e “show partitions load_hive.load_h”