查询脚本支持Call和DDL、DQL、DML语法。您可以通过查询脚本创建管理Catalog、表、数据查询,可以使用explain语法查看执行计划定位问题,也可以实现对Paimon的管理。
功能
对SQL语法进行校验,校验失败无法运行。
支持脚本全部语句运行和选中部分语句运行。
支持Call命令和DDL、DQL、DML语法。
重要对DDL或DML语句运行将会直接影响线上元数据或数据,请谨慎操作。
编写的内容每分钟进行一次自动保存,您也可以选择手动将临时查询持久化保存在左侧文件夹下。
操作步骤
登录实时计算控制台。
单击目标工作空间操作列下的控制台。
在
页面,单击查询脚本页签。单击
,新建查询脚本。
填写SQL代码。支持Call命令和DDL、DQL、DML语法。
创建MySQL Catalog和查询表的SQL代码示例如下:
创建MySQL Catalog:具体可参见创建MySQL Catalog。
CREATE CATALOG mysql_catalog WITH( 'type' = 'mysql', 'hostname' = 'rm-bp1x********.mysql.rds.aliyuncs.com', 'port' = '3306', 'username' = 'db_user', 'password' = '${secret_values.mysqlpw}', 'default-database' = 'flinktest' );
查询表:默认使用批模式。
批模式:只能用于有边界的作业,这样做会更高效。(有界:数据集的大小已确定。)
流模式:既可用于有边界作业,也可用于无边界作业。当您的作业是无边界的时候,必须使用流模式才能处理连续的数据流。(无界:数据集的大小未知或者是无限的。)您可以使用SET语法修改为流模式。
说明查询脚本不支持使用变量管理。
SET 'execution.runtime-mode' = 'streaming'; SELECT * FROM `mysql_catalog`.flinktest.orders;
选择或创建Session集群。
单击页面右下角的执行环境,选择对应版本的Session集群(VVR 8.0.4及以上引擎版本)。如果没有,请参见步骤一:创建Session集群。
选中目标代码片段后,单击代码行左侧的运行。
(可选)单击右上方的保存,设置文件名称和存储位置。
常见问题
在数据查询页面运行脚本时,报错:Querying an unbounded table 'XXX' in batch mode is not allowed. The table source is unbounded.
报错原因:
当前Source为无界流,批作业要求Source是有界流。请根据以下定义判断数据流类型。
有界流:数据集的大小已确定。
无界流:数据集的大小未知或者是无限的。
解决方案:
使用SET语法修改为流模式。
SET 'execution.runtime-mode' = 'streaming';
在
新建作业,重新执行。在
新建作业后,通过调试功能查看运行结果,或者部署后查看运行结果。
相关文档
创建Session集群:步骤一:创建Session集群
创建或管理Catalog:数据管理
数据查询的相关实践场景:基于Flink+Paimon+StarRocks搭建流式湖仓
关于平台的更多新功能:功能发布记录