将数据从一个分区表复制到另一个新分区表

sqougxex  于 2022-09-27  发布在  Hive
关注(0)|答案(1)|浏览(628)

需要将数据从一个分区表复制到另一个新分区表尝试了此方法,但不起作用

create table if not exists box_db.table_1 partitioned by (sch_ky, at_ky, date) as select * from sand_db.table_2

也尝试过

create table box_db.table_1 (id bigint, sch_val int, at_val int) partitioned by (sch_ky int, at_ky int, date string)

并将数据插入其中

insert into box_db.table_1 select * from sand_db.table_2

但两者都不起作用

llew8vvj

llew8vvj1#

用新的分区值创建表。然后,要插入到分区表中,您需要-
1.如果要在具有动态分区的表中插入,请提及分区列。

insert into box_db.table_1 partition(id, sch_val, at_val) select ..., id,sch_val, at_val from sand_db.table_2 -- make sure  last columns matches to last columns in select clause

或者2.如果要使用静态分区在表中插入,请提及分区值。

insert into box_db.table_1 partition(id=1, sch_val=2, at_val=3) select ...  from sand_db.table_2 -- make sure  all columns in select matches to the columns in table

相关问题