更新时间:2022-07-01 GMT+08:00

SQL编辑器

SQL作业编辑器支持使用SQL语句执行数据查询操作。支持SQL2003,兼容SparkSQL。

在总览页面,单击左侧导航栏中的“SQL编辑器”或SQL作业简介右上角的“创建作业”,可进入“SQL编辑器”页面。

进入SQL编辑器,页面会提示系统将创建DLI临时数据桶。该桶用于存储使用DLI服务产生的临时数据,例如:作业日志、作业结果等。如果不创建该桶,将无法查看作业日志。可以,实现定时删除OBS桶中的对象或者定时转换对象的存储类别。桶名称为系统默认。

如果不需要创建DLI临时数据桶,并且希望不再收到该提示,可以勾选“下次不再提示”并单击“取消”

“SQL编辑器”页面中的区域和按键功能介绍如下:

导航栏

页面左侧的导航栏包括“库表”列表和“队列”列表,说明如下。
表1 导航栏按键说明

序号

页签/按键

页签/按键名称

描述

1

库表

显示已有的数据库及其下所有的表。

  • 单击数据库名,将显示该数据库中的表。
  • 单击表名,将在表名下显示该表中的元数据,最多可显示20个元数据。
  • 双击表名,将在作业编辑窗口自动输入SQL查询语句。

2

队列

显示已有的队列。

3

模板

内置的SQL样例模板,目前包含22条标准的TPC-H查询语句。

4

创建

包括创建队列、数据库和表。具体操作请分别参考创建队列创建数据库和表

5

刷新

包括刷新已有的队列、数据库和表列表。

6

搜索

可输入关键字查找对应的数据库和表。

SQL作业编辑窗口

页面右侧上方为SQL作业编辑窗口,按照从上至下,从左至右的顺序,说明如下。
表2 SQL作业编辑窗口说明

序号

按键

描述

1

执行引擎

SQL作业支持spark和openLookeng(基于Apache Presto)两种引擎:

  • spark引擎适用于离线分析。
  • openLookeng引擎适用于交互式分析,当前仅支持default队列。

2

队列

下拉选择需要使用的队列。如果没有可用队列,此处显示“请选择队列”,请先创建队列。

3

数据库

下拉选择需要使用的数据库。如果没有可用数据库,此处显示“请选择数据库”,请先创建数据库。

说明:

如果SQL语句中指定了表所在的数据库,则此处选择的数据库无效。

4

执行

执行作业编辑窗口中的SQL语句。

5

格式化

格式化SQL语句。

6

语法参考

可跳转至《数据湖探索SQL语法参考》手册。

7

设置

DLI可以通过“key/value”的形式设置提交SQL作业的属性。最多可设置10个属性。

8

更多

包括:

  • 语法校验:判断SQL语句编写是否正确。
  • 设为模板:将常用的SQL语句设为模板。具体操作请参见SQL模板管理
  • 选择模板:选择已保存为模板的SQL语句。
  • 切换主题:选择白底黑字或黑底白字。

9

SQL语句编辑区

编辑SQL语句的区域。

10

光标位置

标识光标在SQL语句编辑区中的位置(行,列)。

11

快捷键

快捷键介绍具体请参考表3

表3 快捷键说明

快捷键

描述

Ctrl+R或Ctrl+Enter

执行SQL。通过按下键盘上的Ctrl+R或Ctrl + Enter,您可以执行SQL语句。

Ctrl+F

格式化SQL。通过按下键盘上的Ctrl + F,您可以将SQL语句格式化。

Ctrl+Q

语法校验。通过按下键盘上的Ctrl + Q,您可以对SQL语句进行语法校验。

Ctrl+Z

回退。通过按下键盘上的Ctrl + Z,您可以将作业编辑窗口中的SQL语句回退到前一步操作的状态。例如,将格式化的SQL语句,回退到格式化之前。类似于常用的撤销功能。

Tab

自动联想。通过按下键盘上的Tab键,您可以快速寻找所需的SQL语句关键词,数据库名和表名。

  • 按下Tab键时,需保证鼠标光标位于作业编辑窗口中。
  • 若在作业编辑窗口中没有内容,提示的内容将按照数字,字母顺序排列。
  • 若在作业编辑窗口中给出关键词的首字母,提示的内容将包含以此首字母开头的SQL语句关键词,数据库名和表名。

