我在尝试在Hive外部分区表中插入新数据时遇到问题。
表按日分区,我得到的错误是:
function mxdiflg(){
var a1 =['asd','asdasd','asddfgsd'];
var a2 = ['werw','werrewerewr','werwreewrererwer'];
if ((typeof a1[0] !== 'undefined')&& (typeof a2[0] !== 'undefined')){
var result = 0;
for (var i=0;i<a1.length;i++) {
for (var j=0;j<a2.length;j++) {
var diff = Math.abs(a1[i].length - a2[j].length);
if (diff > result)
result = diff;
}
}
}
return result;
}
我的查询如下:
FAILED: SemanticException [Error 10006]: Line 1:51 Partition not found ''18102016''
my_dest_table 已创建为:
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'
对我做错了什么的任何想法?谢谢!
答案 0 :(得分:0)
我相信你应ALTER TABLE my_source_table RECOVER PARTITIONS;
为你的目的地表做这件事。
ALTER TABLE my_dest_table RECOVER PARTITIONS;
试试这个。
注意:当然你应该删除Alex L提到的额外逗号。这将给出其他解析错误。