需求:
需要對hive表中的資料進行操作,比如說讀取a表中的資料,寫入b表
學習的時候,我發現了有三個方案
1 使用表輸入讀取,再使用表輸出寫入
2 使用表輸入讀取,再使用Hadoop File Output輸出到檔案,之後再将檔案和表進行關聯
3 直接使用 執行SQL腳本,使用腳本讀取表,并建立表
第一種方案,存在問題,寫入資料,每寫一條都會建立一個mr任務,不知道是我設定的問題,搜尋了,沒有解決方案。
第二種理論上應該是可行性的,但是對比第三種,感覺要複雜了點,
第三種隻能操作hive裡面的表,如果需要同步其他環境的表,可以先同步再操作。
方案3:
1添加資料庫連接配接
2設定執行SQL腳本
drop table tmp.o_spidertw_mgj_gmv_tmp;
create table tmp.o_spidertw_mgj_gmv_tmp stored as orc as
select * from default.o_spidertw_mgj_gmv
這裡還有參數可以設定,應該是可以對sql添加參數,具體實作的話可以嘗試一下