1. 程式人生 > >通過csv檔案形式進行資料入倉的流程及指令碼

通過csv檔案形式進行資料入倉的流程及指令碼

1、將資料抽取插入到csv檔案,寫入到資料庫中
2、將csv檔案插入到目標資料庫(這裡以插入到postgresql為例):
首先在伺服器上寫連線pg資料指令碼,
在普通使用者home目錄下建立檔案:.pgpass,內容為ip:埠號:schema:name:pasdword
在檔案目錄下建立資料夾例如:Mysql2Gp,並在資料夾下建立cfg目錄,用來存放配置指令碼,在Mysql2Gp目錄下建立檔案write_to_gp111.sh ,內容為:
date
psql -d gsdw -h 資料庫ip -p 埠號 -U 使用者名稱 -f /home/gens/Mysql2Gp/cfg/$1
date
在cfg建立寫入資料庫指令碼xxxxx.sql:
truncate table table_name;
\COPY table_name(欄位名稱) from ‘/data/xxxxxxxx.csv’ delimiter ‘|’ csv header;
執行指令碼 sh write_to_gp111.sh xxxxx.sql即可寫入資料庫,注意:如果資料質量不高,可能會報錯,具體問題具體分析
3、新增排程任務(azkaban排程器)例如:
type=command
command= su - gens -c “sh /home/gens/Mysql2Gp/write_to_gp111.sh xxxxxx.sql”