使用SQL分析连接

本文介绍如何通过MaxCompute控制台的SQL分析功能,进行SQL语句的在线编辑、执行与结果分析。

功能概述

  • 支持在线编辑与执行SQL语句,并可对查询结果进行图表化展示与分析。

  • 内置公共数据集Demo,可直接运行以快速体验和测试MaxCompute功能。

使用场景

  • 快速体验:基于公开数据集快速体验MaxCompute的核心功能。

  • 临时测试:临时运行SQL命令,例如:查看表数据。

SQL分析界面

编辑区

image

模块

说明

标签栏

文件标签,可以同时打开多个文件。

  • 鼠标左键双击标签空白处可以快速新建.sql文件。

  • 标签栏空白处右键后选择新建文件

工具栏

  • 运行:执行SQL脚本,您可以选中当前文件中的某段SQL脚本运行,如果不选择,默认执行当前文件内所有SQL脚本。

  • 停止:单击运行后,出现停止按钮。

  • 保存:当前公测版本暂时无云上文件存储能力,仅支持保存到本地。请保存为.sql文件。

  • 格式化:格式化当前文件内的SQL代码。

  • 运行结果:如果当前文件执行过SQL脚本,且结果区被隐藏,可以通过此按钮显示结果区。

  • SQL扫描预估:执行COST SQL语句进行计量预估,返回SQL语句的扫描量和复杂度。

编辑器

  • 脚本首行需要是正常参与运行的脚本。

  • 当一个.sql文件有多个SQL脚本的情况下,如果有Flag(SET语句)需要统一放在头部,且Flag会作用于该文件下所有SQL。

  • 支持全屏模式打开输入、执行并查看结果。

运行参数配置区

image

模块

说明

项目

  • 选择需要运行SQL代码的项目,必选项。

  • 所选项目需要当前账号对其有create instance权限。

  • 首次运行需要选择项目,之后缓存会记录上一次选择的项目,可以随时更换。

  • 选择之后对所有文件标签页生效。

计算配额

  • 选择需要使用的计算配额(Quota),非必选

  • 如果选择,需要选择当前账号有usage权限的Quota;

  • 如果不选择,则使用所选项目的默认计算Quota

  • 选择之后对所有文件标签页生效。

结果区

image

模块

说明

问题

脚本执行前自动校验编辑区所有打开的文件脚本的语法和规范。

元数据

选中表数据公开数据集中的对象(表、资源或自定义函数),展示相应的元数据详情,包括但不限于对象的基础信息、列信息、生成DDL、数据预览等。

注意需要对应对象的相关数据权限

结果

执行脚本的结果:

  • 运行列表:当前文件每个SQL执行一次就会有一个开始时间记录。可以通过此处单击选择查看每次运行的相关信息。

  • 日志:每次执行的日志内容。

  • SQL:每次运行的具体SQL代码。

  • 结果列表:如果有展示的结果会在此展示。

  • 分析:如果有结果,可以在此进行简单的图表分析。

SQL扫描预估

展示SQL扫描预估时执行的COST SQL语句结果,包含执行日志和结果。

资源管理器

image

资源管理器右侧空白处右键,可以配置资源管理器的展示模块,比如隐藏时间线模块。

模块

说明

文件列表

  • 首次访问时显示无打开的文件夹

  • 单击打开文件夹按钮,打开本地文件夹,首次打开会有弹框让您确认查看文件夹权限。

重要

每次系统尝试读取本地文件夹时,都需要手动授予文件夹下全部文件的访问权限以保障数据安全。

同时不会在服务器中保存文件夹下的任何内容。

公开数据集DEMO

  • MaxCompute SQL分析内置的公开数据集Demo Query文件,可以直接运行或临时编辑后运行,但不支持修改线上Demo文件,在刷新页面后文件内容会回到初始状态,请自行保存修改后的文件至本地

  • 内置的Demo主要基于公开数据集编辑的SQL,公共数据集都是采用Schema存储,因此脚本会默认加上set odps.namespace.schema=true; 打开Schema语法开关。

  • 内置的Demo文件中,每个文件包含多个SQL脚本,脚本名中-query前的数字即为Query个数,特别是TPC-DS数据集的Demo,每个文件包含99Query,分为不同数据量规格,执行会消耗计算资源,请谨慎操作。

时间线

记录编辑区打开文件的操作日志,日志信息存储在缓存中,清理缓存后日志会被清空。

搜索

image

模块

说明

搜索

  • 资源管理器中所有文件内容的全局搜索,例如搜索哪些文件含有FROM table_test1语句。

  • 单击搜索结果即可将对应文件在右侧编辑区打开并直接定位到此关键字的位置。

替换

  • 将搜索到的关键字替换成其他语句。

  • 例如将所有文件中FROM table_test1语句替换为FROM table_test2,即在搜索框里输入FROM table_test1搜索,替换框里输入FROM table_test2,单击image按钮进行替换。

表数据

image

展示当前租户在Region下所有Project的对象列表,包括Schema、Tables、Views、Resources、Functions等。

  • 展示范围阿里云账号可以查看所有项目列表,RAM用户需要被添加至项目中才能查看对应项目。

  • SYSTEM_CATALOG项目:列表中的SYSTEM_CATALOG项目目前主要为租户级别Information Schema所属的系统项目,由系统默认创建,INFORMATION SCHEMA通过View形式置于该项目的“INFORMATION_SCHEMA”Schema下,可直接查看。

  • 查看权限:查看项目内的对象列表需要有对应的List权限

    对于Table对象,如果当前登录账户有SELECT权限,则对应Table列表的图标为绿色的表格图标image,以此快速分辨有权限的表。

  • Schema层级:点击项目展开后,如果项目有Schema层级,将会先展示Schema列表;若没有,则直接展示数据对象分类,点击各项分类展开对应类型下的对象列表。

  • 点击某个对象,会在右侧结果区的元数据页签展示该对象的元数据详情。

公开数据集

image

展示系统提供的公开数据集的表元数据信息。

使用SQL分析

  • 由于执行SQL作业需要在项目里发起,因此,在开通MaxCompute服务后,需先创建项目才能进行SQL分析。

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 创建MaxCompute项目

    由于执行SQL作业需要在项目里发起,因此,在开通MaxCompute服务后,需先创建项目才能使用SQL分析功能。

  3. 在左侧导航栏,选择数据探索 > SQL分析

  4. 数据探索SQL分析页面,新建SQL文件。

    1. 首次访问SQL分析时,默认会创建并打开一个名为untitled_xSQL文件,可以直接编辑。

    2. 在编辑区文件标签栏空白处双击新建SQL文件。

    3. 在编辑区文件标签栏右键新建文件。

  5. SQL代码编辑框输入SQL后,单击右侧运行参数,配置项目计算配额

    • 项目必选,指定该SQL在哪个项目内执行。因此需要选择当前账号有CREATE instance权限的项目。

    • 计算配额非必选,即实现作业级别指定Quota。如果指定Quota,则需要选择当前账号有USAGE权限的Quota;如果不选择,则SQL会在项目配置的默认计算Quota里执行。

  6. 单击运行,在运行结果处单击image图标,可以实现运行结果的简单可视化分析。

    SQL分析界面不支持下载执行结果,若需要将结果下载至本地,可使用以下方法:

    • MaxCompute客户端(odpscmd)中执行该SQL任务,然后通过Tunnel命令将结果下载至本地。详情请参见下载Instance数据

    • DataWorks数据开发界面的ODPS SQL节点中执行该SQL任务,然后通过界面的导出按钮将结果下载至本地。详情请参见导出、分享和下载电子表格

  7. 单击保存,将当前SQL文件保存到本地。