maxCompute(ODPS)问题排查思路

简介: 在使用maxCompute的过程中难免会遇到问题,本文意在帮助遇到问题的人快速解决问题

1.如果自己不小心手动删除数据无法提供恢复,如果是普通表,是没法恢复数据的。外部表可以配置到OSS上面,数据不会删除。
2.用户删除行为,所有的副本也会删除的。如果是产品故障导致丢失,一般所有副本丢失的可能性并不大(可以提工单咨询)。
3.UDF由于沙箱限制,不支持请求外部链接
4.不能实现的函数全部建议UDF
5.客户端乱码的换考虑将use_instance_tunnel改为false
6.pyodps查询最多10000条。
SDK和API请求的话可设置:options.tunnel.use_instance_tunnel = True,并且设置options.tunnel.limit_instance_tunnel = false

7.自定义UDF的时候,类名必须写正确,要不然会报解析错误
8.UDF的找不到参数、函数名问题参考:https://yq.aliyun.com/articles/684417?spm=a2c4e.11155435.0.0.192a3312uElBdJ
9.使用like 如果like字段包含下划线_ ,不会生效,建议使用rlike + 正则的方式。
10.Tunnel命令不支持上传下载Array、Map和Struct类型的数据。推荐使用insert into table xxx select xxx
11.2147483647是int型最大的数,id到顶了,不适合有自增id
12.如果没有输入表,map 及 reduce任务实际上不执行的,输入可以为空,但是底层的map 及 reduce实际是不会执行的。没有数据正常不会分配map/reduce task的,通常是一个block分配一个map任务去处理。这个并没有什么方式可以解决的。实际上也没人这么使用,没有数据运行MR任务本身就是一种浪费。
13.查询外部表报错:
FAILED: ODPS-0123131:User defined function exception - Traceback:
java.lang.IndexOutOfBoundsException
at java.io.BufferedInputStream.read(BufferedInputStream.java:338)

1)、麻烦确认路径下有空文件,导致读取的时候报错。
2)、对于外部表,当前不支持单个文件超过2G,否则会报错

OSS数量量大的话,需要考虑并行,建议您使用分区,避免全表扫描。
14.在dataworks运行spark报错:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.aliyun.odps.SubmitJob.main(SubmitJob.java:74)
Caused by: org.apache.hadoop.yarn.exceptions.YarnException: com.aliyun.odps.cupid.CupidException: This cupid task type not allowed in your project: spark-default
at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.submitApplication(YarnClientImpl.java:180)
at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:175)
at org.apache.spark.deploy.yarn.Client.run(Client.scala:1172)
at org.apache.spark.deploy.yarn.YarnClusterApplication.start(Client.scala:1542)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:881)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:197)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:227)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:136)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
... 5 more
Caused by: com.aliyun.odps.cupid.CupidException: This cupid task type not allowed in your project: spark-default
at com.aliyun.odps.cupid.CupidUtil.errMsg2SparkException(CupidUtil.java:43)
at com.aliyun.odps.cupid.CupidUtil.getResult(CupidUtil.java:123)
at com.aliyun.odps.cupid.requestcupid.YarnClientImplUtil.transformAppCtxAndStartAM(YarnClientImplUtil.java:291)
at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.submitApplication(YarnClientImpl.java:178)
... 13 more
需加一下这个配置 spark.hadoop.odps.task.major.version = cupid_v2

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
10天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 0
|
10天前
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
24 0
|
10天前
|
SQL JSON 分布式计算
DataWorks产品使用合集之DataWorks一键maxcompute数据同步的操作步骤是什么
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
19 0
|
10天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在 DataWorks 中,使用Oracle作为数据源进行数据映射和查询,如何更改数据源为MaxCompute或其他类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
25 1
|
10天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之在 MaxCompute 中,有LEAST 的内置函数如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
16 0
|
10天前
|
分布式计算 DataWorks Java
DataWorks产品使用合集之DataWorks maxcompute的自定义资源增加如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
21 0
|
10天前
|
分布式计算 DataWorks Java
DataWorks产品使用合集之DataWorks maxcompute的自定义资源增加如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
20 0
|
10天前
|
分布式计算 DataWorks 大数据
DataWorks产品使用合集之在DataWorks中,在MaxCompute中使用解压缩功能如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
32 0
|
10天前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之在DataWorks中,查看ODPS表的OSS对象如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
27 1
|
10天前
|
分布式计算 DataWorks MaxCompute
DataWorks产品使用合集之在DataWorks中,将数据集成功能将AnalyticDB for MySQL中的数据实时同步到MaxCompute中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0

热门文章

最新文章