请问向新表导入数据,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怎么办?
这是可能是因为您的源表和目标表的列数或类型不一致导致的,可以检查源表和目标表的列数和类型是否一致。如果不一致,可以尝试修改源表或目标表的列数和类型,一致后应该不会出现报错;也可能是没有在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来解决。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。