如何使用Hive HQL创建分区表'像'未分区表?

问题描述:

我有一张有两周价值条目的表格,我想将这些条目复制到一个按日期分区的表格中(如果它不存在,创建它)。如何使用Hive HQL创建分区表'像'未分区表?

我正在写一个luigi任务来完成这个任务,我希望它能够独立于表格模式 - 也就是说,我不必指定列名和类型,并且在必要时会创建表IF 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'; 

但是这门课程的失败:失败:SemanticException [错误10068]:CREATE TABLE-AS-SELECT不支持分区目标表

我用“like”再次尝试,结果基本相同。有没有办法做到这一点,我失踪了?它不必是原子的。多个顺序命令很好。

你不要做一个创建表。

您创建一个表,首先使用描述source_table,然后你做一个插入到表分区(活动日期字符串)

2步它工作得更好。