DWS-SQL编辑器功能介绍
DWS-SQL编辑器功能介绍
1. 前言
- 适用版本:【DWS8.3.1及以上】
SQL编辑器基于DWS集群数仓提供用户快速登陆开发数据的能力,致力于为用户提供一站式数据开发、接入、处理等功能的平台,帮助用户快速连接DWS集群,减少操作的复杂性。工具提供自定义数据源和IAM账号直接登陆两种连接方式,支持数据库、模式、表图形化操作管理,支持SQL编辑执行,执行计划可视化,结果集可图形渲染和导出,支持OBS数据导入导出,支持SQL脚本文件上传到OBS,提供SQL分析给出修复建议,支持执行SQL记录查看等能力。
2. 登录DWS集群数据库
-
从DWS的专属集群列表,选择某一个正常集群,点击登陆按钮会跳转到SQL编辑器界面,并且弹出创建数据源窗口,输入对应的用户名和密码(已经创建过就无需再创建),也可以在数据仓库面板选择一个集群直接点击登陆。 提示:如果没有SQL编辑器菜单可能是需要先打开白名单配置,找对应的oncall去处理即可。
-
如果希望直接用IAM账号登录数据仓库,那么前提是当前用户必须是IAM子账号,且用户拥有DWS Database Access权限。对于集群版本也有要求,集群版本必须得是8.1.3.331(包含)~ 8.2.0(不包含)、8.2.1.100及以上,存算分离集群仅9.1.0及以上集群版本支持。
-
如果想对数据库用户赋权可以到DWS专属集群-》集群详情-》用户管理 下对数据库用户进行赋权或者取消权限,也可以新增或者删除用户。
2.1 自定义创建连接
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
左边有两个面板,“数据仓库”和“自定义”,切换到**“自定义”面板,可以单击“新增数据源”**(或在“专属集群”页面单击指定集群操作列的“登录”按钮)。
集群:选择需要连接的集群。
SSL认证,集群开启SSL认证后需要勾选。
数据库:填写数据库名称,如果是新创建集群可填写DWS集群默认数据库gaussdb,也可以根据需要进行编辑切换其他数据库。
数据源名称:设置数据源名称。
用户名:设置用户名称。
密码:设置用户的密码。此密码仅用于创建数据源、获取数据源连接以使用WEB-SQL编辑器功能。勾选“记住密码”打开数据源时用默认密码进行登录,不勾选刷新界面或者登录过期打开数据源时需要重新输入密码。
2.2 IAM账号登录
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
左边有两个面板,“数据仓库”和“自定义”,数据仓库是IAM子用户登录,只支持拥有DWS Database Access角色权限的子账号。符合条件后可选择一个集群名称单击打开,即连接上集群数据库可进行操作。
3. 数据开发操作
3.1 创建数据库
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至“数据源”面板,数据源连接成功后,右键数据库名称,再单击**“创建数据库”**按钮。
-
页面右边弹出“创建数据库”页面,可根据需求填写。
- 数据库名称:设置数据库名称。
- 所有者:下拉框选择创建数据库所有者。
- 兼容模式:下拉框选择数据库兼容模式,包含Oracle、MySQL和Teradata三种,默认为Oracle。
- 编码:下拉框选择创建数据库编码方式,推荐SQL_ASCII。
- 连接限制:输入值不能小于-1,-1表示无限制。
- 描述:输入新增数据库的相关描述。
- SQL预览:可单击“点击预览”显示创建数据库SQL语法。
-
确认无误后,单击“确定”。
3.2 新建模式
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至“数据源”面板,新增数据库后,数据库包含用户模式、系统模式、外部服务器。
-
右键用户模式名称,再单击**“新建模式”**按钮。
-
弹出“新增模式”页面,用户可根据需求填写。
- 模式名:设置模式名称。
- 所有者:下拉框选择新建模式所有者。
- 描述:输入新建模式的相关描述。
- SQL预览:单击“点击预览”显示新建模式SQL语法。
-
确认无误后,单击“确定”
3.3 新建普通/分区表
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至**“数据源”**面板,新增模式后,模式包含普通表、外表、视图、函数、序列和同义词等结构。
-
右键普通表名称,再单击**“新建普通表”**可新增一个表,新增普通表的弹窗包含属性、列、数据分布、分区、索引和约束等选项,其中属性和列字段是必填的选项。可单击SQL预览,查询创建表的SQL语句。
面板 面板说明 属性 数据表名:设置数据表名。表存储方式:可选择ROW和COLUMN。是否分区表:选择该表是否为分区表。描述:输入新建普通表的相关描述。 列 单击“添加列”,设置如下参数:列名:设置列名称。数据类型:下拉框选择新增列对应的数据类型。长度:总位数。置灰表示固定长度。精度: 范围,小数位数。置灰表示无精度设置。非空:勾选新增列是否有非空约束。唯一:勾选新增列是否有唯一约束。 数据分布 有以下三种选择:ROUNDROBIN:表的每一行数据被依次地发送给各个DN。REPLICATION:表的每一行数据存在所有数据节点中,即每个数据节点都有完整的表数据。HASH:对指定的列进行Hash,通过映射,把数据分布到指定数据节点。 分区 可在“分区”面板具体选择“分区类型”(范围分区和列表分区)和“可选列”(对应选择表字段)。单击“新增分区”,设置如下参数:分区名称:设置分区名称。分区值:根据上述“可选列”的字段值做分区边界,在范围内选择。 索引 单击“新增索引”,设置如下参数:索引名称:设置索引名称,可勾选是否为唯一索引。访问方式:下拉框选择索引访问方式,推荐btree。索引类型:可选“列”和“表达式”。条件索引:增加where条件约束。 表约束 单击“新增约束”,设置如下参数:约束类型:可选check、unique或primary。表达式(check参数):可设置字段约束条件。约束名称:设置约束名称。可选列(unique\primary参数):下拉框选择可选列。 SQL预览 单击“点击预览”显示创建普通表SQL语法。 -
确认无误后,单击“确定。
3.4 操作列/索引/约束/分区
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至“数据源”面板,新建普通表后,可对普通表进行编辑操作
-
右键普通表名称,修改操作如下表所示:
操作 操作说明 修改普通表 单击“修改”按钮可修改表名、模式以及描述。 删除普通表 单击“删除”按钮可删除该普通表。 操作列 单击“操作列”按钮可批量新增列、编辑列(列名、数据类型、长度、是否非空)和删除列。 操作索引 单击“操作索引”按钮可批量新增索引、编辑索引(索引名称)和删除索引。 操作约束 单击“操作约束”按钮可批量新增约束、编辑约束(约束名称、可选列)和删除约束。 操作分区(非分区表该按钮置灰) 单击“操作分区”按钮可批量新增分区、编辑分区名称和删除分区。
3.5 查看普通表/视图数据
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至“数据源”面板,右键数据表名称,,如果是查看视图数据,则右键视图名称。
-
单击“查看数据”按钮可新增、筛选查看、编辑和删除普通表数据信息,视图的数据只能筛选,无法编辑。
操作 操作说明 筛选 单击“筛选”按钮可打开搜索框,填入where 条件SQL,会根据给出的SQL条件进行查询内容。 新增 单击“新增”按钮可新增一行空格,填入对应的内容,保存会插入一条数据。 刷新 单击“刷新”按钮可重新搜索下普通表内容,输入的where条件继续保留。 编辑 单击“编辑”按钮可选择一行数据进行修改、注意修改的内容必须是唯一的一条数据,避免误操作,会提示操作的数据超过一条返回报错。 删除 单击“删除”按钮可选择一行数据进行删除,和编辑一样,删除的一行内容必须是唯一的,避免误操作,会提示删除的数据超过一条返回报错
3.6 导入数据
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至“数据源”面板,右键普通表名称,单击**“导入数据”**可选择导入本地Excel文件或者OBS桶文件数据到普通表中。
-
本地导入:从本地上传Excel文件,大小不能超过30M;当导入文件是CSV类型,可填写不同的分隔符对每行数据进行分隔;选择是否有表头,如果无表头,每行数据需要按照选择的表字段进行填写。
-
obs导入:从OBS桶文件中选择文件,也可以选择目录,支持CSV和TEXT文件类型。填写OBS桶导入需要创建外表的一些参数,通过OBS外表将OBS桶文件写入到选择的普通表中,需要注意的是,实时数仓(单机部署)仅8.2.0.100及以上集群版本支持通过OBS文件导入功能
参数 描述 样例值 存储位置 从OBS桶文件中选择文件。 - 文件格式 下拉框选择文件格式,支持CSV和TEXT格式。 CSV 文件编码 下拉框选择文件编码方式,推荐UTF8。 UTF8 分隔符 CSV格式下默认英文逗号,TXT格式下默认为TAB制表符。 , 引号字符(CSV格式) 用于CSV格式,只能是单字节的字符,不能和分隔符、null参数相同。 # 换行符(TEXT格式) 只能用于TEXT格式,指定导入数据文件换行符样式,取值范围:支持多字符换行符,但换行符不能超过10个字节。常见的换行符,如\r、\n、\r\n,其他字符或字符串,如$、#。 \r 是否不进行转义(TEXT格式) 只能用于TEXT格式,开启后不对\和后面的字符进行转义。 是 空值表示 用来指定数据文件中空值的表示。 $ 数据格式错误个数 指定本次数据导入允许出现的数据格式错误个数,-1代表无限制错误数。 -1 是否含有表头(CSV格式) 只能用于CSV格式,指定导出数据文件是否包含标题行,标题行一般用来描述表中每个字段的信息。 是 是否忽略字段缺失 开启后如果数据源文件中一行数据的最后一个字段缺失,则把最后一个字段的值设置为NULL,不报错。 是 是否忽略多出列 数据源文件中的字段比外表定义列数多时,是否忽略多出的列。 是 是否容错非法字符 开启后本次数据导入允许出现非法字符。 是
-
3.7 导出数据
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至**“数据源”**面板,登录需要导出数据的数据源,选择编辑框面板上方对应的数据库和模式。
-
在编辑器框内输入查询SQL语句,单击**“运行”**按钮。
-
单击查询结果下的**“导出”**按钮。
-
本地导出:将查询SQL的所有结果导出到xlsx或csv文件,可直接在本地打开查看,最多支持导出20000条数据。
-
全量导出:将查询SQL的所有结果导出到指定的OBS桶下的路径中,默认为csv文件。
-
schema结构文件转储:可以选择某个用户模式导出该模式下表,视图,函数,触发器,序列,同义词等元数据的ddl语句以及表的插入语句。
-
-
导出任务创建成功后,选择页面右上角**“常用功能 > 导出任务”**,在导出数据列表查看导出的任务。
-
导出任务成功后,可单击所在行**“文件地址”**列的路径,跳转至OBS界面下载导出成功的csv或者sql文件。
3.8 提交SQL任务
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至**“数据源”**面板,登录需要提交SQL任务的数据源,选择编辑框面板上方对应的数据库和模式。
-
在编辑框内输入非查询类的SQL语句,单击**“提交SQL任务”**按钮,将选择的SQL语句提交到后台任务执行。
说明:每次提交的非查询类SQL语句不可超过100条,同一个用户下最多支持5个正在执行的SQL任务。
-
提交SQL任务成功后,选择页面右上角**“常用功能 > SQL任务”**,在SQL任务列表查看执行的SQL任务。
-
执行任务结束后,可以单击所在行操作列的**“详情”**按钮查看每条SQL的执行情况。
3.9 计划诊断
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至**“数据源”**面板,登录需要输入SQL语句的数据源,选择编辑框面板上方对应的数据库和模式。
-
在编辑框内输入查询类的SQL语句,单击**“计划诊断”按钮,可以选择“EXPLAIN”或者“PERFORMANCE”**。
说明:每次只能诊断单条查询类SQL语句,选择多条,默认对第一条进行诊断,选择PERFORMANCE诊断会真实执行输入的SQL进行返回结果。
-
单击**“确定”后,会跳转到“计划诊断”**页面,查看SQL语句诊断结果和计划诊断可视化以及结果。
-
单击**“SQL诊断”**显示SQL语句的格式化以及诊断项。
-
切换**“计划诊断”**显示查询SQL的计划树形节点以及计划诊断结果。
-
3.10 查看数据库、schema、表统计信息
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至“数据源”面板,双击**“数据库”**名称,打开数据库的列表页,可以查看搜索数据库的具体信息。
-
单击数据库列表中某一个数据库名称,进入到schema列表,可以查看表总数,表总大小和索引大小信息。
-
单击schema列表中某一个schema名称,进入到普通表列表,可以查看表行数,表大小和索引大小等信息。
说明:这里的表行数拿的是一个预估值,可能会不准,如果需要准确获取这个值,可以提前refresh metadata元数据,刷新后查看正确的值。
3.11 共享自定义数据源
说明:编辑器支持IAM用户将自己创建的自定义数据源共享给同租户下的其它IAM用户,其它用户可以通过被分享的连接登录集群数据库,需要注意的点是,如果数据源没有保存密码,即使分享给其它用户,那么登录连接时也需要输入密码,并且被分享的数据源无法被(被共享人)再次共享。
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至**“数据源 > 自定义”**面板,创建自定义数据源,务必请记住密码。
-
右键需要分享的自定义数据源名称,单击**“共享数据源”**,在共享列表中可查看此数据源已共享的IAM用户列表。
-
单击列表上方的**“添加共享”**按钮,可选择给同租户下的其它IAM用户共享此数据源,并设置共享截止时间。
-
单击已共享的IAM用户所在行操作列**“取消共享”**按钮可取消共享。
-
单击已共享的IAM用户所在行操作列**“修改”**按钮修改共享到期时间和用户名。
-
-
被共享的IAM用户登录时,可在自定义数据源列表中看到被共享的数据源,单击数据源名称可直接登录使用。
3.12 IAM用户导出按钮权限配置
说明:编辑器支持IAM主账号控制下面的子账号点击导出按钮权限,只有主账号有权限进行配置,如果对某个集群配置IAM子账号导出禁用权限,那么这个IAM子账号登录查询这个集群里的数据时,会将导出按钮置灰,不允许点击导出。
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
切换至**“数据源 > 自定义”**面板,根据某个集群创建自定义数据源。
-
右键点击自定义数据源名称,单击**“导出权限”**,在禁用导出权限列表中可查看此集群已禁用导出的IAM用户列表。
-
单击列表上方的**“添加禁用权限”**按钮,可选择给同租户下的其它IAM子用户禁用导出按钮,并设置禁用导出截止时间。
-
单击已禁用导出的IAM用户所在行操作列**“取消禁用权限”**按钮可取消禁用导出配置。
-
单击已禁用导出的IAM用户所在行操作列**“修改”**按钮可修改禁用到期时间和IAM用户名。
-
-
被禁用导出的IAM子用户登录时,在用这个集群创建自定义数据源点击查询数据时,导出按钮会置灰。
3.13 新增目录
说明:当前只支持两级目录,每一层目录每个用户最多支持10个,也就是每个用户最多支持创建100个目录,避免文件夹嵌套太深,后期不好维护。
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”切换至脚本面板。
-
单击“新建目录”,也可以右键某个一级目录名称选择“新建目录”,这样会默认选择选择的目录作为父目录。
-
保存到目录:下拉框选择保存至父级目录。如果为空,则该目录为一级目录。
-
目录名称:设置目录名称,仅支持输入中文、英文、数字、下划线的组合。
-
-
确认无误后,单击“确定”。
3.14 新增脚本
说明:脚本可以挂载在目录下去创建,也可以不挂载目录直接创建,创建脚本数量没有限制,脚本内容实际上是保存到OBS路径地址下。
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”切换至脚本面板。
-
单击“新建脚本”,也可以直接点击“保存”,或者选中某一目录右键点击“新建脚本”。
-
保存到目录:下拉框选择新增的目录夹。该选项为可选选项。
-
脚本名称:设置脚本名称,仅支持输入中文、英文、数字、下划线的组合。
-
OBS桶:存储脚本文件的OBS桶名称。如果没有可选择的OBS桶,可以单击“创建OBS桶”进入OBS管理控制台创建新的OBS桶,具体操作请参见《对象存储服务控制台指南》中的创建桶章节。具体操作请参见《对象存储服务控制台指南》中的***“*管理桶 > 创建桶*”*章节。具体操作请参见《对象存储服务用户指南》中的*“*控制台指南 > 管理桶 > 创建桶*”***章节。
-
路径:在OBS中存储脚本文件的自定义目录。多级目录可用“/”进行分隔。路径取值范围:1~50个字符。如果不填写该路径,系统默认自动新增路径。
-
-
确认无误后,单击“确定”。
4. 数据开发设置
说明:数据开发设置针对当前用户配置,可以配置OBS桶名称、地址等信息,以及数据库,模式权限过滤等开关,用户根据个人使用习惯去配置不同的操作项
设置 | 设置描述 |
---|---|
编辑器 | 主要是对编辑器主题部分编写SQL的基础设置,比如默认选择自动联想,可补全一些关键字;选择字段提示,在写TABLE表时联想到里面的字段等。 |
快捷键 | 在编辑器上操作时可以使用快捷键来快速编写SQL。 |
用户设置 | 针对OBS进行设置,可以全局指定OBS桶,在这个桶下面创建一个文件目录后,脚本默认会保存到该OBS桶的文件夹下面,无需再选择。可以设置数据库和schema权限过滤,开启开关后,根据当前的数据库用户过滤数据库的create权限以及过滤schema的usage权限。可以设置表列名注释显示开关,开启后,select * from[表名],返回结果时表头会带上列对应的注释信息。 |
导出设置 | 针对OBS进行设置,对于用户全量导出指定的OBS桶和路径,以及可以设置全量查询超时时间控制,查询超时后导出任务终止。 |
-
登录GaussDB(DWS)管理控制台。
-
在左侧导航栏中,选择“数据 > SQL编辑器”。
-
单击“设置”按钮,可根据需求设置相应参数。
-
编辑器配置,前端控制字体,间距等显示内容
-
快捷键配置,提示用户可以使用哪些快捷键进行快速操作
-
用户设置,主要是对于脚本路径配置,数据库,模式和表的一些显示内容开关控制
-
导出设置,针对全量导出控制导出路径以及超时时间等配置
5. 总结
本文重点介绍SQL编辑器服务支持的能力,从连接登录,创建库、shema、表,再到执行SQL,提交异步任务,创建脚本等,介绍了每个功能的使用步骤以及一些限制。结合大量的图形和文字描述让任意用户都可以快速上手进行开发操作,当前工具的功能还在逐步完善中,后续博文我们将继续补充更加丰富的功能。
- 点赞
- 收藏
- 关注作者
评论(0)