Hive 'create table like' 不包括分区列
Posted
技术标签:
【中文标题】Hive \'create table like\' 不包括分区列【英文标题】:Hive 'create table like' without including partition columnsHive 'create table like' 不包括分区列 【发布时间】:2016-06-13 23:19:18 【问题描述】:假设我这样创建 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 );
感谢您的帮助!
【问题讨论】:
使用 describe tableName 命令;编辑输出:剪切分区信息 【参考方案1】:您可以在 hive 中使用 CTAS(Create table as Select)。
create table tbl2 as select * from tbl1
即使 tbl1 拥有分区,这也不会在 tbl2 中创建任何分区。唯一的限制是如果没有选择,您将无法创建结构。
【讨论】:
【参考方案2】:分区列也是表中的列之一。 如果您只需要 3 列(col_a、col_b、col_c),则需要在 Avinash 回答的查询中明确提及它们。
create table tbl2 as select col_a, col_b, col_c from tbl1;
【讨论】:
以上是关于Hive 'create table like' 不包括分区列的主要内容,如果未能解决你的问题,请参考以下文章
create table as 和create table like的区别
MySQL create table as与create table like对比
MySQL create table as与create table like对比
CREATE TABLE...LIKE 不保留 Redshift 中的主键