尝试在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提到的多余逗号。这将给其他解析错误。