前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >想在DataGrip里写SQL般丝滑的写FlinkSQL?安装它就完事儿了

想在DataGrip里写SQL般丝滑的写FlinkSQL?安装它就完事儿了

原创
作者头像
泊浮目
发布2023-12-27 22:59:41
2150
发布2023-12-27 22:59:41
举报
文章被收录于专栏:狗哥的专栏狗哥的专栏

版本

日期

备注

1.0

2023.8.8

文章首发

“FlinkSQL对于大数据开发者们来说是一个很常见的API,它的存在巨幅提升了开发效率,使开发者不用再面向底层细节,可以更加专注于自己的业务。”我在刚开始写FlinkSQL时,留下了这样的印象。

随着我越来越频繁的使用FlinkSQL,我发现了一个问题——FlinkSQL的确很好用,它和标准的SQL差别不大,但写起来明显没有在DataGrip里写SQL来得快乐:如果有一个类似DataGrip的工具,开发FlinkSQL的效率可以更高。问了身边一圈同事,发现大家都没有趁手的工具。

从DataGrip的官网(https://www.jetbrains.com/datagrip/)上可以看到,它的功能非常齐全,的确是一款值得付费的工具。从它的页面上了解关于编辑属性的功能,我认为有几点是可以有效提升体验的:

  1. 代码高亮:关键字和自定义的一些标识符都一个颜色,看起来真的好难受。一些常见的IDE里都会把他们区别开来。
  2. 代码提示补全:对于一些关键字,只要输入前缀,就可以选择补全,有效减少输入量与开发者脑部负担。
  3. 语法错误提示与建议修复:在写错code时及时给出提示,尽早修复问题,避免拖到runtime。
  4. 指定字符重构:使用频率不高,但是用到时有这个功能就很爽——对于同一个alias做全文rename,如果没有的话一个个去改会非常痛苦。

基于上述情况,我阅读了IDEA和VS Code的开发者文档,考虑到实现工作量,先开发了一款名为Flink SQL Helper的VS Code插件,希望这款插件能够让开发者们高效、专注地完成FlinkSQL的开发。地址:https://marketplace.visualstudio.com/items?itemName=CamileSing.flink-sql。下面我们一起来看一下这个插件结合VS Code实现的相关功能。

1. 功能介绍

代码高亮属于基本操作,不再特意描述。并且支持配置来调整颜色(见2.1 Color theme recommend)。

1.1 代码补全

根据关键字以及上下文,可以及时给到建议做代码补全。

有些语句总是想复制?我们还有snippets

在FlinkSQL or SQL里,有些语法并没有这么好记住。于是在日常开发中写这样的语句我们往往会去复制粘贴,针对这点,我提供了snippets。只要输入关键字,就可以打出模版代码,让开发者专注在编写Flink SQL上。

1.2 语法错误提示

错误提示是个很重要的功能,让错误尽早地被发现可以有效提升开发效率——举个例子,当我们的Flink SQL比较长时,拉起来就要耗一些时间,等startup的时候错误才会报出来。如果错误有好几个,那么每次startup只会检查出一个,通过这样的方式来排错特别耗时。在这个插件中,写完Flink SQL只要保存一下,插件就会做一次语法检测,如果有问题就会在右下方提示。

1.3 重构

临时视图,source、sink表的重命名都可以用它来解决。

1.4 发现文件中所有的引用处

这个功能在我们阅读代码时会特别实用。查看某些标识符被引用的地方,并快速跳转。

1.5 直接运行代码

VS Code虽然是一款编辑器,但完全可以通过定制、安装插件的方式来将其打造成一个IDE。根据https://code.visualstudio.com/docs/java/java-debugging的配置,我们可以让FlinkSQL相关在VS Code里跑起来,实现一体化高效开发。

2. 使用方法

介绍了一轮功能,那么如何获取并使用这个插件呢?

  1. 下载一个VS Code。
  2. 在插件栏中搜索"Flink",可以看到...,点击安装。
  3. 除了语法错误提示,其他功能都是开箱即用的。如果想使用语法错误提示功能,需要打开设置(见下),并将保存方式改为手动保存,以获取较好的体验——语法检查会在保存时触发。

3. 结语

以上内容为Flink SQL Checker on VS Code v1.9.x版本的主要功能。如果大家有任何建议或者需求、问题反馈,可以在Github的Issue(https://github.com/camilesing/Flink-SQL-Checker-VSCode/issues)中反馈,我看到后会第一时间回复。也欢迎各路大神一起参与开发,打造更好的插件。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 功能介绍
    • 1.1 代码补全
      • 有些语句总是想复制?我们还有snippets
    • 1.2 语法错误提示
      • 1.3 重构
        • 1.4 发现文件中所有的引用处
          • 1.5 直接运行代码
          • 2. 使用方法
          • 3. 结语
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档