hive,sqoop定时执行脚本举例

hive:

#! /bin/sh 
date="$1" 
enddate=`date -d "+1 day $2" +%Y-%m-%d` 
while [[ $date < $enddate  ]]   
do 
    echo "${date} HIVE 数据处理开始..." 
hive -e " 
#set mapred.reduce.tasks=2; 
load data inpath '/media/${date}/result/part-r-00000' into table tvdata; 
  
insert overwrite table result_column_min partition (tvdate='${date}') select 
tvcolumn,tvmin,avgnum,reachnum,tvrating,reachrating,marketshare from tvdata where tvdate='${date}';  
insert overwrite table result_column_hour partition (tvdate='${date}') select 
tvcolumn,concat(substr(tvmin,0,2),':00'),sum(avgnum)/count(*),sum(reachnum)/count(*),sum(tvrating)/count(*),sum(reach
rating)/count(*),sum(marketshare)/count(*) from result_column_min where tvdate='${date}'  
group by  tvcolumn,  concat(substr(tvmin,0,2),':00');  
insert overwrite table result_column_day partition (tvdate='${date}') select 
tvcolumn,sum(avgnum)/count(*),sum(reachnum)/count(*),sum(tvrating)/count(*),sum(reachrating)/count(*),sum(marketsh
are)/count(*) from result_column_min where tvdate='${date}' group by tvcolumn; 
exit; 
" 
 date=`date -d "+1 day $date" +%Y-%m-%d` 
 echo "${date} HIVE 数据处理结束..." 
done

sqoop:

#! /bin/sh 
date="$1" 
enddate=`date -d "+1 day $2" +%Y-%m-%d` 
while [[ $date < $enddate  ]]   
do 
    echo "${date} SQOOP 数据处理开始..." 
 sqoop export --connect jdbc:mysql://db.dajiangtai.net:3306/djtdb_tv --username username --password pwd  --table 
result_column_min --export-dir /user/hive/warehouse/result_column_min/mediadate=$date --input-fields-terminated-by 
'@'; 
 sqoop export --connect jdbc:mysql://db.dajiangtai.net:3306/djtdb_tv --username username --password pwd  --table 
result_column_hour --export-dir /user/hive/warehouse/result_column_hour/tv_date_min=$date 
--input-fields-terminated-by '@'; 
 sqoop export --connect jdbc:mysql://db.dajiangtai.net:3306/djtdb_tv --username username --password pwd  --table  
result_column_day --export-dir /user/hive/warehouse/result_column_day/tv_date_min=$date 
--input-fields-terminated-by '@'; 
 date=`date -d "+1 day $date" +%Y-%m-%d` 
 echo "${date} SQOOP 数据处理结束..." 
done


转载于:https://my.oschina.net/firstBlooded/blog/646970

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值