例如如下語句 insert into table1 partition(xxx=xxx) select * from table2即使數據只有兩三條,也要2分鐘,這是為什么?
1 回答

慕容708150
TA貢獻1831條經驗 獲得超4個贊
你可以這樣查看hive的執行計劃:
> explain insert into t2 select value from t; OK Plan optimized by CBO. Stage-3 Stats-Aggr Operator Stage-0 Move Operator table:{"name:":"default.t2"} Stage-2 Dependency Collection{} Stage-1 Map 1 File Output Operator [FS_2] table:{"name:":"default.t2"} Select Operator [SEL_1] (rows=3 width=1) Output:["_col0"] TableScan [TS_0] (rows=3 width=1) default@t,t,Tbl:COMPLETE,Col:NONE,Output:["value"]
Hive的執行要轉化成若干步map-reduce的過程,而且可能要在多個節點間通信,所以即便很少的數據可能也是費了半天勁才執行出來的。就是說hive是為了處理大數據的,對于小數據的處理并不是優勢。
添加回答
舉報
0/150
提交
取消