MaxCompute使用常见问题总结

9月前 2281

计费相关

存储计费:按照存储在 MaxCompute 的数据的容量大小进行阶梯计费。

计算计费:MaxCompute 分按量后付费和按 CU 预付费两种计算计费方式。

按量后付费:按量后付费方式针对 SQL 任务和 MapReduce 任务进行计费。

SQL 任务按量后付费:即 SQL 任务按 I/O 后付费。

MapReduce 按量后付费:即 MapReduce 任务按量进行计费。

按 CU 预付费:此方式仅在阿里云大数据平台提供。

下载计费: MaxCompute 将按照下载的数据大小进行计费
注意是对公网下载收费,内网下载不收费
参考https://help.aliyun.com/document_detail/27989.html?spm=5176.doc45389.6.560.LYjhcl

SQL语法和标准sql区别

1,无事务控制
2,暂时不支持update/delete
3,不支持修改字段类型,不支持删除字段
4,不支持 select from 多表
5,其他hive对标函数,官方文档没有的暂时不支持
更多参考
https://help.aliyun.com/document_detail/50985.html?spm=5176.doc27862.6.757.lSC74f

SQL限制

select 最大显示10000行
想导出大于10000行参考
https://help.aliyun.com/document_detail/53093.html?spm=5176.7751065.6.751.iLm6hF
2,string字段最大8M
更多其他限制参考
https://help.aliyun.com/document_detail/51823.html?spm=5176.doc53093.6.618.R37r8p

java沙箱限制类问题

用户经常问:
本地测试正常,在提交到odps后失败,代码一毛一样
https://help.aliyun.com/document_detail/27967.html?spm=5176.doc51823.6.647.Rt0efa
原因:
处于安全考虑,对一些第三方jar包做了限制
一般是fastjson这个包比较常见,
由于java沙箱限制,对一些第三方jar包由限制,fastjson的jar包被限制因为安全沙箱的原因无法使用。
https://help.aliyun.com/document_detail/27967.html
建议用gson
import com.google.gson.Gson;这个包试下
其他的jar的限制用户遇到类似报错可以提交工单咨询

下图是常见报错例子
image.png

没有启用新类型flag

若想使用新数据类型,需在 SQL 语句前加语句:set odps.sql.type.system.odps2=true;
目前情况是需要加这个set,后续会省掉
https://help.aliyun.com/document_detail/27821.html?spm=5176.doc27967.6.546.XhnAGU
新数据类型,以及新函数、函数返回值是新数据类型都需要set
如果没有set,报错现象
com.aliyun.odps.OdpsException: ODPS-0130071:[1,8] Semantic analysis exception - function or view udtf_recom cannot be resolved
找不到函数或者方法

oss和ots外部表创建,查询失败

1,检查是否按照文档授权
https://help.aliyun.com/document_detail/45389.html?spm=5176.doc27821.6.691.5g0yGt
2,报错类似
DDL syntax error:ODPS-0130071:Semantic analysis exception - unrecognized option 'EXTERNAL'.
检查:是否引用了新类型,也需要set
3,如果建表后查询失败
检查用户oss或者ots数据量是否巨大,
oss的object数量是否很多
单个object是否很大
参考文档 https://www.atatech.org/articles/67977 理解
报错例子 没有授权
image

客户端odpscmd 报错

连接客户端/访问域名先看下域名
https://help.aliyun.com/document_detail/34951.html?spm=5176.doc48950.6.572.58H50H
项目名称
Ak信息
如果报错找不到java类什么的
一般是客户端java环境(暂时不支持java9),建议java 7和8

任务运行比较慢

1,如果是按量付费,请提交工单,如果是预付费,可以先看下cu对应的项目是否有大量作业或者比较大的作业,长期没有执行完。
可以使用主账户执行命令: TOP INSTANCE;这种方式查看当前正在运行的任务(在客户端(版本为0.29.0或以上)运行。)
下载最新版本的客户端: https://help.aliyun.com/document_detail/27804.html?
您也可以通过这个工具查看项目下运行任务的状态
https://yq.aliyun.com/articles/247739?spm=5176.8091938.0.0.7Sf007
如果是预付费cu用户可以使用这个工具查看cu使用情况
https://help.aliyun.com/document_detail/66565.html?spm=a2c4g.11186623.6.713.QARDJv
2,数据倾斜
https://help.aliyun.com/document_detail/51020.html?spm=5176.doc34951.6.754.iMKNUT

有对大数据技术感兴趣的,可以加笔者(已从阿里离职)的微信 wx4085116
目前开了一个大数据线上培训班。有兴趣的加我。

大数据 java 函数 SQL 工单 按量付费 aliyun 沙箱 exception html Mapreduce 数据类型 MaxCompute

作者

上单
TA的文章

相关文章

评论 评论(1)

dataworks彭敏0

2018-06-26 09:54:09

上老师牛