MaxCompute编译器基于MaxCompute 2.0新一代的SQL引擎,显著提升了SQL语言编译过程的易用性与语言的表达能力。本文将为您介绍如何利用MaxCompute编译器的报错和告警进行排障。
背景信息
为了充分展示MaxCompute编译器的易用性,推荐您使用MaxCompute Studio。如何安装请参见安装 MaxCompute Studio。
建议您在提交任何脚本之前,使用MaxCompute编译器对脚本进行静态编译检查。推荐您在MaxCompute SQL配置选项选中Enable syntax coloring,启动语法高亮功能。如何配置请参见MaxCompute SQL配置选项。
报错示例
编译器显示
鼠标悬停如下图所示红色报错标记处,编译器显示expect 1 columns, actually have 2。
运行结果
报错说明
由于src表定义参数为两列,而利用insert语句插入数据时,values中有一组数据缺少一列参数,故编译器报错。
告警示例
编译器显示
鼠标悬停如下图所示告警标记处,编译器显示implicit conversion from STRING to DOUBLE, potential data loss, use CAST function to suppress。
告警说明
从STRING到DOUBLE的隐式转换,有可能造成数据丢失,需要使用CAST函数处理。数据转换详情请参见数据类型转换。
说明在运行脚本之前建议修改所有的告警,避免浪费时间和资源。
提交有错误的脚本会扣您的计算健康分,会导致以后提交任务的优先级下调,未来没有修改的告警也会被纳入到健康分体系。所以,充分利用MaxCompute编译器的错误和告警提示,可以避免降低优先级。
文档内容是否对您有帮助?