数据探索

最近更新时间:2026-07-02 15:54:29

我的收藏
数据探索是流计算 Oceanus 提供的轻量 SQL 查询工作台,支持在控制台中直接编写和运行 SQL 语句进行数据查询与验证,无需创建和发布完整的作业。
数据探索适用于以下场景:
SQL 语法验证:快速验证 SQL 语句的正确性,检查函数调用和表达式是否符合预期。
元数据查询:查看工作空间下的 Catalog、数据库、表、视图、函数等元数据信息。
数据探查与调试:对源表、维表、结果表中的数据进行探查和预览,验证数据格式和内容是否符合预期。
MySQL / Paimon / Hive 等外部 Catalog 查询:直接查询已注册的外部 Catalog 中的数据。
SQL 开发效率提升:在作业开发过程中,用数据探索快速验证 SQL 片段,减少从编写到发布的调试周期。

操作步骤

步骤1:进入数据探索

1. 登录 流计算 Oceanus 控制台,进入目标工作空间。
2. 在左侧导航栏,选择数据探索,进入数据探索页面。
3. 单击新建探索文件,输入文件名称后创建。
4. 创建完成后,在 SQL 编辑器中编写查询语句。

步骤2:选择 Session 集群

在数据探索页面右侧区域:
1. Session 集群下拉框中,选择一个运行中的 Session 集群(Flink 版本需为 1.16 及以上)。
支持的 Flink 版本:1.16、1.18、1.20。
如果列表中没有可用的 Session 集群,请先创建 Session 集群
2. 如果工作空间已注册外部 Catalog,系统会自动加载并在查询中可用。

步骤3:编写 SQL

在 SQL 编辑器中编写查询语句,数据探索支持 Flink SQL 的全部语法,包括:
SQL 类型
说明
示例
SHOW 语句
查询元数据信息
SHOW CATALOGS;SHOW DATABASES;SHOW TABLES;
DESCRIBE 语句
查看表结构
DESCRIBE table_name;
SELECT 查询
数据查询
SELECT * FROM source_table;
CREATE 语句
创建临时表/视图
CREATE TEMPORARY TABLE ... WITH (...);
INSERT 语句
数据写入(提交 Flink 作业)
INSERT INTO sink_table SELECT ... FROM source_table;
SET 语句
设置执行参数
SET 'execution.runtime-mode' = 'streaming';
EXPLAIN 语句
查看执行计划
EXPLAIN SELECT ...;
USE 语句
切换 Catalog/Database
USE CATALOG my_catalog;

步骤4:执行查询

1. 选中需要执行的 SQL 语句,单击执行按钮执行查询。
2. 单击运行按钮执行查询。
对于 SELECT / SHOW / DESCRIBE 等查询类语句,结果将在页面下方的运行结果区域直接展示。
对于 INSERT 语句,将提交一个 Flink 作业到 Session 集群执行。
3. 查询结果最多展示 5000 行,支持导出为 CSV 格式下载。

查询示例

基本查询

-- 查看当前 Catalog 和 Database
SHOW CURRENT CATALOG;
SHOW CURRENT DATABASE;

-- 查看所有 Catalog
SHOW CATALOGS;

-- 简单查询
SELECT 1;
SELECT CURRENT_TIMESTAMP AS ts, UUID() AS u;
SELECT CAST('2026-01-01' AS DATE) AS d;

-- 多列查询
SELECT 1 AS id, 'hello' AS name, 3.14 AS pi;

表操作

-- 创建临时表(数据生成器)
CREATE TEMPORARY TABLE datagen_source (
id INT,
name STRING
) WITH (
'connector' = 'datagen',
'rows-per-second' = '1',
'number-of-rows' = '10'
);

-- 查询临时表
SELECT * FROM datagen_source;

-- 聚合查询
SELECT COUNT(*) AS cnt, AVG(id) AS avg_id FROM datagen_source;

外部 Catalog 查询

-- 切换到 Paimon Catalog
USE CATALOG my_paimon_catalog;

-- 查看数据库和表
SHOW DATABASES;
USE my_database;
SHOW TABLES;

-- 查询 Paimon 表
SELECT * FROM my_table LIMIT 100;
SELECT COUNT(*) FROM my_table;

VALUES 查询

-- VALUES 构造数据查询
SELECT * FROM (VALUES (1, 'a'), (2, 'b'), (3, 'c')) AS t(id, name);

-- WHERE 过滤
SELECT x, x*x AS sq FROM (VALUES (1),(2),(3),(4),(5)) AS t(x) WHERE x > 2;

-- GROUP BY 聚合
SELECT grp, COUNT(*) AS cnt, SUM(val) AS total
FROM (VALUES ('a',1), ('a',2), ('b',10), ('b',20)) AS t(grp, val)
GROUP BY grp;

SET 语句(修改执行参数)

-- 查看当前配置
SET;

-- 查看指定配置
SET 'parallelism.default';

-- 切换执行模式
SET 'execution.runtime-mode' = 'streaming';
SET 'execution.runtime-mode' = 'batch';

-- 设置时区
SET 'table.local-time-zone' = 'Asia/Shanghai';