2016-03-08 45 views
1

如何從許多Hive表創建新的Hive表?我使用JSON字符串來創建原始表,不確定如何創建新表。如何從許多Hive表創建一個新的Hive表?我使用JSON字符串來創建原始表,不知道如何創建新表。

create table Bank_F001_table as 
select 
    get_json_object(Bank_F001.json, '$.text') as text, 
    get_json_object(Bank_F001.json, '$.coordinates') as coordinates, 
    get_json_object(Bank_F001.json, '$.user.location') as location, 
    get_json_object(Bank_F001.json, '$.lang') as lang, 
    get_json_object(Bank_F001.json, '$.user_mentions') as user_mentions, 
    get_json_object(Bank_F001.json, '$.user.screen_name') as screen_name, 
    get_json_object(Bank_F001.json, '$.user.name') as name, 
    get_json_object(Bank_F001.json, '$.listed_count') as listed_count, 
    get_json_object(Bank_F001.json, '$.in_reply_to_user_id_str') as in_reply_to_user_id_str 
from Bank_F001; 

只是想添加,我用UNION ALL來選擇成功解決的屬性。但我無法創建一個新的表格用於其他活動。奇怪的是,我也試過UNION(不是全部),Hive告訴我我需要使用ALL。 這是我的選擇代碼....

select * 
from BMO_F016_table 
union all 
select * 
from BMO_F017_table 
union all 
select * 
from BMO_F018_table 
union all 
select * 
from BMO_F054_table) as large_table 
group by screen_name 
order by cnt desc; 

回答

0

出於某種原因,它不工作,但我理解了它......如果你有興趣,在這裏你去...

CREATE TABLE BMO_Table as 
SELECT * 
FROM BMO_F016_table 
UNION ALL 
SELECT * 
FROM BMO_F017_table 
UNION ALL 
SELECT * 
FROM BMO_F018_table 
UNION ALL 
SELECT * 
FROM BMO_F054_table 
UNION ALL 
SELECT * 
FROM BMO_F093_table 
;