MaxCompute Studio使用心得系列2——编译SQL脚本

简介: Console客户端、大数据开发套件的SQL编辑器目前都没有脚本编译功能,每次需要执行SQL脚本,只能提交执行后若有语法错误,执行结果失败返回失败信息才发现,影响开发效率又浪费资源。今天我就来分享在MaxCompute SQL提交运行前就可以进行脚本编译的方法。

开发人员写好代码,对代码进行语法编译是很常见的操作,但是目前常用的MaxCompute sql开发工具(大数据开发套件和console客户端),都没有该功能,必须把sql脚本提交运行后若有语法问题才会通过返回错误日志中获取相关信息。

MaxCompute每次提交job都要少则几秒多则数分钟不等的排队过程,等返回失败信息,也需要等待一定的时间,不仅仅影响开发效率,还浪费计算资源。

本次分享 通过MaxCompute Studio 进行SQL脚本开发过程中“编译”功能带来的便利。

前提条件:Project Explorer窗口中必须添加好项目,即添加项目元数据。

语法检查与错误提示

Studio脚本编辑功能与 MaxCompute 编译器高度整合,能够在脚本编辑过程中实时进行语法检查,并通过特殊高亮及 tips 文本给出错误提醒。便于开发人员快速排错,提前对位问题。

image

如上图所示,select * from abc;这个简单的语句,abc是表名,但在该脚本所属的MaxCompute project中,表是不存在的,因此该表名字体变成红色高亮,鼠标移至上方会显示 table hntest.abc cannot be resolved。

不仅仅能检查到表是否存在,列是否存在也可以检查到,如下图所示:

image

潜在风险提示

由于 MaxCompute 语法及数据类型转换的灵活性。很多情况下,书写的脚本没有语法错误,但也没有得到想要的结果。针对这个痛点,Studio 结合脚本的编译结果,给出相应的 WARNING 提示,将脚本中潜在的风险在开发和调试阶段给出提醒,防患于未然。

Studio 对相关风险部分给予语法高亮或添加背景色展示并给出详细说明,如:

image

本地编译与错误定位

Studio 提供本地编译脚本功能,在提交到服务器上运行之前在本地进行必要的语法检查、类型检查等,编译过程信息通过 Messages MaxCompute View 展现:

image

双击编译结果窗口中的 Log Item,可以快速定位到脚本的对应行列位置,直接进行修复。

假如我一直忽视了编译功能给我的各种语法错误检查结果,也没有操作本地编译,直接在MaxCompute Studio上运行有语法错误的脚本,MaxCompute Studio依然尽职尽责的先把我提交的脚本进行本地编译,然后给我提示:

image

好了,先分享到这,MaxCompute Studio编译功能还会给我们带来多少惊喜,需要多实践才能多发现!

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2天前
|
SQL 关系型数据库 MySQL
SQL脚本相除
【5月更文挑战第6天】
20 3
|
2天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之大数据计算MaxCompute如何实现通过离线同步脚本模式
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之大数据计算MaxCompute即使用相同的SQL语句在DataWorks和Tunnel上执行,结果却不同,如何解决
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
SQL 关系型数据库 MySQL
|
2天前
|
SQL 关系型数据库 MySQL
|
2天前
|
SQL 关系型数据库 MySQL
SQL脚本字符串替换
【5月更文挑战第3天】
19 4
|
2天前
|
SQL 关系型数据库 MySQL
SQL脚本列转行
【5月更文挑战第2天】
12 0
|
2天前
|
SQL 关系型数据库 MySQL
SQL脚本行转列
【5月更文挑战第1天】
13 0
|
2天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在DataWorks中使用ODPS SQL时遇到"该文件对应引擎实例已失效,请重新选择可用的引擎实例"的错误提示”,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
39 0
|
2天前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之DataWorks中,填写ODPS SQL任务中的参数和分区信息如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
27 0

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute