SQL查询

如果需要快速地对数据进行查询与分析,您可以使用SQL语句查询MaxCompute、EMR Hive、Hologres等数据源。本文为您介绍如何通过SQL语句查询数据源。

支持查询的数据源

SQL查询支持的数据源包含MaxCompute、Hologres、EMR Hive、EMR Spark SQL、EMR Impala、EMR Presto、EMR Trino、CDH hive、StarRocks、ClickHouse、AnalyticDB for MySQL3.0、AnalyticDB for PostgreSQL、MySQL。

前提条件

  • 工作空间已创建数据源,详情请参见创建并管理数据源

  • 已拥有某数据源在数据分析模块的查询权限:详情请参见数据查询与分析管控

  • 操作账号已被添加为工作空间的以下角色之一:数据分析师、模型设计师、开发、运维角色、空间管理员或项目所有者,详情请参见为工作空间添加空间成员

    说明

    使用SQL查询功能时,仅支持查询有权限的工作空间内的数据源数据,因此您需要先联系管理员将您添加为工作空间的数据分析师、模型设计师、开发、运维、空间管理员或项目所有者。

注意事项

  • 数据源权限

    标准模式工作空间仅支持授权使用开发环境的数据源;简单模式工作空间的所有数据源均需管理员授权后才可使用。

    说明
  • 数据源查询

    在数据分析查询引擎绑定时自动创建的MaxCompute数据源,默认使用个人账号执行任务,如果要访问生产表,您需在SQL命令中指定生产项目名称,若查询的表数据无权限,请前往安全中心进行申请。

  • 数据源白名单访问控制

    当使用数据分析操作MaxCompute表数据时,如果MaxCompute项目空间开启了白名单访问控制,数据分析的相关服务(例如,费用计算、数据下载、维表使用、数据上传等)可能会出现报错。为保证DataWorks数据分析服务能顺利访问MaxCompute的项目空间,则需提前配置好MaxCompute的数据分析白名单权限。

  • SQL查询已推出新版控制台,如果您的控制台与本文展示的不一致,或部分功能找不到,请参见新版SQL查询常见问题

功能概览

功能

说明

添加目录

支持您将系统推荐目录及已授权的数据源下的数据表添加至目录,添加为目录后您可快速查看相应目录下的SQl文件或者数据表,对于数据表支持您快速查看表结构并快速生成查询SQL。

创建SQL查询

您可新建SQL查询文件并手动编辑SQL查询命令,还支持您将SQL提交到指定数据源执行。

执行查询语句

编写代码后,您可以运行代码,提取需要查询的数据。

查询结果操作

SQL执行完成后,您可在查询结果页面查看运行日志、查看运行结果、查看查询结果对应的SQL内容等,还支持您使用折线图、柱状图、条形图、饼图、交叉表等对查询结果进行可视化展现。

管理SQL查询目录

在SQL查询页面,您可以统一管理SQL查询文件。

进入SQL查询

您可以通过如下两种方式进入:

  • 数据分析首页的快捷入口区域,单击SQL查询,进入SQL查询页面。

  • 数据分析模块,单击左侧菜单栏的SQL查询,进入SQL查询页面。

添加目录

SQL查询默认仅展示我的文件他人文件,其他文件目录需要通过单击搜索框右侧的数据集图标进行添加。支持下面几类文件目录添加至SQL查询文件目录,添加为目录后您可快速查看相应目录下的SQl文件或者数据表,对于数据表支持您快速查看表结构并快速生成查询SQL。

目前支持添加的目录分以下几种:

说明
  • 他人文件:展示当前租户下其他用户公开到工作空间的文件。

  • 目前最大支持添加8个数据集。

创建SQL查询

您可基于工作空间及引擎类型创建SQL查询文件。

  1. 新建SQL查询文件。

    您可以通过如下三种方式新增SQL查询文件。

    • 手动新建

      在页面左侧区域,单击我的文件右侧的添加图标,选择新建文件,根据界面提示创建SQL查询文件。

      image

    • 首次进入SQL查询页面或当前窗口没有打开SQL文件时,单击右侧页面中的新建SQL查询窗口。

      sql查询

    • 欢迎页或已有SQL文件被打开时,单击已打开文件名称右侧的创建新的SQL查询窗口。

      image

  2. 设置SQL执行数据源。

    在图示位置选择当前SQL查询需要查询的工作空间、引擎类型或数据源。选择数据源

    说明
    • 仅支持选择已授权您使用的数据源,若无目标数据源,您需要先联系管理员授权相关数据源的使用权限,并授予数据分析师、开发、运维或空间管理员其中一种权限。即可正常进行SQL查询。

    • 您可以在系统管理中修改任务运行时的资源组。

执行查询语句

在SQL编辑框内编辑对应数据源的查询代码,完成后执行对应命令即可获取查询结果。

image

使用过程中,您可以:

  • ①、②运行代码,运行完成后可查看对应代码的运行结果。

    • 方式一:选中部分代码后单击运行

    • 方式二:单击SQL语句左侧的快捷运行按钮执行一行代码。

  • ③代码版本:您也可以单击更多 > 代码版本来查看自动保存的代码和手动保存代码间差异,并选择需要的版本保存。

  • ④成本预估:单句运行时界面会提示您此次调试运行可能需要的费用,运行完整代码前,您也可以单击更多 > 成本预估来对全量代码运行可能需要的费用进行预估。

    说明

    目前仅MaxCompute可以使用该功能。

  • ⑤格式化:您也可以通过格式化将自行排版的代码一键规范化排版。

查询结果操作

SQL语句执行成功后,您可以对查询结果进行如下操作:

功能

图示

操作说明

查看运行结果中表格数据

image.png

