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编译功能还会给我们带来多少惊喜,需要多实践才能多发现!

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
SQL 测试技术 数据库
SQL注入,跨站脚本,跨站请求伪造,傻傻分不清楚
SQL注入,跨站脚本,跨站请求伪造,傻傻分不清楚
|
4月前
|
SQL 分布式计算 大数据
请问本地安装了大数据计算MaxCompute studio,如何验证联通性及基本DDL操作呢?
请问本地安装了大数据计算MaxCompute studio,如何验证联通性及基本DDL操作呢?
27 0
|
4月前
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
74 0
|
4月前
|
SQL 分布式计算 数据库
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
85 0
|
4月前
|
SQL 分布式计算 大数据
【大数据技术Hadoop+Spark】Spark SQL、DataFrame、Dataset的讲解及操作演示(图文解释)
【大数据技术Hadoop+Spark】Spark SQL、DataFrame、Dataset的讲解及操作演示(图文解释)
53 0
|
2月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
32 0
|
4月前
|
SQL 分布式计算 大数据
大数据=SQL Boy,SQL Debug打破SQL Boy 的僵局
大数据=SQL Boy,SQL Debug打破SQL Boy 的僵局
50 0
|
4月前
|
SQL 关系型数据库 MySQL
MySQL【实践 02】MySQL迁移到PostgreSQL数据库的语法调整说明及脚本分享(通过bat命令修改mapper文件内的SQL语法)
MySQL【实践 02】MySQL迁移到PostgreSQL数据库的语法调整说明及脚本分享(通过bat命令修改mapper文件内的SQL语法)
98 0
|
4月前
|
SQL 关系型数据库 Shell
postgresql|数据库|批量执行SQL脚本文件的shell脚本
postgresql|数据库|批量执行SQL脚本文件的shell脚本
118 0
|
4月前
|
SQL 分布式计算 大数据
大数据计算MaxCompute的sql代码中支持插入jinja语法语句吗?
大数据计算MaxCompute的sql代码中支持插入jinja语法语句吗?
34 0

相关产品

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