请问向新表导入数据,insert overwrite table demo_target_0722 PARTITION ( dt = ‘20170903’ ) select a,b,c,d,e,f,g from demo_src_0722,报错FAILED: ODPS-0130071:Semantic analysis exception – Cannot insert into target table because column number/types are different : line 1:23 ”20170903”: Table insclause-0 has 6 columns, but query has 7 columns怎么办?
请问向新表导入数据时报错怎么办?[阿里云MaxCompute]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
这是可能是因为您的源表和目标表的列数或类型不一致导致的,可以检查源表和目标表的列数和类型是否一致。如果不一致,可以尝试修改源表或目标表的列数和类型,一致后应该不会出现报错;也可能是没有在demo_target_0722表中定义分区字段dt,检查表定义是否正确。
根据报错信息来看select a,b,c,d,e,f,g from demo_src_0722,你查询了7个字段的数据,然后执行向目标表中insert into 时,target table目标表的字段数不匹配,也就是目标表只有6列,即6个字段 Table insclause-0 has 6 columns, but query has 7 columns,而你实际查询出了7个字段,也就是7列数据,建议去掉查询语句中无效的列
错误里面写明白了,查询有7列,分别是:[a、b、c、d、e、f、g],但目标表
demo_target
只有 6 列,查查是不是漏了点啥?您好,这是由于向目标表插入数据时,源表和目标表的列数量或类型不匹配导致的。您可以检查源表字段,增加相应字段,或者用create table demo_0722 as来解决。