SQL查询与分析

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

支持的数据源

SQL查询支持的数据源包含MaxComputeHologresEMR HiveEMR Spark SQLEMR ImpalaEMR PrestoEMR TrinoCDH HiveCDH Spark SQLStarRocksClickHouseSelectDBDorisAnalyticDB for MySQL3.0AnalyticDB for PostgreSQLTablestoreMySQLPostgreSQLOracleSQL Server

重要

目前仅支持添加至工作空间的数据源

数据源权限说明

数据源范围

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

数据源访问权限

数据源访问支持以下两种身份模式访问。

访问身份模式

模式说明

支持数据源

授权操作

执行者身份

当前登录DataWorks的阿里云账号身份。

MaxComputeHologres。

让指定MaxCompute项目或者Hologres实例的管理者,授权您成员访问权限。

数据源默认访问身份

创建数据源时配置的访问身份。

不限数据源。

若您当前登录账号非数据源默认访问身份时,需让拥有工作空间管理员权限的用户为您当前登录的云账号授权

重要

如果MaxCompute项目空间开启了白名单访问控制,请在MaxCompute项目IP白名单添加上数据分析白名单

步骤一:添加目录

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

  1. 进入SQL查询页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据分析与服务 > 数据分析,单击进入数据分析页面,单击左侧导航栏的SQL查询进入SQL查询页面。

  2. 单击目录上方搜索框右侧的image按钮,进行添加目录。

    • 数据地图-元数据:数据地图中采集到的表元数据,每个数据源/计算资源即可添加成一个数据集。

    • 数据地图-数据专辑:数据地图中汇集某一些主题表的数据专辑,每个数据专辑即可添加成一个数据集。

    • 我的收藏:数据地图中我收藏的表。

    • 我的MaxCompute:当前登录账号是表Owner的所有MaxCompute表。

    • 公共数据:MaxCompute提供的公开数据集,可用于快速生成测试数据。

    • 阿里云账单数据:您的阿里云账单数据,添加后可进行账单分析

    说明

    最多支持添加12个数据集,不需要的数据集可移除。

步骤二:创建SQL查询

基于数据目录查询

完成数据目录添加后,相应数据集将展示在左侧目录树中。

  1. 在左侧目录树中,单击打开已添加数据集(例如,我的MaxCompute表)。

  2. 右击待分析表的表名,选择浮窗中的生成SQL语句,即可快速生成基于该表的推荐SQL语句的临时文件

  3. 按需调整SQL语句,并保存临时文件至我的文件

基于数据源查询

  1. 在左侧目录树中,鼠标悬浮到我的文件,单击右侧的image按钮,新建文件。

  2. 在新建文件中编写SQL查询语句,并保存至我的文件

    说明

    在进行SQL编辑时,DataWorks将在原代码中自动补齐在MaxCompute中有权限的表。

基于分享SQL查询

在左侧目录树中单击他人文件,展示来自别人分享出来的SQL文件。单击SQL文件,在右侧详情页可复制SQL

基于公共数据集查询

将公共数据集添加至目录后,可单击具体数据集,在右侧详情页的顶部栏可选择不同引擎生成SQL语句。您可用公共数据集进行测试。

步骤三:配置查询引擎并执行

  1. 单击SQL详情页面右上方的image按钮,配置SQL查询引擎。

    配置项

    说明

    工作空间

    执行引擎所在的工作空间。

    重要

    请确保您拥有工作空间的访问权限,否则请联系工作空间管理员帮您添加为空间成员

    数据源类型

    执行引擎类型和名称。

    重要

    SQL语句中未指定具体项目时,执行引擎即为默认数据源。

    数据源名称

    访问身份模式

    选择查询数据时采用哪种访问模式进行SQL查询:

    • 执行者身份:仅支持MaxComputeHologres引擎。当您为MaxCompute项目或Hologres实例的成员拥有Select权限时,推荐选择。

    • 数据源默认访问身份:若您当前账号和创建该数据源时设置的默认访问身份不一致,请授权当前账号该身份

  2. 完成SQL编写之后,您可直接全文运行或者选中部分运行

    MaxCompute SQL运行前,将展示预计费用。您也可单击SQL文件上方工具栏更多 > 成本预估进行预估。
  3. SQL执行完成后,您可在查询结果页面查看运行日志运行结果、查询结果对应的SQL内容。

    可点击查询结果右上方按钮,切换页面布局为左右布局或者上下布局。

