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

简介: 从今天开始,小编会为大家陆续解读MaxCompute常见问题,帮助大家快速上手MaxCompute,玩转大数据计算平台。

从今天开始,小编会为大家陆续解读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 - Download resource failed: StreamLineWrite_REL1622_0

用户场景:向新表导入数据。INSERT OVERWRITE TABLE dw PARTITION (dt='20170901',hour='10')

SELECT tb.u_id

    , tb.m_id

    , tb.label

FROM demo tb;

问题分析:在集群比较忙时,pangu操作出现问题,中间文件下载失败。

解决方案:过一会重新跑任务。


错误信息: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
问题分析:读写冲突,你在读的时候有别人在写,连续两个任务在读,第一个读时,发现小作业太多主动开启merge,第二个作业再读时,就会报这个错。

解决方案:请检查冲突节点的依赖关系或者协调好读写关系,第二种情况只需要重试即可。


错误信息:FAILED: ODPS-0010000:System internal error - Fail to close dispatch writer

问题分析:写pangu文件最后会做句柄的close,此时,close会将缓存中的数据Flush到分布式磁盘。close失败常见的问题就是quota不足,此时会报:Fail to close dispatch writer。

错误信息:FAILED: ODPS-0130151: Too many instance count(112), exceeds threshold limit 100.

解决方案:Fail to close dispatch writer报错,首先需要排除quota问题,在quota足够的情况下需要提供具体的Instance后台分析日志,比如网络超时也会导致close失败。因为中间产出的数据也会占用Quota,所以申请quota时需要考虑中间产出的文件大小。


No5.FAILED: ODPS-0130151

错误信息:FAILED: ODPS-0130151: Too many instance count(112), exceeds threshold limit 100.

用户场景:扫描十年数据,select * from demo.a where pt>2007 and pt<2017 。

问题分析:扫描过多分区被系统限制,比如默认split size为256M,系统限制100,就不能超过2.5g。

解决方案:不要扫描过多分区或调大split size。


错误信息:FAILED: ODPS-0130151:Illegal data type - partition column 'time' type 'datetime' is not allowed.

用户场景:创建表,CREATE TABLE aa (type BIGINT COMMENT 'a') PARTITIONED BY (time DATETIME COMMENT 'b') LIFECYCLE 100000

问题分析:type,time 是系统预留字段。

解决方案:不要使用系统保留字段,改为s_type,s_time。参考:https://help.aliyun.com/document_detail/27872.html


No6.FAILED: ODPS-0140181

错误信息:FAILED: ODPS-0140181:Sql plan exception - sql cost error:ODPS-0130131:Table not found - line 
1:26 'all_answer'

用户场景:查询表,SELECT risk,count(*) FROM all_answer GROUP BY risk。

问题分析:由于表不存在,导致的SQL作业无法生成执行计划。

解决方案:确认Project下的表是否存在或在表的前面加上Project名称,如demo.all_answer。


No7.FAILED: ODPS-0000000

错误信息:FAILED: ODPS-0000000:Invalid query - Internal Error: org.apache.xxxxxx.Exception(Specified 
partition field not exists:{ds=20170903})

用户场景:增加分区,ALTER TABLE kx.logs ADD IF NOT EXISTS PARTITION (ds='20170903')

问题分析:用户指定了不存在的分区字段导致的,就是表定义里分区字段是 p_dt,用户 add partition 里指定了 pt,”指定的分区字段不存在“。

解决方案:检查分区表是否存在。


错误信息:FAILED: ODPS-0000000:Invalid query - partitioned table can not be truncated

用户场景:删除数据表,truncate table sxd_test12

问题分析:TRUNCATE TABLE 命令只能应用于非分区表。

解决方案:删除分区表,ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec


其他场景的ODPS-0000000系统错误,是OTS, pangu, fuxi等功能组件发生问题而导致的异常。


No8.FAILED: ODPS-0130161

错误信息:FAILED: ODPS-0130161:Parse exception - line 1:0 cannot recognize input near 'exit' '<EOF>' '<EOF>'

