把hdfs上面的文件定时导入到hive里面

创建分区表

CREATE external TABLE ext_startup_logs(
userId string,
appPlatform string,
appId string,
startTimeInMs bigint,
activeTimeInMs bigint,
appVersion string,
city string)
PARTITIONED BY (y string, m string,d string) 
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' 
STORED AS TEXTFILE;

定时脚本

systime=`date -d "-3 minute" +%Y-%m-%d-%H%M`
y=`echo ${systime} | awk -F '-' '{print $1}'`
m=`echo ${systime} | awk -F '-' '{print $2}'`
d=`echo ${systime} | awk -F '-' '{print $3}'`
hm=`echo ${systime} | awk -F '-' '{print $4}'`
/opt/module/hive-1.2.1/bin/hive -e "load data inpath '/${y}/${m}/${d}/${hm}' into table applogs_db.ext_startup_logs partition(y='${y}',m='${m}',d='${d}')"

注意:

1、为了避免把还在写入的文件导入到hive表里面,设置获取3分中前的文件,(文件按分钟滚动)

2、导入到hive表中后,原文件就没有了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值