我需要创建一个“工作表”从我们的Hivedlk。我可以使用:
create table my_table as select * from dlk.big_table
很好,我在继承分区(属性)方面有问题 day , month 以及 year )从原来的“大表”或只是从这些属性创建新的。搜索网页并没有真正帮助我回答这个问题-所有的“教程”或解决方案都涉及这两个问题 create as select 或者创建分区,而不是两者兼而有之。这里有人能帮忙吗?
day
month
year
create as select
slmsl1lt1#
不支持将分区表创建为select。您可以分两步进行: create table my_table like dlk.big_table; 这将创建具有相同架构的表。加载数据。set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; insert overwrite table my_table partition (day, month, year) select * from dlk.big_table;
create table my_table like dlk.big_table;
insert overwrite table my_table partition (day, month, year) select * from dlk.big_table;
1条答案
按热度按时间slmsl1lt1#
不支持将分区表创建为select。您可以分两步进行:
create table my_table like dlk.big_table;
这将创建具有相同架构的表。加载数据。
set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict;
insert overwrite table my_table partition (day, month, year) select * from dlk.big_table;