使用SQL编辑器提交SQL作业
SQL编辑器简介
SQL作业编辑器支持使用SQL语句执行数据查询操作。
支持SQL2003,兼容SparkSQL,详细语法描述请参见《数据湖探索SQL语法参考》。
在总览页面,单击左侧导航栏中的“SQL编辑器”或SQL作业简介右上角的“创建作业”,可进入“SQL编辑器”页面。
本节内容介绍SQL编辑器页面中的主要功能。
使用须知
- 首次进入SQL编辑器,页面会提示设置DLI作业桶。该桶用于存储使用DLI服务产生的临时数据,例如:作业日志等。
在OBS管理控制台页面通过配置桶的生命周期规则,可以实现定时删除OBS桶中的对象或者定时转换对象的存储类别。
具体操作请参考通过配置生命周期规则。
- SQL编辑器页面可以批量执行SQL语句。
- 作业编辑窗口常用语法采用不同颜色突出显示。
- 支持单行注释和多行注释。以“--”开头,后续内容即为注释。
导航栏
页面左侧的导航栏包括“数据库”、“队列”和“模板”说明如下。
序号 |
页签/按键名称 |
描述 |
---|---|---|
1 |
数据库 |
显示已有的数据库及其下所有的表。
|
2 |
队列 |
显示已有的队列。 |
3 |
模板 |
自定义模板和内置的SQL样例模板(目前包含22条标准的TPC-H查询语句)。 |
SQL作业编辑窗口
页面右侧上方为SQL作业编辑窗口,参数说明请参考表2。
操作栏下方为SQL语句编辑区。快捷键介绍具体请参考表3。
序号 |
按键&下拉列 |
描述 |
---|---|---|
1 |
执行引擎 |
SQL作业支持Spark和Trino两种引擎:
|
2 |
队列 |
下拉选择需要使用的队列。如果没有可用队列,此处显示“default”队列,default队列为体验使用,建议重新创建队列。具体队列创建可以参考创建弹性资源池和在弹性资源池中添加队列。 SQL作业只能在队列类型为“SQL队列”下执行。 |
3 |
数据库 |
下拉选择需要使用的数据库。如果没有可用数据库,此处显示“default”默认数据库。数据库创建操作详见创建数据库和表。
说明:
如果SQL语句中指定了表所在的数据库,则此处选择的数据库无效。 |
4 |
执行 |
执行作业编辑窗口中的SQL语句。 |
5 |
格式化 |
格式化SQL语句。 |
6 |
语法参考 |
可跳转至《数据湖探索SQL语法参考》手册。 |
7 |
设置 |
包括设置“参数设置”和“标签”。 参数设置:以“key/value”的形式设置提交SQL作业的配置项。详细内容请参见《数据湖探索SQL语法参考》。 标签:以“key/value”的形式设置SQL作业的标签。 |
8 |
更多 |
包括:
|
“执行历史(最近一天)”和“查看结果”
SQL作业执行完成后可以在编辑区域下方查看执行历史和执行结果。
- 执行历史(最近一天)
可以通过以下方式筛选执行历史:
- 在右上角选择队列名称或输入执行语句
- 在列表中选择创建时间顺序/倒序排列
- 在列表中选择作业状态
图3 SQL作业执行历史
表4 SQL作业执行历史说明 区域
描述
执行历史(最近一天)
执行历史显示最近一天提交的作业的信息。包括:- 队列:队列名称
- 用户名:执行SQL的用户
- 类型:SQL作业的类型
- 状态:SQL作业的执行状态
- 执行语句
- 创建时间
- 操作:
- 编辑:重新编辑SQL语句
- SparkUI:跳转至SparkUI查看SQL语句执行进程
说明:
新建队列,运行作业时会重新拉集群,大概需要10分钟左右才能拉好集群,在集群创建好之前单击SparkUI会导致缓存空的projectID,从而导致无法查看SparkUI。建议使用专属队列,集群不会被释放,就不会有该问题,或者提交作业后等一段时间再查看SparkUI,确保集群已经拉好了,不要立即单击SparkUI。
目前DLI配置SparkUI只展示最新的100条作业信息。
default队列下运行的作业或者该作业为同步作业时不支持该操作。
- 更多:以下操作根据SQL类型和运行状态的不同显示会有差异,请以实际界面为准。
重新执行:重新执行该SQL语句。
查看结果:QUERY作业支持查看作业执行结果。
导出结果:QUERY作业这次导出作业运行结果到指定OBS路径下。
归档日志:SQL语句运行日志存储的OBS路径。
异步DDL和QUERY语句支持将结果下载到本地
说明:default队列下运行的作业或者该作业为同步作业时不支持归档日志操作。
异步DDL和QUERY语句支持将结果下载到本地。操作如下:
- 查看结果
SQL查询操作步骤
- 登录数据湖探索管理控制台,选择SQL作业,单击“作业管理 > 创建作业”,进入“SQL编辑器”页面。
进入“SQL编辑器”页面后,系统会提示“创建DLI临时数据桶”,用于存储使用DLI服务产生的临时数据。在“设置DLI作业桶”对话框中,单击“去设置”。在现实页面上单击DLI作业桶卡片右上角单击编辑符号。在弹出的“设置DLI作业桶”对话框,输入作业桶路径,并单击“确定”。
- 在SQL作业编辑窗口右上方的“队列”列表中选择所使用的队列。
- 在SQL作业编辑窗口右上方的“数据库”列表中选择所使用的数据库,例如选择数据库“qw”。
- 创建表,例如表名为“qw”。创建数据库和表操作步骤请参见创建数据库和表。
- 在SQL作业编辑窗口输入表“qw”的SQL查询语句:
1
SELECT * FROM qw.qw LIMIT 10;
或者双击左侧表名“qw”,上述查询语句会自动在作业编辑窗口中输入。
- 单击“更多”中的“语法校验”,确认SQL语句书写是否正确。
- 如果语法校验失败,请参考《数据湖探索SQL语法参考》,检查SQL语句准确性。
- 如果语法校验通过,单击“执行”,阅读并同意隐私协议,单击“确定”后执行SQL语句。
- SQL语句执行成功后,在SQL作业编辑窗口下方会显示执行结果。
当作业编辑窗口没有输入SQL语句时,单击“执行”按钮会提示“请先输入执行语句”。
- (可选)当前控制台界面查询结果最多显示1000条数据,如果需要查看更多或者全量数据,则可以单击将数据导出到OBS获取。
- (可选)在查看结果页签,单击以图形形式呈现查询结果。再单击切换回表格形式。
- 如果执行结果中无数值列,则无法进行图形化。
- 图形类型包括柱状图、折线图、扇形图。
- 柱状图和折线图的X轴可为任意一列,Y轴仅支持数值类型的列,扇形图对应图例和指标。