如果需要快速地对数据进行查询与分析,您可以使用SQL语句查询MaxCompute、EMR Hive、Hologres等数据源。本文为您介绍如何通过SQL语句查询数据源。
DataWorks推荐您体验新版数据分析,以获得最新功能和更好体验。
支持的数据源
SQL查询支持的数据源包含MaxCompute、Hologres、EMR、CDH、StarRocks、ClickHouse、SelectDB、Doris、AnalyticDB for MySQL3.0、AnalyticDB for PostgreSQL、Tablestore、MySQL、PostgreSQL、Oracle、SQL Server。
目前仅支持添加至工作空间的数据源。
数据源权限说明
数据源范围
仅支持查询有权限的工作空间内的数据源数据,因此您需要先联系管理员将您添加为工作空间的数据分析师、模型设计师、开发、运维、空间管理员或项目所有者。
数据源访问权限
数据源访问支持以下两种身份模式访问。
| 访问身份模式 | 模式说明 | 支持数据源 | 授权操作 | 
| 执行者身份 | 当前登录DataWorks的阿里云账号身份。 | MaxCompute和Hologres。 | 让指定MaxCompute项目或者Hologres实例的管理者,授权您成员访问权限。 | 
| 数据源默认访问身份 | 创建数据源时配置的访问身份。 | 不限数据源。 | 若您当前登录账号非数据源默认访问身份时,需让拥有工作空间管理员权限的用户为您当前登录的云账号授权。 | 
如果MaxCompute项目空间开启了白名单访问控制,请在MaxCompute项目IP白名单添加上附录:数据分析白名单列表。
功能入口
登录DataWorks数据分析,切换至目标地域后,单击进入数据分析页面。
- 若在导航栏看到前往新版数据分析,则表示已进入旧版数据分析页面。 
- (不推荐)若在导航栏看到返回旧版数据分析,单击切换返回旧版数据分析页面。 
步骤一:添加目录
支持您将系统推荐目录及已授权的数据源下的数据表添加至目录。添加为目录后您可快速查看相应目录下数据表,支持查看表结构并快速生成查询SQL。
步骤二:创建SQL查询
基于数据目录查询
完成数据目录添加后,相应数据集将展示在左侧目录树中。
- 在左侧目录树中,单击打开已添加数据集(例如,我的MaxCompute表)。 
- 右击待分析表的表名,选择浮窗中的生成SQL语句,即可快速生成基于该表的推荐SQL语句的临时文件。 
- 按需调整SQL语句,并保存临时文件至我的文件。 
基于数据源查询
- 在左侧目录树中,鼠标悬浮到我的文件,单击右侧的  按钮,新建文件。 按钮,新建文件。
- 在新建文件中编写SQL查询语句,并保存至我的文件。 说明- 在进行SQL编辑时,DataWorks将在代码中自动补齐在MaxCompute中有权限的表。 
基于分享SQL查询
在左侧目录树中单击他人文件,展示来自别人分享出来的SQL文件。单击SQL文件,在右侧详情页可复制SQL。
基于公共数据集查询
将公共数据集添加至目录后,可单击具体数据集,在右侧详情页的顶部栏可选择不同引擎生成SQL语句。您可用公共数据集进行测试。
步骤三:配置查询引擎并执行
- 单击SQL详情页面右上方的  按钮,配置SQL查询引擎。 按钮,配置SQL查询引擎。- 配置项 - 说明 - 工作空间 - 执行引擎所在的工作空间。 重要- 请确保您拥有工作空间的访问权限,否则请联系工作空间管理员帮您添加为空间成员。 - 数据源类型 - 执行引擎类型和名称。 重要- 当SQL语句中未指定具体项目时,执行引擎即为默认数据源。 - 数据源名称 - 访问身份模式 - 选择查询数据时采用哪种访问模式进行SQL查询: - 执行者身份:仅支持MaxCompute和Hologres引擎。当您为MaxCompute项目或Hologres实例的成员拥有Select权限时,推荐选择。 
- 数据源默认访问身份:若您当前账号和创建该数据源时设置的默认访问身份不一致,请授权当前账号该身份。 
 
