MaxCompute问答整理之2020-02月

本文是基于本人对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文。希望对大家有所帮助。

问题一、子账号无法访问DataWorks工作空间,提示缺少AccessKey ID,但这个账号已经有AccessKey ID的,是什么原因造成无法访问?
在控制台的个人信息中进行绑定AK信息,才可以使用大数据开发平台。

问题二、MaxCompute使用Tunnel命令上传数据时,源文件是csv格式,字段中有逗号分隔的数据,上传会被拆分成多列,这个怎么设置能避免这个问题?
如果描述字段中本身有逗号的话,建议转换数据的分隔符为其他符号,即修改csv文件的默认分隔符为其他分隔符。再通过-fd指定为其他分隔符进行上传。

问题三、如何查看MaxCompute JDBC Driver的日志?
MaxCompute JDBC Driver的日志默认放在Driver Jar包所在的同级目录,文件名为jdbc.log。如果将用户代码与Driver打包为一个超级Jar,日志将会在超级Jar所在的同级目录。

问题四、MaxCompute有数据库一致性和锁的处理机制吗?
MaxCompute支持ACID语义原子性(Atomicity):一个操作或是全部完成,或是全部不完成,不会结束在中间某个环节。一致性(Consistency):从操作开始至结束的期间,数据对象的完整性没有被破坏。隔离性(Isolation):操作独立于其它并发操作完成。持久性(Durability):操作处理结束后,对数据的修改将永久有效,即使出现系统故障,该修改也不会丢失。

问题五、在MaxCompute中运行SQL语句查询表test中数据,test表中数据为1万条,查询一直处于Job Quening...状态,无法执行,原因是什么?
请排查任务运行状态,可能有个任务运行完了所有的资源,请先中止或者等待此任务。可以在MaxCompute客户端中运行Show Instances/Show P命令来查看实例信息。

问题六、使用MaxCompute SQLTask执行cost sql sql命令时报错ODPS-0130161:[1,1] Parse exception - invalid token 'cost'怎么解决呢?
需要使用Java SDK中的SQLCostTask接口来实现单条SQL费用的查询。接口使用方式可以参考:https://www.javadoc.io/doc/com.aliyun.odps/odps-sdk-core/latest/com/aliyun/odps/task/SQLCostTask.html

问题七、MaxCompute中为什么SQL查询不同的分区,费用差异比较大?
分区Size较大就会造成费用较多。您可以使用desc table_name partition(pt_spec)命令查看具体分区大小。
分区表的意义在于优化查询。查询表时通过WHERE子句查询指定所需查询的分区,避免全表扫描,提高处理效率,降低计算费用。

问题八、MaxCompute中如何删除生产环境的表?
可以在MaxCompute客户端或DataStudio中使用 drop table project_name.table_name; 删除生产环境的表。

问题九、MaxCommpute中,是否可以添加或删除列?
可以添加列,但不可以删除列。如果有删除列的需求,可以新建表,再重命名表。

问题十、如何理解开源与云原生的大数据技术与产品?
2020 大数据技术公开课第一季《从开源到云原生,你不得不知的大数据实战》,通过比较和实操,帮助开发者们更好的理解和掌握大数据技术。大家可以通过文字和视频观看学习。
https://yq.aliyun.com/articles/744581

欢迎扫码加入 MaxCompute开发者社区钉钉群,或点击链接 申请加入。
MaxCompute问答整理之2020-02月

上一篇:MaxCompute问答整理之2020-06月


下一篇:MaxCompute问答整理之2020-01月