如何从许多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 :(得分: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
;