2017-05-23 5 views
0

UNIONに含まれるいずれのテーブルよりも2つのテーブルのUNIONのテーブルが小さいのはなぜですか?HiveQL:ユニオンテーブルがどちらのコンポーネントテーブルよりも小さい

CREATE TABLE adb.table4 STORED AS ORC AS 
SELECT a.* 
FROM adb.table2 a 
UNION 
SELECT b.* 
FROM adb.table3 b; 

hive> SELECT COUNT(1) FROM adb.table4; 
15,961,225 
Time taken: 0.084 seconds, Fetched: 1 row(s) 

hive> SELECT COUNT(1) FROM adb.table2; 
70,152,930 
Time taken: 0.085 seconds, Fetched: 1 row(s) 

hive> SELECT COUNT(1) FROM adb.table3; 
39,384,833 
+2

です。なぜなら、 'union'は重複をなくして1つを保持するからです。 –

答えて

-1

あなたは違いがあります....

を "連合ALL" だけではなく、連合を試してみてください。記憶が私に正しく役立つなら。 Unionは、両方の場所でテーブルが見つかった場合にのみ返します。すべてのフィールド名に一致するかどうかに関わらず、いずれのソースからでもすべてが取得されます。

関連する問題