1 概述 临时查询支持多种引擎类型语句的创建、运行、结果数据预览及导出功能,方便在数据开发过程中测试代码的实际运行情况与期望是否相符、排查代码错误等。
临时查询不需要将任务提交上线和设置调度参数。如果您需要使用周期性调度任务,请在数据开发 页面中新建任务。
目前临时查询支持的引擎类型和对应查询类型有以下几种:
引擎类型
查询任务类型
火山引擎 E-MapReduce(EMR)
EMR Hive SQL EMR Spark SQL EMR Presto EMR Trino EMR Doris SQL EMR StarRocks SQL 火山引擎 E-MapReduce(EMR)Serverless StarRocks
EMR Serverless StarRocks SQL 火山引擎 E-MapReduce(EMR)Serverless Spark
火山引擎 E-MapReduce(EMR)Serverless Presto
EMR Serverless Presto SQL 湖仓一体分析服务(LAS)
ByteHouse 企业版(ByteHouse CE)
ByteHouse 云数仓版(ByteHouse CDW)
通用
说明
其中 EMR Doris SQL、EMR StarRocks SQL、EMR Serverless StarRocks SQL、EMR Serverless Spark SQL、EMR Serverless Presto SQL、Notebook、MySQL 临时查询类型,暂不支持查询任务执行成功或失败后发送消息通知。 其余任务类型,您可根据业务情况,前往项目控制台 > 配置信息 > 消息通知设置 中,选择是否开启运行成功或失败通知。
默认通知方式为邮箱,您需在“账号管理”中,提前绑定相应的安全邮箱 信息; 您也可根据业务需要,自行配置飞书应用机器人,通过飞书的方式发送消息通知,飞书消息通知前置操作详见1.1 飞书应用机器人创建 。
2 使用前提 若仅开通 DataLeap 版本大数据集成 服务时,不支持创建 Notebook 查询类型。详见版本服务说明 。 若仅开通 DataLeap 版本中湖仓一体 的服务,项目不支持绑定 EMR 引擎。详见版本服务说明 。 Notebook 查询作业中:Python Spark on EMR 的 Kernel 类型,仅支持火山引擎 E-MapReduce(EMR)Hadoop、TensorFlow 集群类型创建。 临时查询需先绑定 EMR、EMR Serverless StarRocks/Spark/Presto、LAS 或 ByteHouse CE 等相关计算引擎或 MySQL 数据源服务,方可创建对应的临时查询任务。操作详见:创建项目 、MySQL 数据源配置 。 注意
子用户操作 ByteHouse CE SQL 任务时,需先进行以下操作:
主账号 需先进入访问控制 > 用户 > 子用户详情 > 权限 页签下,单击添加权限 按钮,给子用户添加 ByteHouseCEStandardAccess 系统策略。子用户 登录访问一次 ByteHouse CE 控制台 后,会默认被授予 ByteHouse CE 中 Default 库的读权限和对应的 Query User 角色。ByteHouse CE 更多权限操作详见权限管理 。Query User 角色的子用户,无法通过临时查询 ByteHouse CE SQL 语句进行创建数据库,您可前往“数据地图 ”界面,创建相应的 ByteHouse CE 数据库。详见管理 ByteHouse CE 库 。子用户若需操作更多的数据库表,您可前往“数据安全 ”界面,进行对应的 ByteHouse CE 库表权限申请。详见申请权限 。 EMR Doris SQL、EMR StarRocks SQL 的临时查询类型,需在 DataLeap 项目控制台中绑定 EMR 3.2.1 及以上相应集群版本,首次绑定集群时,会提示在 EMR 集群关联的安全组中添加 8898 和 9030 端口,您单击确定 按钮即可实现自动添加。添加后,为确保能在 DataLeap 上正常进行数据查询,需保证相关端口一直存在于安全组中,不要删除。
详见创建项目 。
3 功能介绍
3.1 进入临时查询 登录 DataLeap租户控制台 。 在概览 界面,显示加入的项目中,单击数据开发 进入对应项目。 在任务开发 界面,左侧导航栏中,单击临时查询 按钮,进入临时查询 页面。
3.2 新建查询 单击新建查询 按钮,进入新建查询 对话框。
填写以下参数信息,单击确定 后,进入临时查询语句编辑界面。
参数
描述
绑定引擎
支持选择绑定 EMR、EMR Serverless StarRocks、EMR Serverless Spark、EMR Serverless Presto、LAS、ByteHouse CE、ByteHouse 云数仓版和通用(Notebook、MySQL查询类型)引擎。
关联实例
显示对应引擎下默认的引擎实例。
查询类型
选择绑定引擎 EMR 时:
若绑定 Hadoop 集群类型,且组件中包含 Presto、Trino、Spark、Hive 这 4类组件,则支持创建以下 4 类各组件对应的查询类型(下拉框列表根据包含的组件类型来显示):EMR Hive SQL、EMR Spark SQL、EMR Presto、EMR Trino。 若绑定了 Doris 的集群类型,则支持创建 EMR Doris SQL 的查询类型。 若绑定了 StarRocks 的集群类型,则支持创建 EMR StarRocks SQL 的查询类型。 选择绑定 EMR Serverless StarRocks/Spark/Presto 引擎时,查询类型默认选择为 EMR Serverless StarRocks/Spark/Presto SQL。 选择绑定 LAS 引擎时,查询类型默认显示为 LAS SQL。 选择绑定 ByteHouse CE/云数仓版 引擎时,查询类型默认显示为 ByteHouse CE SQL/ByteHouse CDW SQL。 选择绑定通用 引擎时,查询类型支持下拉选择 Notebook、MySQL 类型。 名称
输入临时查询任务名称,只允许字符.、字母、数字、下划线、[]、【】、()、()以及中文字符,且需要在127个字符以内。如:emr_hive_sql_0101-临时查询
保存至
选择临时查询任务存放的目标路径。
3.3 开发编辑 实际 SQL 开发过程中,临时查询提供了对应的操作栏,可以帮助您更好的开发。
LAS/EMR/EMR Serverless/ByteHouse CE/ByteHouse 云数仓版引擎
序号
功能
说明
1
保存
保存当前输入的代码。
2
运行/终止
直接使用线上数据,运行代码,需谨慎操作;或者停止正在运行的临时查询。
3
转换为任务开发
支持将临时查询节点转换为新的数据开发任务,可提交上线、配置调度相关属性等。
选择目录:下拉选择转换为数据开发任务后的目录存储路径。 转换方式:支持选择保留副本转换 或直接转换 两种方式,直接转换即将当前临时查询任务转换为数据开发任务,但不保留此临时查询任务节点。 任务名称:设置转换后的任务名称,只允许填写字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需要在 127 个字符以内。 注意
EMR Presto、EMR Trino、MySQL 查询类型,暂不支持由临时查询 节点转为数据开发 调度任务。
4
LAS/Yarn 队列/计算队列/选择计算组
当选择的引擎实例为 LAS 引擎时,下拉选择 LAS 引擎提供的任务计算队列,基于创建项目时绑定的计算队列来显示。 当选择的引擎实例为 EMR Hadoop 集群类型的引擎时,需下拉选择查询所需的 Yarn 队列信息。您可在创建项目 > 服务绑定 > EMR Yarn 队列 绑定时,可添加绑定多个队列信息。详见创建项目 。说明
仅 EMR Hadoop 集群类型支持绑定多个 Yarn 队列信息,EMR Yarn 队列的更多操作详见 YARN 队列管理 。
当选择的引擎实例为 EMR Serverless Spark/Presto 类型的引擎时,需下拉选择项目已绑定的计算队列 信息。您可在创建项目 > 服务绑定 > EMR Serverless Spark/Presto 计算队列 绑定时,可添加绑定多个队列信息。详见创建项目 。 当选择的引擎实例为 ByteHouse 云数仓版引擎类型时,需下拉选择已绑定至当前项目中,且在 ByteHouse_CDW 控制台中查询使用的计算组。计算组创建详见 ByteHouse CDW 计算组 。 5
格式化
对当前节点代码根据关键字格式排列,常用于单行代码过长的情况。
6
解析
LAS SQL、EMR StarRocks SQL、EMR Serverless Spark SQL、EMR Hive SQL、ByteHouse CE SQL 类型,支持自动判断 SQL 语法错误,帮助在 SQL 运行前就发现代码中的错误,提高了查询效率。
7
表管理
LAS SQL、EMR Hive SQL 类型,若数据需要存入的 Hive 表尚未创建,则编写完 SQL 语句后,可基于解析代码快速填充建表页面。
8
执行引擎
LAS 支持 Presto、Spark 和 Auto。 EMR 类型不支持再次选择执行引擎,根据新建查询时选择的查询类型来执行:Hive、Spark、Presto、Trino、Doris 和 StarRocks。 9
参数说明
代码中可使用时间变量说明,如 ${DATE}。更多时间变量参数使用详见平台时间变量与常量说明 。
10
SQL编辑区域
您可以在此编辑区域中,输入对应引擎下不同查询类型的 SQL 语句,支持 DDL、DML 等常用语句。
注意
在一个临时查询任务中,当查询节点中存在多个 Query 时,依次执行多个 Query 成功时,结果页中只返回最后一个成功 Query 的相应结果。 EMR Doris SQL、EMR StarRocks SQL、EMR Serverless StarRocks/Spark/Presto SQL 仅支持同时提交一个 Query。
通用引擎 - Notebook 类型
Notebook 查询类型支持 Python on K8s、Python Spark on EMR、Spark on EMR Serverless 的 Kernel 类型。使用操作详见 Notebook - 4 任务配置 ,其中临时查询 Notebook 类型,不支持调度设置、提交发布操作。
注意
Spark on EMR Serverless 的 Kernel 类型目前有以下使用限制:
Python Spark on EMR 的 Kernel 类型,仅支持通过独享计算资源组 执行,且资源组 VPC 网络配置须和 EMR 集群网络配置保持一致。具体使用操作详见Kernel 类型之 Python Spark on EMR 实践 。 通用引擎 - MySQL 类型
临时查询 MySQL 查询类型,可通过直接访问 MySQL 数据源形式,对目标 MySQL 数据源进行查询、建表、插入数据等数据开发操作。新建 MySQL 查询类型后,您可进行以下操作:
配置项
说明
选择数据源
单击下拉框,选择已创建成功的 MySQL 数据源。若您还未创建数据源,您可单击右侧新建数据源 按钮,前往数据源管理创建,详见 MySQL 数据源配置 。
SQL 编辑区
您可以在此编辑区域中,输入 MySQL 相关的 SQL 语句,支持 DDL、DML 等常用语句。
网络配置
您可通过手动下拉的方式,选择与访问目标 MySQL 数据源相同的私有网络(VPC)、子网和安全组等网络信息。
若目标 MySQL 数据源所在 VPC 与火山引擎 VPC 不一致时,您可通过专线或公网形式连接访问,并添加相应白名单信息。网络连接详见网络连通解决方案 、白名单操作详见 MySQL 数据源配置 。
说明
若是子账号登录创建任务时,选择网络环境需具备相关服务使用权限,需主账号在访问控制 中,添加 DataLeapFullAccess 权限。