hive'create table like'不包含分区列

mi7gmzs6  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(1046)

假设我这样创建tbl1:

create table tbl1 (
    col_a STRING,
    col_b STRING,
    col_c STRING )
partitioned by (col_d STRING);

有没有一种简写的方法来创建tbl2—一个列与tbl1相同的表,但不按任何内容进行分区(也不包括分区列)。tbl2手动ddl为:

create table tbl2 (
    col_a STRING,
    col_b STRING,
    col_c STRING );

谢谢你的帮助!

yrdbyhpb

yrdbyhpb1#

您可以在hive中使用cta(createtable as select)。

create table tbl2 as select * from tbl1

这将不会在tbl2中创建任何分区,即使tbl1持有该分区。唯一的限制是如果没有out select,您将无法创建该结构。

jljoyd4f

jljoyd4f2#

分区列也是表中的一列。如果只需要3列(col\u a、col\u b、col\u c),则需要在avinash回答的查询中显式地提到它们。

create table tbl2 as select col_a, col_b, col_c from tbl1;

相关问题