2016-07-27 39 views
0

我有一個蜂巢查詢,看起來像這樣:如何刪除查詢中列名中的表名?

set hive.cli.print.header=true; 
select x1, x2, x3 from table1 
union all 
select x1, x2, x3 from table2 

的問題是,蜂巢自動添加一個新的表名的列名,因此結果中列名看起來像這樣:

_u1.x1 _u1.x2 _u1.x3 

我不想要「_u1」。我怎麼能簡單地保持列名:

x1 x2 x3 

回答

0
select x1, x2, x3 from 
(select x1, x2, x3 from table1 
union all 
select x1, x2, x3 from table2) as test; 

前:

select order_id,order_date from orders limit 1 
union all 
select order_id,order_date from orders limit 1; 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
_u1.order_id _u1.order_date 
1 2013-07-25 00:00:00.0 
1 2013-07-25 00:00:00.0 

後:

select order_id, order_date from 
(select order_id,order_date from orders limit 1 
union all 
select order_id,order_date from orders limit 1) as test; 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
order_id order_date 
1 2013-07-25 00:00:00.0 
1 2013-07-25 00:00:00.0 
+0

比ks,但可以直接重新定義列名稱嗎?沒有添加一行新的選擇.... – lserlohn

+0

不,沒有任何這樣的選項,據我所知。 –