定時將資料匯入到hive的shell指令碼
每日定時匯入hive資料倉儲的自動化指令碼
建立shell指令碼,建立臨時表,裝載資料,轉換到正式的分割槽表中:
- #!/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/logs/tracklog_192.168.1.1/${yesterday}/${yesterday}????.dat\' overwrite into table tracklog_tmp;
- insert into table tracklog PARTITION (day=\'${yesterday}\') select * from tracklog_tmp;
- load data local inpath \'/diskg/logs/tracklog_192.168.1.2/${yesterday}/${yesterday}????.dat\' overwrite into table tracklog_tmp;
- insert into table tracklog PARTITION (day=\'${yesterday}\') select * from tracklog_tmp;
- load data local inpath \'/diskg/logs/tracklog_192.168.1.3/${yesterday}/${yesterday}????.dat\' overwrite into table tracklog_tmp;
- insert into table tracklog PARTITION (day=\'${yesterday}\') select * from tracklog_tmp;
- load data local inpath \'/diskg/logs/trackloguc_192.168.1.1/${yesterday}/${yesterday}????.dat\' overwrite into table tracklog_tmp;
- insert into table tracklog PARTITION (day=\'${yesterday}\') select * from tracklog_tmp;
- load data local inpath \'/diskg/logs/trackloguc_192.168.1.2/${yesterday}/${yesterday}????.dat\' overwrite into table tracklog_tmp;
- insert into table tracklog PARTITION (day=\'${yesterday}\') select * from tracklog_tmp;
- load data local inpath \'/diskg/logs/trackloguc_192.168.1.3/${yesterday}/${yesterday}????.dat\' overwrite into table tracklog_tmp;
- insert into table tracklog PARTITION (day=\'${yesterday}\') select * from tracklog_tmp;
- \"
- hive -e \"
- use stage;
- drop table tracklog_tmp ;\"
在crontab中加入定時任務:
crontab -e
加入如下程式碼:
#import tracklog
25 07 * * * /opt/bin/hive_opt/import_tracklog.sh
原文:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-1649771/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料匯入shell指令碼(下)指令碼
- Sqoop將MySQL資料匯入到hive中OOPMySqlHive
- 將資料匯入kudu表(建立臨時hive表,從hive匯入kudu)步驟Hive
- 【HIVE】hive 使用shell指令碼跑歷史資料Hive指令碼
- 資料匯出shell指令碼(上)指令碼
- Shell指令碼匯入外部指令碼內容指令碼
- Oracle資料匯入到Hive資料庫的操作方法OracleHive資料庫
- 自動定時備份 mysql 資料庫 的 shell 指令碼MySql資料庫指令碼
- shell,ant指令碼實現自動資料泵(exp.expdp)匯出匯入資料指令碼
- [shell]shell指令碼實現每天自動抽取資料插入hive表指令碼Hive
- 【匯入匯出】將資料匯入到其他使用者
- HIVE資料匯入基礎Hive
- hive streaming 使用shell指令碼Hive指令碼
- Hive學習筆記 4 Hive的資料匯入Hive筆記
- hive資料倉儲匯入資料的方法Hive
- mysql定時備份shell指令碼MySql指令碼
- Excel匯入Sqlserver資料庫指令碼ExcelSQLServer資料庫指令碼
- 從hive將資料匯出到mysql(轉)HiveMySql
- 將Mysql資料匯入到ElasticSearch叢集MySqlElasticsearch
- 將資料從文字匯入到mysql(轉)MySql
- Elasticsearch批量匯入資料指令碼(python)Elasticsearch指令碼Python
- odps平臺將資料匯入到hdfs
- Mysql定時備份資料指令碼MySql指令碼
- pl/sql developer將excel資料匯入到資料庫中SQLDeveloperExcel資料庫
- 資料匯入終章:如何將HBase的資料匯入HDFS?
- 小白的資料進階之路(上)——從Shell指令碼到MapReduce指令碼
- Hive資料匯出Hive
- Oracle expdp/impdp匯入匯出備份資料庫指令碼Oracle資料庫指令碼
- sqoop用法之mysql與hive資料匯入匯出OOPMySqlHive
- Nebula Exchange 工具 Hive 資料匯入的踩坑之旅Hive
- 如何將外部資料庫 匯入到系統的SQL中資料庫SQL
- php匯入時設定不同的編碼PHP
- Hive資料匯入HBase引起資料膨脹引發的思考Hive
- mysqldump壓縮備份匯出匯入(含定期備份shell指令碼)MySql指令碼
- 將informix匯出的文字資料匯入oracle資料庫ORMOracle資料庫
- mysql資料庫之間、table增量匯入指令碼MySql資料庫指令碼
- [ Shell ] 通過 Shell 指令碼匯出 CDL 網表指令碼
- MySQL Shell import_table資料匯入MySqlImport