SQL查询与分析(新版)

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

重要

本文档适用于新版数据分析,旧版操作请参见SQL查询(旧版)。您可通过导航栏切换新旧版数据分析。

支持的数据源

SQL查询支持的数据源类型包含:MaxComputeHologresEMRCDHADB for PostgreSQLADB for MySQLClickHouseStarRocksMySQLPostgreSQLOracleSQL ServerDorisSelectDB

说明

MaxCompute支持直接连接和数据源两种方式查询,其他类型数据源仅支持已添加到工作空间的数据源。

数据源权限说明

数据源范围

  • 数据源连接模式:仅支持选择有权限的工作空间内的数据源数据,因此您需要先联系管理员将您添加为工作空间的数据分析师开发运维空间管理员

  • 直接连接模式:仅支持选择当前登录账号已经加入的MaxCompute项目。MaxCompute项目相关权限设置,请参见MaxCompute用户与权限

数据源访问权限

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

访问身份模式

模式说明

支持数据源

授权操作

执行者身份

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

MaxComputeHologres。

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

数据源默认访问身份

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

本功能支持的数据源

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

重要

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

功能入口

登录DataWorks数据分析,切换至目标地域后,单击进入数据分析页面。

  • 若在导航栏看到前往新版数据分析,单击切换进入新版数据分析页面。

  • 若在导航栏看到返回旧版数据分析,则表示已进入新版数据分析页面。

新建SQL查询

  1. 鼠标悬浮至个人目录 > 我的文件,单击右侧的image > 新建SQL文件

    您也可以单击新建文件夹,自定义规划SQL查询文件的目录结构。
  2. SQL编辑页面,编写SQL查询语句。

    重要

    也可通过以下方式生成SQL语句:

    • 在数据目录页面,添加数据目录之后,找到目标表右键选择生成查询SQL

    • 复制他人文件目录下分享给你的SQL。

    • 编辑SQL后,您可以单击顶部的格式化按钮,对代码进行格式化。

    • SQL查询支持使用Copilot,您可以单击导航栏右上角Copilot图标(image),使用智能助手的相关功能(如代码生成代码纠错等),辅助完成代码编写;同时,Copilot还支持在编辑器中代码自动补全,提升编写效率。

    示例SQL

    以查询MaxComputeGithub公开事件数据为例,SQL查询语句如下:

    --开启SessionSchema语法
    SET odps.namespace.schema=true; 
    --查询表dwd_github_events_odps中的100条数据
    SELECT * FROM bigdata_public_dataset.github_events.dwd_github_events_odps WHERE ds='${dt}' LIMIT 100;
    说明
    • 查询开启Schema语法MaxCompute项目时,需在查询语句前使用SET odps.namespace.schema=true;开启SessionSchema语法,避免查询失败。

    • 默认情况下,查询将基于当前运行配置指定的数据源执行。如需查询其他已加入的MaxCompute项目,您需在查询语句中显式指定对应项目名称。例如,运行配置中指定计算资源为MaxCompute A,查询语句中指定MaxCompute B(SELECT * FROM B.schema_name.table_name WHERE ****),此时将使用A作为执行引擎,查询B中的数据。

  3. 编写完成SQL查询代码后,单击右侧运行配置,设置SQL查询时使用的数据源脚本参数等。

    image

    • 类型:按需选择SQL查询语句查询的目标数据源类型

    • 计算资源:SQL查询的目标数据源配置,仅查询MaxCompute数据时支持直接连接或数据源连接,其他类型仅支持查询有权限的工作空间内的数据源数据,具体权限说明,请参见数据源权限说明

    • 脚本参数:如果您在SQL查询中使用参数变量,则可以在此处对运行时变量进行赋值。

      重要

      若解析失败,请在左下角进入管理>设置界面,搜索parsing找到勾选配置项开启dataworks Isp代码参数功能

  4. SQL编辑页面顶部工具栏单击运行,然后在结果窗口中,查看执行SQL内容运行日志运行结果

    image

查询结果可视化

在查询结果左侧工具栏,单击image按钮,可将结果自动生成可视化图表。

说明

image

导出与分享

重要

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

SQL查询结果右侧,单击导出,支持导出如下形式:

  • 本地文件:将查询结果以CSV格式下载至本地。关键说明如下:

    说明项

    具体描述

    下载限制

    下载范围

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

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

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

    下载方式

    支持审批下载免审批下载

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

      说明

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

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

  • 对象存储OSS:将查询结果以指定格式(如CSV、Parquet)导出至阿里云对象存储OSS(Object Storage Service)空间,适用于大数据量归档或与其他云产品集成的场景。

    首次使用时,您需要为DataWorks进行授权,以允许其访问您的OSS资源。请在文件路径下拉框中,单击提示信息中的一键授权链接,根据页面指引完成RAM授权。

    配置项

    说明

    文件路径

    点击右侧文件夹按钮,选择您希望存储结果文件的OSS Bucket及目录。

    文件名

    系统将自动生成一个文件名,您也可以手动修改。

    文本类型

    选择导出的文件格式。支持csvtextorcparquet

    分隔符

    指定列与列之间的分隔符号。默认为英文逗号(,)。

    编码格式

    选择文件的编码格式,例如UTF-8GBK等。

    CU

    为本次导出任务配置计算资源单元(CU)的数量。默认值为1 CU。

    资源组

    选择用于执行本次导出任务的Serverless资源组。当不选时,将会默认使用数据分析>系统管理中设置的数据集成资源组。

    配置完成后,单击确定即可启动导出任务。您可以在任务运行页面查看导出进度、运行日志和配置详情。任务成功后,可进入OSS控制台,将已经导出的目标文件下载到本地。

  • 钉钉表格:支持导出至钉钉表格,具体操作请参见导出查询结果至钉钉

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