您可单击导出,对查询结果表进行如下操作:

  • 本地文件:将查询结果下载至本地。当前下载操作无需执行审批流程。

    说明
    • 仅DataWorks增值版本支持使用导出至本地文件。

    • 不同增值版本支持导出到本地的最大数据条数不同。分别为:标准版20万,专业版200万,企业版500万。文件大小最大不超过1G。租户管理员、租户安全管理员、授权空间管理员角色的RAM用户可以进入数据查询与分析管控对查询结果的展示条数、下载条数、是否允许下载等进行管控。

    • 当前仅MaxCompute、EMR引擎数据支持导出本地文件。若MaxCompute项目开启了项目保护(即禁止下载数据),则通过数据分析下载数据会失败。MaxCompute项目保护机制,详情请参见数据保护机制

  • MaxCompute表:将查询结果保存为一张线上的MaxCompute表。无需将数据下载至本地再传至线上。您可根据需要设置表的生命周期。

  • 电子表格:用于同步查询结果至电子表格,对查询结果进行更大区域的查看等操作。详情请参见:分析数据

  • 电子表格并分享:用于同步查询结果至电子表格,并通过电子表格的数据分享功能,分享该表数据至指定用户。详情请参见:分享电子表格

查询结果可视化图表展示

image.png

支持查询结果通过折线图、柱状图、条形图、饼图等图表进行可视化展现。还支持您将查询结果保存为数据卡片,构建您专属的可视化知识库,同时,您还可以从卡片中挑选合适卡片,快速创建数据报告,轻松打造个性化作品。详情请参见增强分析(卡片和报告)

查看查询结果对应的SQL语句

sql

为您展示当前查询结果对应的SQL内容,支持对该查询结果对应的SQL语句进行快速复制和快速插入代码编辑区的操作。

管理SQL查询目录

在SQL查询页面,您可以对SQL查询文件执行如下管理操作。SQL查询

功能

描述

SQL查询目录树搜索功能

在区域①,您可以通过搜索搜索功能定位目标表。

代码搜索

在区域①,单击image.png,您可以输入关键字进行代码搜索。

运行历史

在区域①,您可以单击历史查看SQL查询历史执行记录,此记录不包括计划任务执行日志。

添加目录

在区域①,您可以单击image添加目录,支持您将系统推荐目录及已授权的数据源下的数据表添加至目录,添加为目录后您可快速查看相应目录下的SQl文件或者数据表,对于数据表支持您快速查看表结构并快速生成查询SQL。

我的文件

在区域②,我的文件为您展示您保存的SQL查询文件,您可以右键单击指定文件,分享文件至指定工作空间。分享表示该文件正在分享中,被分享的工作空间下的所有空间成员均可以在他人文件目录下看到您分享的文件。

他人文件

在区域②,他人文件为您展示当前租户下其他用户公开到工作空间的文件。

我的MaxCompute表

在区域②,我的MaxCompute表目录需要通过单击image图标进行添加。我的MaxCompute表为您展示您个人名下的MaxCompute表。包括开发表与生产表。

我的收藏

在区域②,我的收藏目录需要通过单击image图标进行添加。我的收藏为展示您个人收藏的表,您在数据集下,右键单击目标表选择收藏,收藏后文件将展示在该目录下。

公共数据

在区域②,公共数据目录需要通过单击image图标进行添加。公共数据为您展示数据分析默认提供且不需要申请权限的表,您可使用该表快速体验SQL查询产品功能。

个性化设置

支持您单击左下角的设置图标进入设置页面,进行一些个性化设置:

  • 主题设置:您可以设置SQL查询的主题风格。

  • 编辑器设置:您可以设置SQL查询编辑器窗口的代码风格、代码提示、回车输入提示建议等。

  • SQL操作设置:您可以设置每次SQL执行时的默认执行模式。

新版SQL查询常见问题

新版SQL查询的数据源设置在哪里?

SQL查询新版升级后,每个SQL文件均可以单独设置数据源。配置数据源

新版SQL查询的数据源可选项为什么变少了?

  • SQL查询新版升级后,可查询的数据源,需要经过租户管理员或者租户级安全管理员在安全中心进行授权。如有需要使用的数据源未经授权,可以联系管理员在安全中心对需要查询的数据源进行授权。

    可查询数据源的默认授权逻辑:

    • 标准模式工作空间下:在数据开发 > 数据源页面,绑定MaxCompute和Hologres引擎后,系统将默认授权数据分析师在SQL查询页面,可以使用该引擎开发环境的数据源。

    • 简单模式工作空间所有数据源及标准模式不符合上述条件的数据源:均需由租户管理员或者租户级安全管理员手动在安全中心进行设置。数据源授权

目录树中我的SQL文件为什么变多了?

SQL查询新版升级后,您可以在SQL查询中统一管控您在DataWorks中创建的归属于不同工作空间、不同数据源的所有SQL文件。因此,旧版SQL查询中归属于您个人名下不同工作空间、不同数据源的SQL文件,会统一在我的文件中呈现。

目录树中所有的表没有了?

SQL查询新版升级后,您可以在添加目录中按需添加可查询数据源下的数据表,添加对应的数据表目录后,如果表数量过多,可通过搜索的方式找到目标表。对于经常使用的表,还可以将其添加收藏,后续可在我的收藏中进行查看。所有的表

系统设置中关于SQL查询结果查看和下载的开关及最大数量限制没有了?

SQL查询新版升级后,原系统设置中针对SQL查询结果查看、复制、下载等功能的设置,已迁移至安全中心 > 安全策略 > 数据查询与分析管控 > 查询结果管控,策略列表中,管控范围包含“数据分析”的管控策略对SQL查询生效。系统设置