在同样的代码,在生产环境中运行正常,开发环境中报了除0异常,是不是生产环境底层对除0进行了处理?为什么在生产环境的结果中看到,所有的除零的结果都变成了NULL?
http://logview.odps.aliyun.com/logview/?h=http://service.odps.aliyun.com/api&p=lppz_aam_bi_inst&i=20240812065923183gnyub2d7x8g&token=bU9TV2J6Q1VaNSttS210N0gxM1BvcmZvYzNNPSxPRFBTX09CTzozMTYxMDYyNywxNzI0MDUwNzYzLHsiU3RhdGVtZW50IjpbeyJBY3Rpb24iOlsib2RwczpSZWFkIl0sIkVmZmVjdCI6IkFsbG93IiwiUmVzb3VyY2UiOlsiYWNzOm9kcHM6Kjpwcm9qZWN0cy9scHB6X2FhbV9iaV9pbnN0L2luc3RhbmNlcy8yMDI0MDgxMjA2NTkyMzE4M2dueXViMmQ3eDhnIl19XSwiVmVyc2lvbiI6IjEifQ== 生产环境
http://logview.odps.aliyun.com/logview/?h=http://service.odps.aliyun.com/api&p=lppz_aam_bi_dev_inst&i=20240812071128380gpx3cm80bsd&token=OEdTWURxb2hJSnA3N1JDZWZLNHFRS0hyNm5JPSxPRFBTX09CTzozMTYxMDYyNywxNzI2MDM4Njg4LHsiU3RhdGVtZW50IjpbeyJBY3Rpb24iOlsib2RwczpSZWFkIl0sIkVmZmVjdCI6IkFsbG93IiwiUmVzb3VyY2UiOlsiYWNzOm9kcHM6Kjpwcm9qZWN0cy9scHB6X2FhbV9iaV9kZXZfaW5zdC9pbnN0YW5jZXMvMjAyNDA4MTIwNzExMjgzODBncHgzY204MGJzZCJdfV0sIlZlcnNpb24iOiIxIn0= 开发环境
生产环境,set odps.mcqa.disable=true; 加上这个参数帮忙再重跑一下。开发环境,失败的SQL,加上这个参数,重跑下:odps.sql.hive.compatible=true; 也可能是之前两个环境执行任务的时候设置过不同的参数,比如一个打开过hive兼容,一个没打开过。这个问题根本是在这里,生产环境都转成double了,开发环境还是decimal,转成double的这个精度丢失了,不是0,转成decimal的是0了;
此回答整理自钉群“MaxCompute开发者社区2群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。