尝试在Hive外部分区表中插入新数据时遇到问题。

表按天划分,我得到的错误是:

FAILED: SemanticException [Error 10006]: Line 1:51 Partition not found ''18102016''

我的查询如下:
ALTER TABLE my_source_table RECOVER PARTITIONS;
INSERT OVERWRITE TABLE my_dest_table PARTITION (d = '18102016')
SELECT
  'III' AS primary_alias_type,
   iii_id AS primary_alias_id,
FROM
   my_source_table
WHERE
   d = '18102016'

my_dest_table已创建为:
CREATE EXTERNAL TABLE my_dest_table (
   primary_alias_type string,
   primary_alias_id
) PARTITIONED BY (d string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION 's3://my_bucket/my_external_tables/'

关于我在做什么错的任何想法吗?谢谢!

最佳答案

我相信您应该ALTER TABLE my_source_table RECOVER PARTITIONS;对目标表执行此操作。

ALTER TABLE my_dest_table RECOVER PARTITIONS;

试试这个。

注意:当然,您应该删除Alex L提到的多余逗号。这将给其他解析错误。

09-26 15:25