玩转MaxCompute studio SQL编辑器

简介: 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的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
3月前
|
SQL 存储 分布式计算
【万字长文,建议收藏】《高性能ODPS SQL章法》——用古人智慧驾驭大数据战场
本文旨在帮助非专业数据研发但是有高频ODPS使用需求的同学们(如数分、算法、产品等)能够快速上手ODPS查询优化,实现高性能查数看数,避免日常工作中因SQL任务卡壳、失败等情况造成的工作产出delay甚至集群资源稳定性问题。
1152 36
【万字长文,建议收藏】《高性能ODPS SQL章法》——用古人智慧驾驭大数据战场
|
4月前
|
SQL 分布式计算 大数据
SparkSQL 入门指南:小白也能懂的大数据 SQL 处理神器
在大数据处理的领域,SparkSQL 是一种非常强大的工具,它可以让开发人员以 SQL 的方式处理和查询大规模数据集。SparkSQL 集成了 SQL 查询引擎和 Spark 的分布式计算引擎,使得我们可以在分布式环境下执行 SQL 查询,并能利用 Spark 的强大计算能力进行数据分析。
|
6月前
|
SQL 人工智能 分布式计算
别再只会写SQL了!这五个大数据趋势正在悄悄改变行业格局
别再只会写SQL了!这五个大数据趋势正在悄悄改变行业格局
141 0
|
8月前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
9月前
|
SQL 大数据 数据挖掘
玩转大数据:从零开始掌握SQL查询基础
玩转大数据:从零开始掌握SQL查询基础
370 35
|
8月前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
SQL 算法 大数据
为什么大数据平台会回归SQL
在大数据领域,尽管非结构化数据占据了大数据平台80%以上的存储空间,结构化数据分析依然是核心任务。SQL因其广泛的应用基础和易于上手的特点成为大数据处理的主要语言,各大厂商纷纷支持SQL以提高市场竞争力。然而,SQL在处理复杂计算时表现出的性能和开发效率低下问题日益凸显,如难以充分利用现代硬件能力、复杂SQL优化困难等。为了解决这些问题,出现了像SPL这样的开源计算引擎,它通过提供更高效的开发体验和计算性能,以及对多种数据源的支持,为大数据处理带来了新的解决方案。
|
SQL 存储 算法
比 SQL 快出数量级的大数据计算技术
SQL 是大数据计算中最常用的工具,但在实际应用中,SQL 经常跑得很慢,浪费大量硬件资源。例如,某银行的反洗钱计算在 11 节点的 Vertica 集群上跑了 1.5 小时,而用 SPL 重写后,单机只需 26 秒。类似地,电商漏斗运算和时空碰撞任务在使用 SPL 后,性能也大幅提升。这是因为 SQL 无法写出低复杂度的算法,而 SPL 提供了更强大的数据类型和基础运算,能够实现高效计算。
|
程序员 开发工具 git
HUAWEI DevEco Studio 编辑器 高效率技巧大全
HUAWEI DevEco Studio 编辑器 高效率技巧大全
312 0

相关产品

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