Processing math: 100%

玩转MaxCompute studio SQL编辑器

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
简介: SQL因其简单易学的特点,是用户与MaxCompute服务交互的主要手段。如何帮助用户高效愉快的编写SQL是MaxCompute studio的核心使命,下面就让我们来一探究竟: 忘记语法 相信大家都有过忘记SQL怎么写的时候,一旦忘记,恐怕只能到处去找文档和代码示例,被迫离开全神贯注的SQL editor,十分影响效率。

随着 MaxCompute 2.0 的发布,我们提供了MaxCompute Studio,一套基于IntelliJ IDEA的开发插件,让用户在集成开发环境(IDE)中更方便地进行SQL及用户代码开发。MaxCompute Studio 为开发者提供了良好的开发体验,支持项目空间浏览、SQL 脚本开发,UDF开发和调试,作业执行状态展示等功能,本系列将逐一展开进行介绍。

第一弹 - 元数据浏览
第二弹 - 玩转SQL编辑器
第三弹 - UDF开发与调试
第四弹 - 权限那些事儿

SQL因其简单易学的特点,是用户与MaxCompute服务交互的主要手段。如何帮助用户高效愉快的编写SQL是MaxCompute studio的核心使命,下面就让我们来一探究竟:

高效编写

熟练使用IntelliJ快捷键能极大提升开发效率,可在Preferences -- KeyMap 中搜索目标操作快捷键。

忘记语法

相信大家都有过忘记SQL怎么写的时候,一旦忘记,恐怕只能到处去找文档和代码示例,被迫离开全神贯注的SQL editor,十分影响效率。在studio中,我们集成了大量的MaxCompute SQL语法模板,你只需一个快捷键就能唤出,十分方便。譬如,我现在想要在表中加入一列,但不知道SQL语法,那么使用快捷键(Windows: Ctrl + J, Mac: ⌘ + J)唤出live template,输入column关键字搜索语法模板,这里我们选择alter table add column:
image.png
此时,SQL editor中会立刻插入添加列的语法模板,你只需继续输入表和列即可(使用tab键在待编辑元素间切换)
image.png

忘记Schema

SQL语法结构有了,接下来就是往里填各种实体元素(主要包括表和函数)。同样的,难道要我完整的记住表名或函数名才能完成SQL吗?当然不需要,studio想你所想:

列表与搜索

当前project下都有哪些表和函数?

  • 在project explorer中你能获得一个全局视图:
    image.png
  • 通过快捷键(Windows: Ctrl+Alt+Shift+N mac:⌥+⌘+O)唤出navigate symbol,输入表名或函数名搜索:
    image.png

在project explorer中双击实体或在navigate symbol中选择实体,即可显示其详情。

智能提示

studio会根据当前光标位置的语法上下文,给出相应的智能提示,选择即可,无需输入:
image.png

schema关联

  • 鼠标悬停在表名上时,会显示表的schema:
    image
  • 悬停在函数名上时,会显示函数签名:
    image

定义跳转

进一步的,如果想查看实体详情,那么:

  • 表:按住ctrl键,单击,就会打开表详情窗口,包括示例数据的展示。
  • 自定义函数:按住ctrl键单击,则会显示其源码(java是jar的反编译,python是源码)。
  • 内置函数:(Windows: Ctrl + Q mac: Ctrl + J) 唤出帮助文档:
    image

代码检测

SQL除了满足语法,我们也定义了一些规则,来检测你所写的SQL是否有潜在问题,譬如:
image.png
全部的规则列表可在Preference - Editor - Inspections - MaxCompute 处查看。

轻松阅读

SQL写好了,需要阅读并理解其含义。对此studio支持如下特性,方便用户阅读SQL。

语法高亮

SQL中不同类型的字符会有不同的高亮颜色,有语法错误时会显示错误信息:
image.png

括号匹配与代码折叠

  • 单击左括号,与其配对的右括号也会高亮显示,反之亦然。
  • 当SQL比较长时,可点击左侧的折叠按钮,把子句折叠起来,便于排除干扰。

image.png

格式化

好的格式能帮助我们更好的理解SQL结构,当遇到一个杂乱冗长的SQL,你需要做的第一步就是格式化(快捷键Ctrl + Alt + L)。同时,studio还支持自定义格式化规则(譬如关键字大小写,是否换行等),可在如下页面配置:
OdpsqlCodeStyle

可视化

点击SQL editor左下侧的graph标签页,可图形化展示该sql编译后产生的静态执行计划:
sql_graph

使用查找

有时,我们想知道某张表(或函数)都在哪些脚本中使用,以便于我们更好的理解这张表的加工逻辑。那么,你可以在editor中选中表,右键菜单选 Find Usages,则会在当前IntelliJ project下搜索到所有使用该表的脚本:
image.png

运行

部分执行

如果想执行SQL中的部分语句,那么你可以:

  • 通过鼠标选择你要执行的文本段,然后点击运行按钮:
    image.png
  • 通过左侧边栏的gutter icon,执行单条语句(with set表示带着set语句一起):
    image.png

console无缝集成

你可以直接在SQL editor中运行譬如grant语句之类的console命令,也可以点击toolbar上的console图标打开一个MaxCompute Console窗口输入console命令:
image.png

运行历史

所有通过studio提交运行的sql我们都记录在本机了,你可以点击toolbar上的图标,弹出sql history窗口,查询你曾经执行过的sql:
sql_history.png

小结

使用MaxCompute studio,能帮助你高效的完成SQL开发, 阅读与运行。当需要自定义加工逻辑时,studio也支持你开发用户代码,试下UDF开发与调试吧。

联系我们

MaxCompute studio插件支持IntelliJ全系产品,具体参考安装文档
image

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
玩转大数据:从零开始掌握SQL查询基础
玩转大数据:从零开始掌握SQL查询基础
90 35
为什么大数据平台会回归SQL
在大数据领域,尽管非结构化数据占据了大数据平台80%以上的存储空间,结构化数据分析依然是核心任务。SQL因其广泛的应用基础和易于上手的特点成为大数据处理的主要语言,各大厂商纷纷支持SQL以提高市场竞争力。然而,SQL在处理复杂计算时表现出的性能和开发效率低下问题日益凸显,如难以充分利用现代硬件能力、复杂SQL优化困难等。为了解决这些问题,出现了像SPL这样的开源计算引擎,它通过提供更高效的开发体验和计算性能,以及对多种数据源的支持,为大数据处理带来了新的解决方案。
比 SQL 快出数量级的大数据计算技术
SQL 是大数据计算中最常用的工具,但在实际应用中,SQL 经常跑得很慢,浪费大量硬件资源。例如,某银行的反洗钱计算在 11 节点的 Vertica 集群上跑了 1.5 小时,而用 SPL 重写后,单机只需 26 秒。类似地,电商漏斗运算和时空碰撞任务在使用 SPL 后,性能也大幅提升。这是因为 SQL 无法写出低复杂度的算法,而 SPL 提供了更强大的数据类型和基础运算,能够实现高效计算。
HUAWEI DevEco Studio 编辑器 高效率技巧大全
HUAWEI DevEco Studio 编辑器 高效率技巧大全
106 0
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
177 0
|
5月前
|
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
128 0
|
5月前
|
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
108 0
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
163 0
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
137 0

相关产品

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