文章来源:http://www.bkjia.com/yjs/892967.html
hive union all 使用,hiveunion
功能:将两个表中的 相同的字段拼接到一起 测试:
create external table IF NOT EXISTS temp_uniontest_ta ( a1 string, a2 string ) partitioned by (dt string) row format delimited fields terminated by '\t' stored as textfile; ALTER TABLE temp_uniontest_ta ADD IF NOT EXISTS PARTITION (dt = '2014-10-13') location '/temp/unionTest/ta/'; a1 a2 2014-10-13 b1 b2 2014-10-13 c1 c2 2014-10-13 create external table IF NOT EXISTS temp_uniontest_tb ( a1 string, a2 string ) partitioned by (dt string) row format delimited fields terminated by '\t' stored as textfile; ALTER TABLE temp_uniontest_tb ADD IF NOT EXISTS PARTITION (dt = '2014-10-13') location '/temp/unionTest/tb/'; d1 d2 2014-10-13 e1 e2 2014-10-13 select * from ( select a1,a2 from temp_uniontest_ta where dt = '2014-10-13' union all select a1,a2 from temp_uniontest_tb where dt = '2014-10-13' )tmp; a1 a2 b1 b2 c1 c2 d1 d2 e1 e2
sql 中union all有什用法
就是把2个具有相同列及数据类型的 结果 放到一起显示,并且不去重。
select a,b,c from table1
union all
select ca,cb,cc from table2
什情况下用union?什情况下用union all?
union与union all的区别是:
前者会把两个记录集中相同的记录合并,而后者不会,性能上前者优。如此一说,你知道什么时候用Union什么时候用Union All了吧。
当确认多个记录集不会存在相同记录,或者有可能有相同记录但明确要合并的,用Union
即使有相同记录也不合并的,用Union All