F11

全屏。通过按下键盘上的F11,您可将SQL作业编辑器窗口全屏。再次按下F11,将从全屏复原。

“执行历史”和“查看结果”

页面右侧下方为SQL作业“执行历史(最近一周)”页签和“查看结果”页签,说明如下。

  • 执行历史
    表4 SQL作业执行历史说明

    区域

    描述

    执行历史(最近一周)

    执行历史(最近一周):显示最近一周提交的作业的信息。包括:
    • 队列名称
    • 创建时间
    • 状态
    • 执行语句
    • 操作:
      • 编辑:重新编辑SQL语句
      • 终止:停止执行SQL语句
      • SparkUI:跳转至SparkUI查看SQL语句执行进程
      • 导出日志:导出SQL语句运行日志

    可以通过以下方式筛选执行历史:

    • 在右上角选择队列名称或输入执行语句
    • 在列表中选择创建时间顺序/倒序排列
    • 在列表中选择作业状态
  • 查看结果
    表5 SQL作业查看结果说明

    序号

    按键

    描述

    1

    清空

    清空显示的SQL语句执行结果。

    2

    结果图形化/表格展示

    以图形/表格的形式展示查询结果。

    3

    导出结果

    将查询结果导出到OBS。具体操作介绍请参考导出查询结果

SQL查询操作步骤

  1. 登录数据湖探索管理控制台,选择SQL作业,单击“创建作业”,进入“SQL编辑器”页面。
  2. 进入“SQL编辑器”页面后,系统会提示“创建DLI临时数据桶”,用于存储使用DLI服务产生的临时数据,如:作业日志、作业结果。如果不创建该桶,您将无法查看作业日志。单击“确定”。系统将提示创建临时桶成功。
  3. 在SQL作业编辑窗口右上方的“队列”列表中选择所使用的队列,默认选择“default”。创建队列操作步骤请参见创建队列
  4. 在SQL作业编辑窗口右上方的“数据库”列表中选择所使用的数据库,例如选择数据库“qw”
  5. 创建表,例如表名为“qw”。创建数据库和表操作步骤请参见创建数据库和表
  6. 在SQL作业编辑窗口输入表“qw”的SQL查询语句:
    1
    SELECT * FROM qw.qw LIMIT 10;
    

    或者双击左侧表名“qw”,上述查询语句会自动在作业编辑窗口中输入。

  7. 单击“更多”中的“语法校验”,确认SQL语句书写是否正确。
    1. 若语法校验失败,请参考《数据湖探索SQL语法参考》,检查SQL语句准确性。
    2. 若语法校验通过,单击“执行”,阅读并同意隐私协议,单击“确定”后执行SQL语句。
    3. SQL语句执行成功后,在SQL作业编辑窗口下方会显示执行结果。
  8. (可选)在查看结果页签,单击右上侧“结果图形化”,查询结果将以图形形式呈现。再单击“表格展示”,查询结果可切换回表格形式。
    • 若执行结果中无数值列,则无法进行图形化。
    • 图形类型包括柱状图、折线图、扇形图。
    • 柱状图和折线图的X轴可为任意一列,Y轴仅支持数值类型的列,扇形图对应图例和指标。

作业编辑窗口操作技巧

  • 在SQL作业编辑窗口中导入SQL语句的简便方法
    • 可以双击左侧导航栏列表中的表名,即可将选定表的查询语句导入SQL语句编辑窗口中,单击“执行”,即可完成查询。
    • 可以将表名、列名直接拖拽入作业编辑窗口中,编写SQL语句。
    • 可以通过单击“更多”,选择“设为模板”,将对应的SQL语句保存为模板,供将来执行使用。

      需要使用时,通过单击“更多”,选择“选择模板”,在已有模板中双击所需的SQL语句,导入SQL作业编辑窗口中,单击“执行”,或根据需要进行修改后执行。

    • 可以批量执行SQL语句。
  • 作业编辑窗口的特点
    作业编辑窗口具有以下三个特点。
    • 颜色突出显示 - 常用语法采用不同颜色突出显示。
    • 注释支持 - 支持单行注释和多行注释。以“--”开头,后续内容即为注释。
    • 光标位置显示 - 可以用于确认位于作业编辑窗口内的鼠标光标的列号和行号。