[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 就派上用場了。它可以對多種業務資料進行篩選和整合,可以用於資料分析 資料探勘 資料包表...