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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 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 
目录
相关文章
玩转大数据:从零开始掌握SQL查询基础
玩转大数据:从零开始掌握SQL查询基础
129 35
为什么大数据平台会回归SQL
在大数据领域,尽管非结构化数据占据了大数据平台80%以上的存储空间,结构化数据分析依然是核心任务。SQL因其广泛的应用基础和易于上手的特点成为大数据处理的主要语言,各大厂商纷纷支持SQL以提高市场竞争力。然而,SQL在处理复杂计算时表现出的性能和开发效率低下问题日益凸显,如难以充分利用现代硬件能力、复杂SQL优化困难等。为了解决这些问题,出现了像SPL这样的开源计算引擎,它通过提供更高效的开发体验和计算性能,以及对多种数据源的支持,为大数据处理带来了新的解决方案。
比 SQL 快出数量级的大数据计算技术
SQL 是大数据计算中最常用的工具,但在实际应用中,SQL 经常跑得很慢,浪费大量硬件资源。例如,某银行的反洗钱计算在 11 节点的 Vertica 集群上跑了 1.5 小时,而用 SPL 重写后,单机只需 26 秒。类似地,电商漏斗运算和时空碰撞任务在使用 SPL 后,性能也大幅提升。这是因为 SQL 无法写出低复杂度的算法,而 SPL 提供了更强大的数据类型和基础运算,能够实现高效计算。
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
187 0
|
6月前
|
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
144 0
|
6月前
|
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
122 0
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
185 0
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
143 0
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
152 0
大数据-94 Spark 集群 SQL DataFrame & DataSet & RDD 创建与相互转换 SparkSQL
大数据-94 Spark 集群 SQL DataFrame & DataSet & RDD 创建与相互转换 SparkSQL
177 0

相关产品

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