如何创建分区表'喜欢'一个带Hive HQL的未分区表?

时间:2015-03-31 17:54:12

标签: hive

我有一个包含两周值条目的表,我想将这些条目复制到按日期分区的表中(如果它不存在则创建它)。

我正在写一个luigi任务来做这件事,我希望它能独立于表格模式 - 即。我不必指定列名和类型,并且在必要时它将创建表IF NOT NOT EXISTS。

我希望我可以使用:

CREATE TABLE IF NOT EXISTS test_part
COMMENT 'This is a test table to see if partitioning works in this case'
PARTITIONED BY (event_date string)
AS select *, '2014-12-15' from source_db.source_table 
where event_at <'2014-12-16' and event_at >='2014-12-15';

但是这当然失败了:FAILED:SemanticException [错误10068]:CREATE-TABLE-AS-SELECT不支持目标表中的分区

我再次尝试了&#34;喜欢&#34;结果基本相同。有没有办法做到这一点,我失踪了?它不必是原子的。多个顺序命令都可以。

1 个答案:

答案 0 :(得分:1)

您不要将创建表格作为。

首先使用describe source_table创建一个表,然后插入表分区(event_date string)

两步更好。