创建一个像另一个hive表但按键

时间:2018-01-20 03:44:54

标签: sql hadoop hive partitioning

在Hive中,我想创建一个包含另一个表列的表,但是用其中一个列进行分区。那可能吗?理想情况下,我想执行类似的操作:

CREATE TABLE if not exists new_table
LIKE old_table
PARTITIONED BY (col1 int)

现在这不会运行,因为在使用partitioned by子句后我似乎无法添加like。我正在寻找替代方案,因为我正在尝试编写通用函数,而无需专门解析或硬编码模式。

1 个答案:

答案 0 :(得分:1)

我无法想出以一般方式在一个查询中执行此操作的方法。我最终使用describe old_table读取模式,使用所述模式创建表,并使用密钥创建分区。然后,我遍历所有分区值和alter table必要的分区。