每日定時匯入hive資料倉儲的自動化指令碼

2021-07-05 19:49:04 字數 3105 閱讀 7414

[author]: kwu 

每日定時匯入hive資料倉儲的自動化指令碼

建立shell指令碼,建立臨時表,裝載資料,轉換到正式的分割槽表中:

[plain]view plain

copy

#!/bin/sh  

# upload logs to hdfs  

yesterday=`date --date='1 days ago' +%y%m%d`  

hive -e "  

use stage;  

create table tracklog_tmp (  

dateday string,  

datetime string,  

ip string ,  

cookieid string,  

userid string,  

logserverip string,  

referer string,  

requesturl string,  

remark1 string,  

remark2 string,  

alexaflag string,  

ua string,  

wirelessflag string  

)  row format delimited fields terminated by ' ';"  

hive -e "  

use stage;  

set hive.enforce.bucketing=true;  

set hive.exec.compress.output=true;  

set mapred.output.compress=true;  

set mapred.output.compression.codec=org.apache.hadoop.io.compress.gzipcodec;  

set io.compression.codecs=org.apache.hadoop.io.compress.gzipcodec;  

load data local inpath '/diskg/hexunlogs/tracklog_10.0.251.146/$/$??.dat' overwrite into table tracklog_tmp;  

insert into table tracklog partition (day='$')  select  *  from tracklog_tmp;  

load data local inpath '/diskg/hexunlogs/tracklog_10.0.121.74/$/$??.dat' overwrite into table tracklog_tmp;  

insert into table tracklog partition (day='$')  select  *  from tracklog_tmp;  

load data local inpath '/diskg/hexunlogs/tracklog_10.0.190.13/$/$??.dat' overwrite into table tracklog_tmp;  

insert into table tracklog partition (day='$')  select  *  from tracklog_tmp;  

load data local inpath '/diskg/hexunlogs/trackloguc_10.0.251.146/$/$??.dat' overwrite into table tracklog_tmp;  

insert into table tracklog partition (day='$')  select  *  from tracklog_tmp;  

load data local inpath '/diskg/hexunlogs/trackloguc_10.0.121.74/$/$??.dat' overwrite into table tracklog_tmp;  

insert into table tracklog partition (day='$')  select  *  from tracklog_tmp;  

load data local inpath '/diskg/hexunlogs/trackloguc_10.0.190.13/$/$??.dat' overwrite into table tracklog_tmp;  

insert into table tracklog partition (day='$')  select  *  from tracklog_tmp;  

"  hive -e "  

use stage;  

drop table tracklog_tmp ;"  

hive -e "  

set hive.enforce.bucketing=true;  

set hive.exec.compress.output=true;  

set mapred.output.compress=true;  

set mapred.output.compression.codec=org.apache.hadoop.io.compress.gzipcodec;  

set io.compression.codecs=org.apache.hadoop.io.compress.gzipcodec;  

insert into table ods.tracklog partition (day='$') select  dateday, datetime,ip,cookieid,userid, logserverip,referer,  

requesturl ,remark1,remark2,alexaflag,ua,wirelessflag from stage.tracklog where  day='$' and length(datetime)=12 ;"  

在crontab中加入定時任務

crontab -e 

加入如下**

#import tracklog

25  07 * * * /opt/bin/hive_opt/import_tracklog.sh

重新整理定時任務的配置

/sbin/service crond reload

Hive 資料倉儲

hive命令列模式 1 進入bin 執行.hiv 2 配置hive環境變數,直接執行命令 hive service cli 或 hive hive的web模式 執行hive service hwi 啟動後訪問http master 9999 hwi hive的遠端服務 預設埠 10000,執行啟動命...

資料倉儲Hive

資料倉儲是乙個面向主題的 整合的 相對穩定的 反映歷史變化的資料集合,用於支援管理決策。根本目的是為了支援企業內部的商業分析和決策,基於資料倉儲的分析結果,做出相關的經營決策.資料倉儲中的資料比較穩定,保留了大量歷史資料 而資料庫只儲存某一時刻的資料.對於傳統資料倉儲來說,既是資料儲存產品也是分析產...

資料倉儲Hive

乙個公司裡面不同專案可能用到不同的資料來源,有的存在mysql裡面,又的存在mongodb裡面,甚至還有些要做第三方資料。但是現在又想把資料整合起來,進行資料分析。此時資料倉儲 data warehouse,dw 就派上用場了。它可以對多種業務資料進行篩選和整合,可以用於資料分析 資料探勘 資料包表...