步骤四:结果可视化

在查询结果左侧工具栏,点击按钮可将结果自动生成可视化图表。您可点击右上角的编辑按钮进行图表制作,保存至卡片后进行增强分析

说明

您可单击图表上方的Copilot按钮,体验智能图表及见解生成能力。

image

步骤五:(可选)导出与分享

重要

若您有将数据导出到本地后再导入到其他数据源的需求,建议通过数据集成离线同步任务进行同步,从而实现更高效、稳定的数据迁移与同步。

SQL查询结果支持导出如下形式:

当您需要下载MaxCompute海量数据时,推荐您单击SQL查询菜单左下角的设置更换SQL运行模式为运行且生成临时表
  • 本地文件:将查询结果以CSV、TXT、XLS格式下载至本地。关键说明如下:

    说明项

    具体描述

    下载限制

    重要

    若不出现该选项,请参见查询结果展示或下载受限?进行处理。

    下载范围

    您可选择下载仅表格中展示数据全部数据

    • 仅表格中展示数据:仅下载当前页面展示的数据,默认最多为10000条。

    • 全部数据:导出限制范围内所查询的全部结果数据。

    下载方式

    支持审批下载免审批下载

    • 审批下载:支持您通过设置风险识别规则来识别下载数据操作行为中的风险。下载数据时,需提交下载审批申请,以确保数据使用的合规性和安全性。

      说明

      DataWorks企业版支持设置并开启风险识别规则。

    • 免审批下载:默认为免审批下载,在下载过程中无需进行权限申请。

  • MaxCompute:无需将数据下载至本地再传至MaxCompute表。您可根据需要设置表的生命周期。

  • 电子表格:您可保存至电子表格进一步深入分析查询数据。同时支持分享电子表格的最新分析结果至他人。

  • 钉钉表格:支持导出至钉钉表格文档

更多操作

SQL文件版本管理

SQL文件编辑页面,您也可单击上方工具栏更多 > 版本来查看自动保存的代码和手动保存代码间差异,并选择需要的版本保存。

代码搜索

在左侧目录树上方,单击image.png,您可以输入关键字进行代码搜索。该功能仅限DataWorks标准版以上使用。

查看运行历史

在左侧目录树上方,单击历史查看SQL查询历史执行记录。

常见问题

如何授权数据源默认访问身份?

  1. 进入安全中心。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据治理 > 安全中心,在右侧页面中单击进入安全中心

  2. 在左侧导航栏单击安全策略 > 数据查询与分析管控,进入数据分析权限控制页面。

  3. 切换工作空间,找到目标数据源,单击右侧授权按钮进行授权。

    管控数据源

SQL查询执行报错?

如在执行过程中遇到This node can only run on exclusive resource groups相关报错,您需在数据分析 > 更多 > 系统管理中为对应引擎配置调度资源组数据集成资源组

查询结果展示或下载受限?

SQL查询结果仅支持展示部分,根据如下操作将展示结果限制调整到最大。同时,可进行下载能力的管控。更多详情请参见数据查询与分析管控

  1. 进入安全中心。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据治理 > 安全中心,在右侧页面中单击进入安全中心

  2. 在左侧导航栏单击安全策略 > 数据查询与分析管控,进入数据分析权限控制页面。

  3. 切换至查询结果管控页签,调整单次展示记录上限单次复制记录上限单次下载记录上限允许下载

    image