如果需要快速地对数据进行查询与分析,您可以使用SQL语句查询MaxCompute、EMR Hive、Hologres等数据源。本文为您介绍如何通过SQL语句查询数据源。
前提条件
工作空间已创建数据源,详情请参见创建并管理数据源。
已拥有某数据源在数据分析模块的查询权限:详情请参见数据查询与分析管控。
操作账号已被添加为工作空间的以下角色之一:数据分析师、模型设计师、开发、运维角色、空间管理员或项目所有者,详情请参见为工作空间添加空间成员。
说明使用SQL查询功能时,仅支持查询有权限的工作空间内的数据源数据,因此您需要先联系管理员将您添加为工作空间的数据分析师、模型设计师、开发、运维、空间管理员或项目所有者。
注意事项
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
、PostgreSQL
、Tablestore
、Oracle
、SQL Server
。
仅
MaxCompute
、Hologres
数据源支持使用执行者身份访问。如在执行过程中遇到
This node can only run on exclusive resource groups
相关报错,您需在 中为对应引擎配置调度资源组和数据集成资源组。
权限控制
数据源权限。
标准模式工作空间:拥有生产与开发环境,无论想要查询开发还是生产环境数据,均需租户管理员或组户级安全管理员手动在数据查询与分析管控进行设置。
简单模式工作空间:分析师在SQL查询页面无权查看任何数据,需租户管理员或组户级安全管理员手动在数据查询与分析管控进行设置。
说明标准模式工作空间与简单模式工作空间的区别可参见必读:简单模式和标准模式的区别。
白名单访问控制。
当使用数据分析操作MaxCompute表数据时,如果MaxCompute项目空间开启了白名单访问控制,数据分析的相关服务(例如,费用计算、数据下载、维表使用、数据上传等)可能会出现报错。为保证DataWorks数据分析服务能顺利访问MaxCompute的项目空间,则需提前配置好MaxCompute的数据分析白名单权限。
步骤一:添加目录
支持您将系统推荐目录及已授权的数据源下的数据表添加至目录,添加为目录后您可快速查看相应目录下数据表,支持查看表结构并快速生成查询SQL。
进入SQL查询页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,单击进入数据分析页面,单击左侧导航栏的SQL查询进入SQL查询页面。
添加目录。
SQL查询页面默认仅展示我的文件和他人文件,其他文件目录需要通过单击搜索框右侧的
按钮。添加支持下面几类文件目录添加至文件目录,添加为目录后您可快速查看相应目录下的数据表,支持查看表结构并快速生成查询SQL。
推荐目录:提供我的收藏、我的MaxCompute表、公共数据等。
数据地图-数据专辑:支持您将我管理的、我创建的、我关注的数据专辑添加为SQL查询的目录。详情请参见业务视角管理:数据专辑。
说明他人文件:展示当前租户下其他用户公开到工作空间的文件。
目前最大支持添加8个数据集。
步骤二:创建SQL查询
您可新建SQL查询文件并手动编辑SQL查询命令,还支持将SQL提交到指定数据源执行。
新建SQL查询文件。
手动创建SQL查询文件。
单击我的文件后的
按钮,选择新建文件,进入新建文件弹窗页面。
在弹窗页面按界面要求配置文件名,下拉选择文件存储的目标文件夹。
单击确定创建SQL查询文件。
创建临时SQL查询文件。
欢迎页点击上方
添加临时SQL文件。
首次进入SQL查询页面或当前窗口没有打开SQL文件时,单击右侧页面中的新建SQL查询窗口。
配置SQL执行数据源。
新建完成SQL查询文件后,单击页面右上方的
按钮,配置SQL执行数据源,可参考以下表格:
配置项
说明
工作空间
单击
按钮选择需要查询的数据源所在的工作空间。
数据源类型
单击
按钮选择需要查询的数据源类型。
数据源名称
单击
按钮选择需要查询的数据源,可选择开发或生产环境的数据源。
访问身份模式
选择查询数据时采用哪种访问模式进行SQL查询,拥有以下两种访问身份模式:
执行者身份:选择执行者身份,代表使用登录DataWorks的当前云账号身份在数据源中执行SQL。如果当前云账号在目标数据源中具备数据访问权限,则数据源将会正常返回数据结果。
说明执行者身份仅支持MaxCompute和Hologres数据源使用。
数据源默认访问身份:
当前登录账号与默认访问身份一致。
身份一致时,无需额外授权,可直接使用当前数据源的默认访问身份来执行SQL。
当前登录账号与默认访问身份不同。
当前登录账号拥有所选数据源权限时,能够直接执行SQL。
当前登录账号未拥有所选数据源权限时,需让拥有工作空间管理员权限的用户为您当前登录的云账号授予目标数据源及默认访问身份的使用权限,才可以开始执行SQL,详情可参见:数据查询与分析管控。
配置完成后单击确定保存SQL执行的数据源信息。
说明您可在系统管理中修改SQL查询任务运行时的资源组。
编辑SQL代码。
说明在进行SQL编辑时,DataWorks将在原代码中自动补齐在MaxCompute中有权限的表。
步骤三:执行查询语句
在SQL编辑框内编辑对应数据源的查询代码,完成后执行对应命令即可获取查询结果,以下内容为
序号 | 功能 | 操作说明 |
1 | 全文运行 | 单击运行按钮可全文运行SQL代码或运行选中状态的SQL。 |
2 | 快捷运行 | 单击SQL代码前的 |
3 | 停止 | 停止正在运行的SQL代码。 |
4 | 保存 | 保存当前SQL查询文件。 |
5 | 格式化 | 您也可以通过格式化将自行排版的代码一键规范化处理。 |
6 | 版本 | 您也可以单击 来查看自动保存的代码和手动保存代码间差异,并选择需要的版本保存。 |
7 | 成本预估 | 单句运行时界面会提示您此次调试运行可能需要的费用,运行完整代码前,您也可以单击 来对全量代码运行可能需要的费用进行预估。说明 目前仅MaxCompute可以使用该功能。 |
(可选)查询结果导出
您可根据业务需求对查询结果进行按需导出。
导出为本地文件
若您有将数据导出到本地后再导入到其他数据源的需求,建议通过数据集成的离线同步任务进行同步,从而实现更高效、稳定的数据迁移与同步。
如需将查询结果下载至本地,可直接使用下载功能。
导出限制 | 说明 |
支持引擎限制 | 当前仅MaxCompute和EMR引擎的数据支持导出为本地文件。 |
导出数据限制 | 仅DataWorks增值版本支持导出至本地文件功能,不同版本的最大导出条数限制如下:
单次导出的文件大小不得超过1GB,当数据量超过 |
权限管控限制 | 租户管理员、租户安全管理员和空间管理员等RAM用户角色可以通过数据查询与分析管控,对以下操作进行权限管控:查询结果的展示条数、下载条数以及是否允许下载。 |
其他限制 | 若MaxCompute项目开启了项目保护(即禁止下载数据),则通过数据分析下载数据会失败。关于MaxCompute项目保护机制,详情请参见数据保护机制。 |
单击查询结果右侧的
,根据实际业务设置下载范围和其他参数信息。参数
说明
下载范围
您可选择下载仅表格中展示数据或全部数据。
仅表格中展示数据:仅下载当前页面展示的数据,默认最多为
10000
条。全部数据:导出限制范围内所查询的全部结果数据。
下载方式
支持审批下载和免审批下载。
审批下载:支持您通过设置风险识别规则来识别下载数据操作行为中的风险。下载数据时,需提交下载审批申请,以确保数据使用的合规性和安全性。
说明仅DataWorks企业版支持设置并开启风险识别规则。
免审批下载:默认为免审批下载,在下载过程中无需进行权限申请。
单击审批下载或免审批下载,并根据后续页面提示,将数据下载为本地文件。
导出为MaxCompute表
将查询结果保存为MaxCompute表。无需将数据下载至本地再传至MaxCompute表。您可根据需要设置表的生命周期。
导出为电子表格
用于同步查询结果至电子表格,对查询结果进行更大区域的查看等操作。详情请参见:分析数据。
导出为电子表格并分享
用于同步查询结果至电子表格,并通过电子表格的数据分享功能,分享该表数据至指定用户。详情请参见:分享电子表格。
更多操作
查询结果展示
SQL执行完成后,您可在查询结果页面查看运行日志、查看运行结果、查看查询结果对应的SQL内容等,还支持您使用折线图、柱状图、条形图、饼图、交叉表等对查询结果进行可视化展示。
功能 | 图示 | 操作说明 |
查询结果可视化图表展示 | 支持查询结果通过折线图、柱状图、条形图、饼图等图表进行可视化展现。还支持您将查询结果保存为数据卡片,构建您专属的可视化知识库,同时,您还可以从卡片中挑选合适卡片,快速创建数据报告,轻松打造个性化作品。详情请参见增强分析(卡片和报告)。 | |
查看查询结果对应的SQL语句 | 为您展示当前查询结果对应的SQL内容,支持对该查询结果对应的SQL语句进行快速复制和快速插入到代码编辑区的操作。 |
管理SQL查询目录
在SQL查询页面,您可以统一管理SQL查询文件。
功能 | 描述 |
SQL查询目录树搜索功能 | 在区域①,您可以通过 |
代码搜索 | 在区域①,单击 |
运行历史 | 在区域①,您可以单击 |
添加目录 | 在区域①,您可以单击 |
我的文件 | 在区域②,我的文件为您展示您保存的SQL查询文件,您可以右键单击指定文件,将文件分享至指定工作空间。 |
他人文件 | 在区域②,他人文件为您展示当前租户下其他用户公开到工作空间的文件。 |
我的MaxCompute表 | 在区域②,我的MaxCompute表目录需要通过单击 |
我的收藏 | 在区域②,我的收藏目录需要通过单击 |
公共数据 | 在区域②,公共数据目录需要通过单击 |
个性化设置
支持您单击左下角的图标进入设置页面,进行一些个性化设置:
主题设置:您可以设置SQL查询的主题风格。
编辑器设置:您可以设置SQL查询编辑器窗口的代码风格、代码提示、回车输入提示建议等。
SQL操作设置:您可以设置每次SQL执行时的默认执行模式。
常见问题说明
SQL查询可选数据源与当前空间绑定的数据源数量不符
可查询的数据源,需要经过租户管理员或者租户级安全管理员在安全中心进行授权。如有需要使用的数据源未经授权,可以联系管理员在安全中心对需要查询的数据源进行授权。
如何在目录树中直接查看表?
您可以在添加目录中按需添加可查询数据源下的数据表,添加对应的数据表目录后,如果表数量过多,可通过搜索的方式查找目标表。
在SQL查询页面,单击搜索框右侧的
按钮,将数据地图-元数据中的数据源添加至目录。
在目录树上单击添加的数据源,即可展示该数据源下的数据表。
单击数据表名即可查看数据表的基础信息以及明细信息。
鼠标选中数据表后,右键可对数据表进行生成SQL语句、查看详情以及收藏操作。
说明对于经常使用的表,可以将其添加到收藏,后续可在我的收藏中进行查看。
如何配置SQL查询与下载的开关以及最大数量?
您可在
页面对查询和下载结果的上限进行配置。进入安全中心页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在右侧页面中单击进入安全中心。
在安全中心页面左侧导航栏单击进入
页面,在查询结果管控页签内即可配置数据分析的查询结果策略。