MaxCompute常见错误汇总(更新ing)

来源:互联网 发布:淘宝客的收入怎么提走 编辑:程序博客网 时间:2024/05/19 02:21

点击查看全文


从今天开始,小编会为大家陆续解读MaxCompute常见问题,帮助大家快速上手MaxCompute,玩转大数据计算平台,同时,也欢迎大家一起补充。


66b3afc7b24aa89810c54e85154b52c2a7c93df8


十大常见错误码


No1.FAILED: ODPS-0130131

报错信息:FAILED: ODPS-0130131:[1,15] Table not found - table test0517.dual cannot be resolved

用户场景:用虚拟表计算,select sum(1+1) from dual

问题分析:表不存在,MaxCompute分布式系统不支持dual虚拟表。

解决方案:可以自建dual表。


No2.FAILED: ODPS-0130071

报错信息: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.

用户场景:向新表导入数据,insert overwrite table demo_target_0722 PARTITION ( dt = '20170903' ) select a,b,c,d,e,f,g from demo_src_0722;

问题分析:向目标表插入数据时,源表和目标表的列数量或类型不匹配。

解决方案:检查源表字段,增加相应字段,或者用create table demo_0722 as


报错信息:FAILED: ODPS-0130071:Semantic analysis exception - Project: a not found.

用户场景:创建表,create table if not exists a.sale_detail(

shop_name string,

customer_id string,

total_price double)

partitioned by (sale_date string,region string);

问题分析:Project不存在。

解决方案:输入正确的Project名称,可以使用大数据开发套件查看所有Project 名称。


No3.FAILED: ODPS-0110061

错误信息:FAILED: ODPS-0110061: Failed to run ddltask - AlreadyExistsException(message:Partition already exists, existed values: ["2017-09-05"])

用户场景:并发添加分区,ALTER TABLE demo.d1 ADD PARTITION (pt='2017-09-05')

问题分析:分区2017-09-05已存在,目前MaxCompute对操作的表没有加锁,这个错误是由Meta产生竞争导致,即向同一个分区同时多次操作读写操作容易产生此类错误。

解决方案:在MaxCompute还没有锁机制的情况下,先不要同时对一个表做操作。


错误信息:FAILED: ODPS-0110061: Failed to run ddltask - SimpleLock conflict failure, add partition is already on-going: demo.d1:pt=20170904

用户场景:并发添加分区,alter table demo.d1 add if not exists partition (pt='20170904')

问题分析:分区20170904已存在,当用户批量添加统一分区时,会出现此错误。MaxCompute仅会执行接收到的第一个添加分区命令,并忽略后续请求。

解决方案:取消批量重复任务执行。


No4.FAILED: ODPS-0010000

错误信息:FAILED: ODPS-0010000:System internal error - fuxi job failed, caused by: WorkerRestart errCode:11,errMsg WorkerCrashedWithCorefile

用户场景:自定义UDF查询,select trans_array(1,'$','cilent',ctimes)as(cmonitor,ctime) from (select t.id,t.ipfrom dec_abc t)

问题分析:内部错误导致jvm coredump。

解决方案:通常由java udf的实现问题引起,如果排除udf问题,请提交运行日志到工单提问。


错误信息:FAILED: ODPS-0010000:System internal error - translate plan failed

用户场景:查询,select regexp_substr(name,'\x9..\x2A') as word,count(1) as all_sum from poi_data1 group by regexp_substr(name,'\x9..\x2A') having count(1)>50;

问题分析:用户只有在输入常数\x的情况下才触发。

解决方案:修改SQL;


错误信息:FAILED: ODPS-0010000:System internal error - fuxi JobMaster error

错误原因:fuxi JobMaster error是job master重启引起,可能是运行主机或者网络超时响应的原因,也可能是语句中union all太多,job master内存超过阀值被kill掉了。

解决方案:如果是语句中union all太多,则最好把查询语句分成多个部分跑。


错误信息:FAILED: ODPS-0010000:System internal error - codegen failed

用户场景:自定义UDF做查询、sort局部排序、row_number()分组统计;如:select array(array(3,4)) from wc_in_limit20;

select distinct(a.udid) from (select uid,udid from sdk_game_new_device_filter where ds='2017-08-06' and game_id = 186 distribute by uid sort by udid)a


问题分析及解决方案:

1、如果遇到errors.NotImplemented: Function wsfunc has not been implemented yet.

则:注册函数的时候用的包路径一定要是自己实现UDF类的完整包路径。

2、如果用户用到了distribute by sort by,则distribute by sort by的列一定要在select里,这个是已知的问题

distribute by 不要和join一起用,因为distribute by后,再join,distribute by是多余的,因为join 还是会按join key reshuffle的

如果是使用到分词函数的,应该是分词自定义函数名错误,不能自定义分词函数名,且分词函数只能由owner覆盖。

3、如果遇到row_number() over(partition by seller_user_id order by seller_user_id,offer_id,recom_score desc)=1

则:where里不能用window function 。



错误信息:FAILED: ODPS-0010000:System internal error - PANGU_FILE_NOT_FOUND The file does not exist When PanguOpen4Read pangu
问题分析:


点击查看全文


阅读全文
0 0
原创粉丝点击