- 完成SQL编写之后,您可直接全文运行或者选中部分运行。 - MaxCompute SQL运行前,将展示预计费用。您也可单击SQL文件上方工具栏进行预估。 
- SQL执行完成后,您可在查询结果页面查看运行日志、运行结果、查询结果对应的SQL内容。 - 可点击查询结果右上方按钮,切换页面布局为左右布局或者上下布局。 
步骤四:查询结果可视化
在查询结果左侧工具栏,点击按钮可将结果自动生成可视化图表。您可点击右上角的编辑按钮进行图表制作,保存至卡片后进行增强分析。
您可单击图表上方的Copilot按钮,体验DataWorks Copilot Ask能力。

步骤五:导出与分享
若您有将数据导出到本地后再导入到其他数据源的需求,建议通过数据集成的离线同步任务进行同步,从而实现更高效、稳定的数据迁移与同步。
SQL查询结果支持导出如下形式:
当您需要下载MaxCompute海量数据时,推荐您单击SQL查询菜单左下角的更换SQL运行模式为运行且生成临时表。
- 本地文件:将查询结果以CSV、TXT、XLS格式下载至本地。关键说明如下: - 说明项 - 具体描述 - 下载限制 重要- 若不出现该选项,请参见查询结果展示或下载受限?进行处理。 - 下载范围 - 您可选择下载仅表格中展示数据或全部数据。 - 仅表格中展示数据:仅下载当前页面展示的数据,默认最多为 - 10000条。
- 全部数据:导出限制范围内所查询的全部结果数据。 
 - 下载方式 - 支持审批下载和免审批下载。 - 审批下载:支持您通过设置风险识别规则来识别下载数据操作行为中的风险。下载数据时,需提交下载审批申请,以确保数据使用的合规性和安全性。 说明- 仅DataWorks企业版支持设置并开启风险识别规则。 
- 免审批下载:默认为免审批下载,在下载过程中无需进行权限申请。 
 
- MaxCompute表:无需将数据下载至本地再传至MaxCompute表。您可根据需要设置表的生命周期。 
- 钉钉表格:支持导出至钉钉表格文档。 
更多操作
SQL文件版本管理
在SQL文件编辑页面,您也可单击上方工具栏来查看自动保存的代码和手动保存代码间差异,并选择需要的版本保存。
代码搜索
在左侧目录树上方,单击 ,您可以输入关键字进行代码搜索。该功能仅限DataWorks标准版以上使用。
,您可以输入关键字进行代码搜索。该功能仅限DataWorks标准版以上使用。
查看运行历史
在左侧目录树上方,单击 查看SQL查询历史执行记录。
查看SQL查询历史执行记录。
常见问题
如何授权数据源默认访问身份?
- 进入安全中心。 - 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在右侧页面中单击进入安全中心。 
- 在左侧导航栏单击,进入数据分析权限控制页面。 
- 切换工作空间,找到目标数据源,单击右侧授权按钮进行授权。  
SQL查询执行报错?
如在执行过程中遇到This node can only run on exclusive resource groups相关报错,您需在中为对应引擎配置调度资源组和数据集成资源组。
查询结果展示或下载受限?
SQL查询结果仅支持展示部分,根据如下操作将展示结果限制调整到最大。同时,可进行下载能力的管控。更多详情请参见数据查询与分析管控。
- 进入安全中心。 - 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在右侧页面中单击进入安全中心。 
- 在左侧导航栏单击,进入数据分析权限控制页面。 
- 切换至查询结果管控页签,调整单次展示记录上限、单次复制记录上限、单次下载记录上限、允许下载。  
 按钮,进行添加目录。
按钮,进行添加目录。