为什么80%的码农都做不了架构师?>>>   

摘要: SQL因其简单易学的特点,是用户与MaxCompute服务交互的主要手段。如何帮助用户高效愉快的编写SQL是MaxCompute studio的核心使命,下面就让我们来一探究竟: 忘记语法 相信大家都有过忘记SQL怎么写的时候,一旦忘记,恐怕只能到处去找文档和代码示例,被迫离开全神贯注的SQL editor,十分影响效率。

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

忘记语法

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

此时,SQL editor中会立刻插入添加列的语法模板,你只需继续输入表和列即可(使用tab键在待编辑元素间切换)

忘记Schema

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

列表与搜索

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

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

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

智能提示

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

schema关联

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

定义跳转

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

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

代码检测

SQL除了满足语法,我们也定义了一些规则,来检测你所写的SQL是否有潜在问题,譬如:

全部的规则列表可在Preference - Editor - Inspections - MaxCompute 处查看。

轻松阅读

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

语法高亮

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

括号匹配与代码折叠

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

格式化

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

可视化

点击SQL editor左下侧的graph标签页,能以POT图的方式展现SQL结构,譬如下图(对应的SQL文本select * from hy_test):

目前此图颜值不高,接下来我们会改进,使得与SQL运行时的Job Graph一样美。

使用查找

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

运行

部分执行

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

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

console无缝集成

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

运行历史

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

原文链接

本文为云栖社区原创内容,未经允许不得转载。

转载于:https://my.oschina.net/yunqi/blog/1820147

玩转MaxCompute studio SQL编辑器相关推荐

  1. MaxCompute studio与权限那些事儿

    背景知识 MaxCompute拥有一套强大的安全体系,来保护项目空间里的数据安全.用户在使用MaxCompute时,应理解权限的一些基本概念: 权限可分解为三要素,即主体(用户账号或角色),客体(表/ ...

  2. MaxCompute studio与权限那些事儿 1

    背景知识 MaxCompute拥有一套强大的安全体系,来保护项目空间里的数据安全.用户在使用MaxCompute时,应理解权限的一些基本概念: 权限可分解为三要素,即主体(用户账号或角色),客体(表/ ...

  3. 代码快速“检”“修”不是梦,阿里云MaxCompute Studio 2.9.0 新版本发布

    摘要: 阿里云MaxCompute Studio 2.9.0 新版本发布,此次发布的新版本,在原有功能的基础上增加了新功能,分别是支持代码检查和快速修复:支持graph开发及调试. 近日,阿里云大数据 ...

  4. MaxCompute Studio使用心得系列7—作业对比

    2019独角兽企业重金招聘Python工程师标准>>> 在数据开发过程中,我们通常需要将两个作业进行对比从而定位作业运行性能或者结果有差异的问题,但是对比作业时需要同时打开两个stu ...

  5. sql优化ppt_一款跨平台免费的开源 SQL 编辑器和数据库管理器!

    大家好,我是 JackTian. 今天给大家推荐一款适用于Windows,Linux和Mac的跨平台免费的开源SQL编辑器和数据库管理应用程序 -- beekeeper-studio. Beekeep ...

  6. MaxCompute Studio使用心得系列6——一个工具完成整个Python UDF开发

    摘要: 2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF,万众期待的功能终于支持啦,我怎么能不一试为快,今天就分享如何通过Studio进行Python ...

  7. 云小课 | 玩转HiLens Studio之手机实时视频流调试代码

    摘要:在开发技能过程中,搭配视频流调试技能是非常必要的环节,也是检验技能效果的重要环节.HiLens Studio推出使用手机实时视频流调试代码的功能,以手机摄像头实时的视频流作为技能输入,查看技能输 ...

  8. MaxCompute Studio使用心得系列3——可视化分析作业运行

    上一篇写分享了通过MaxCompute Studio 编写sql脚本时"编译"功能带来的便捷,这次分享脚本编译好提交运行后,自助查看作业的执行情况. 我们很熟悉的是通过logvie ...

  9. 直接在Visual Studio代码编辑器中加密字符串文件

    String encryption is used everywhere in desktop & mobile software. You might not even know about ...

最新文章

  1. JavaScript—ES6 元编程(5)
  2. 解决编译twrp3.0.3遇到的问题
  3. python实现logistic_用Python实现机器学习算法—Logistic 回归算法
  4. 数字笔记-Notion使用教程
  5. c# MEF框架(四 MEF高级进阶)
  6. springmvc(6)乱码及restful风格
  7. Jmeter读取Excel,BeanShell取样器调用rt.jar和jxl.jar
  8. word文档中页眉页脚的设置问题
  9. Java 数组 定义一个数组,获取数组中的最大值和最小值,奇数个数和偶数个数...
  10. 【排坑】内外部事务的回滚问题(三)
  11. 【娜家花园养花小记】
  12. 【js练习】鼠标移入和移出事件
  13. 显微镜下的大明内容_读《显微镜下的大明》有感
  14. html5 视频缩略图,应用canvas获取video的缩略图
  15. Python手把手实现远程控制桌面
  16. RT_Thread_空闲线程
  17. 百度seo算法_SEO秘诀:Google的逆向工程算法
  18. speedoffice表格中如何隐藏网络线
  19. excel表格如何打斜杠
  20. 奥利给,redis项目中初体验

热门文章

  1. Redis进阶-分布式存储 Sequential partitioning Hash partitioning
  2. 如何设计登录接口,十分钟内连续登录5次失败,需要等待30分钟才能登录
  3. form 多个submit php,一个复杂的PHP表单处理方案?
  4. python获取用户输入的数字_Python 将用户输入的数字 提取整数谢谢
  5. python 常用内置函数_Python小白必备的8个最常用的内置函数(推荐)
  6. 更易于使用的Retrofit(不用写注解)
  7. halcon算子盘点:Chapter 18:元组Tuple
  8. 反引号注入_什么是 SQL 注入?
  9. 多类感知器算法题目_先进算法讲解
  10. tp5 excel 导入 mysql_TP5框架下MySQL通过LOAD DATA INFILE批量导入数据详细操作