我有一个包含两周值条目的表,我想将这些条目复制到按日期分区的表中(如果它不存在则创建它)。
我正在写一个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;结果基本相同。有没有办法做到这一点,我失踪了?它不必是原子的。多个顺序命令都可以。
答案 0 :(得分:1)
您不要将创建表格作为。
首先使用describe source_table创建一个表,然后插入表分区(event_date string)
两步更好。