在Hive中,我想创建一个包含另一个表列的表,但是用其中一个列进行分区。那可能吗?理想情况下,我想执行类似的操作:
CREATE TABLE if not exists new_table
LIKE old_table
PARTITIONED BY (col1 int)
现在这不会运行,因为在使用partitioned by
子句后我似乎无法添加like
。我正在寻找替代方案,因为我正在尝试编写通用函数,而无需专门解析或硬编码模式。
答案 0 :(得分:1)
我无法想出以一般方式在一个查询中执行此操作的方法。我最终使用describe old_table
读取模式,使用所述模式创建表,并使用密钥创建分区。然后,我遍历所有分区值和alter table
必要的分区。