用户场景:中断执行,exit。

问题分析:语法解析出错,EXIT是ORACLE的SQL命令,MaxCompute不支持。

解决方案:中断操作可以kill 任务名。


No9.FAILED: ODPS-0130211

错误信息:FAILED: ODPS-0130211:Table or view already exists - t_mac_section_20170901

用户场景:复制表,create table t_mac_section_20170901 like t_mac_section。

问题分析:表或视图已存在。出现这种错误一般是由于重复创建同名表或者view,即执行Create Table/View语句时,要创建的Table/View已经存在。

解决方案:检查表是否已存在,不要重复操作。


No10.FAILED: ODPS-1181151

错误信息:FAILED: ODPS-0121035:Illegal implicit type cast - in function EQUAL, input parameter '20170904'
 cannot be casted to datetime, 
only yyyy-mm-dd hh:mi:ss format is supported

用户场景:select * from dsp_crowd_hit_statement where statement_time ='20170904' limit 50

问题分析:类型转换错误。一般为不支持的隐式类型转换错误。通常情况下是由于违背隐式类型转换规则引起的。内建函数也有不同的隐式转换规则。

解决方案:类型转换https://help.aliyun.com/document_detail/57792.html



你常见的错误码有哪些呢?欢迎大家一起讨论https://yq.aliyun.com/ask/58763


231917d3ccd8c2bd659b2da51d3fffe93a879a0a点击活动链接


阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/

---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……

bba01b493e1c5d904e882b1c380673c6ebe49a98





相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
SQL 分布式计算 算法
MaxCompute数据仓库在更新插入、直接加载、全量历史表三大算法中的数据转换实践
2018“MaxCompute开发者交流”钉钉群直播分享,由阿里云数据技术专家彬甫带来以“MaxCompute数据仓库数据转换实践”为题的演讲。本文首先介绍了MaxCompute的数据架构和流程,其次介绍了ETL算法中的三大算法,即更新插入算法、直接加载算法、全量历史表算法,再次介绍了在OLTP系统中怎样处理NULL值,最后对ETL相关知识进行了详细地介绍。
5261 0
|
分布式计算 大数据 调度
【8.23更新--技术干货全家桶】大数据计算技术共享计划 — MaxCompute技术公开课第二季
5月底MaxCompute开启大数据计算技术共享计划,第一季,为大数据爱好者和企业客户带来了MaxCompute数据开发实战的四次主题分享,有1500多名用户线上参加了共享季直播。7月24日,MaxCompute开启第二季技术公开课,近6000名大数据爱好者和企业客户参加了第二季的5次主题直播,越来越多的大数据专家、技术牛人、爱好者参与到我们的技术共享活动中来,让我们一起玩大数据如烹小鲜吧。
6891 0
|
SQL 分布式计算 大数据
MaxCompute常用语句汇总(更新ing)
收集一些MaxCompute常用命令。
11246 0
|
SQL 分布式计算 大数据
MaxCompute SQL中的更新和删除如何实现
MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效的分析处理海量数据。   由于 MaxCompute是针对数据仓库应用设计的,而数据仓库的内容是读多写少的。
6049 0
|
存储 分布式计算 NoSQL
MaxCompute访问TableStore(OTS) 数据(20170601更新)
MaxCompute作为阿里云大数据平台的核心计算组件,承担了集团内外大部分的分布式计算需求。
10303 0
|
9天前
|
分布式计算 大数据 BI
MaxCompute产品使用合集之MaxCompute项目的数据是否可以被接入到阿里云的Quick BI中
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
9天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之怎样可以将大数据计算MaxCompute表的数据可以导出为本地文件
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
9天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute产品使用合集之可以使用什么方法将MySQL的数据实时同步到MaxCompute
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
8天前
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之DataWorks使用数据集成整库全增量同步oceanbase数据到odps的时候,遇到报错,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
22 0
|
9天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在 DataWorks 中,使用Oracle作为数据源进行数据映射和查询,如何更改数据源为MaxCompute或其他类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
25 1

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute