需求:執(zhí)行周期性任務(wù)脏里,每天的晚上6點(diǎn),執(zhí)行自動(dòng)化腳本虹曙,載昨天的日志文件到HDFS迫横,同時(shí)分析網(wǎng)站的多維數(shù)據(jù)(PV,UV按照省份和小時(shí)數(shù)進(jìn)行分類(lèi)查詢(xún))最后將查詢(xún)的結(jié)果,存儲(chǔ)在一張臨時(shí)表中(表字段:date酝碳,hour矾踱,provinceId,pv疏哗,uv)存儲(chǔ)在HIVE中呛讲,并且將該臨時(shí)表中的所有數(shù)據(jù),存儲(chǔ)到MySQL中返奉,以供第二天后臺(tái)開(kāi)發(fā)人員的調(diào)用圣蝎,展示。
- 定時(shí)加載本地?cái)?shù)據(jù)到HDFS衡瓶,涉及到:auto.sh徘公,crontab
- 清洗數(shù)據(jù),打包jar哮针,定時(shí)執(zhí)行
/user/hive/warehouse/db_web_data.db/track_log/date=20150828/hour=18
part-000001
/user/hive/warehouse/db_web_data.db/track_log/date=20150828/hour=19
part-000001
- 建表track_log关面,也不需要建立現(xiàn)成的分區(qū)坦袍,臨時(shí)指定清洗好的數(shù)據(jù)作為倉(cāng)庫(kù)源
alter table track_log add partition(date='20150828',hour='18') location"/user/hive/warehouse/db_web_data.db/track_log/date=20150828/hour=18";
alter table track_log add partition(date='20150828',hour='18') location"/user/hive/warehouse/db_web_data.db/track_log/date=20150828/hour=19";
- 開(kāi)始分析想要的數(shù)據(jù),將結(jié)果存儲(chǔ)在Hive的臨時(shí)表中
- 創(chuàng)建臨時(shí)表:
create table if not exists temp_track_log(date string, hour string, provinceId string, pv string, uv string) row format delimited fields terminated by '\t';
- 向臨時(shí)表中插入數(shù)據(jù):
insert overwrite table 庫(kù)名.temp_track_log select date, hour, provinceId, count(url) pv, count(distinct guid) uv from track_log where date='20150828' group by date, hour, provinceId;
- 使用自定義的JAR等太,導(dǎo)入本地導(dǎo)出的文件到MySQL或者使用Sqoop捂齐。