通过Doris查询并操作Iceberg表
更新时间:2026-08-10
本文说明如何创建Iceberg数据表,直接在Doris中完成Iceberg表的数据读写与各类统计查询。
前提条件
- 已成功创建分析与AI搜索实例(Doris实例)。
- 已具备元数据管理相关权限。
操作步骤
步骤一:创建数据目录
- 登录百度胜算控制台,进入已经创建好的工作空间。
- 在左侧导航栏选择元数据,单击新建按钮,选择创建数据目录。
- 在创建数据目录对话框中,配置数据目录名称为iceberg_test,然后单击确定。

步骤二:创建Iceberg表
- 在元数据页面左侧数据目录树中,选择已创建好的数据目录iceberg_test,依次单击default>立即创建>创建数据表。

- 在右侧DDL语句中输入以下信息,然后单击确定即可。
SQL
1CREATE TABLE test_table (
2 col1 BOOLEAN COMMENT 'col1',
3 col2 INT COMMENT 'col2',
4 col3 STRING COMMENT 'col3'
5)
6USING ICEBERG

- 配置完成后,单击确定,完成Iceberg表创建。
说明:创建成功的数据表将在数据目录树中展示,单击表名可查看表详情。
步骤三:通过Doris查询与操作Iceberg表
下面提供SQL示例,您既可以使用MySQL客户端连接Doris执行,也可以在百度胜算控制台上使用Notebook运行。以下以MySQL客户端为例进行说明。
在Notebook中编写和执行 SQL 查询语句,与MySQL客户端操作方式相同。
通过API获取Doris连接信息
除在控制台查看外,还可通过 API 获取 Doris 实例的连接地址与账号密码,用于程序化连接。
- 调用
getDorisInfo接口获取当前用户的连接信息(GET 请求,需携带鉴权头)。
Bash
1curl -X GET "http://databuilder.bd.baidubce.com/v1/workspaces/{workspaceId}/instances/{computeInstanceId}/getDorisInfo" \
2 -H "Authorization: <authorization string>"
- 接口返回连接地址与账号密码,请根据客户端所在网络环境选择对应地址:
JSON
1{
2 "requestId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
3 "result": {
4 "endpoint": "100.80.95.52:5",
5 "vpcEndpoint": "10.0.8.28:9030",
6 "eipEndpoint": "106.13.45.244:9030",
7 "user": "db_14d0e61311854b4a837bafad2ccfaf3b",
8 "password": "***********"
9 }
10}
| 字段 | 适用场景 | 说明 |
|---|---|---|
| vpcEndpoint | 客户端与实例在同一VPC内 | 内网直连地址,形如 10.x.x.x:9030 |
| endpoint | 客户端在其它VPC内 | 跨VPC接入地址(BAEndpoint) |
| eipEndpoint | 客户端在公网/办公网 | 公网地址,形如 106.x.x.x:9030,需先绑定EIP |
- (可选)如需公网访问但尚未绑定 EIP,可先调用
bindEip接口为实例绑定一个可用的 EIP,绑定成功后再次调用getDorisInfo即可获取eipEndpoint。
Bash
1curl -X POST "http://databuilder.bd.baidubce.com/v1/workspaces/{workspaceId}/instances/{computeInstanceId}/bindEip" \
2 -H "Authorization: <authorization string>" \
3 -H "Content-Type: application/json" \
4 -d '{"eip": "106.13.45.244"}'
- 使用返回的地址与账号密码,通过 MySQL 客户端连接 Doris 实例,即可执行后续SQL。
Bash
1mysql -h 10.0.8.28 -P 9030 -u db_14d0e61311854b4a837bafad2ccfaf3b -p
说明:
-P为端口参数(大写),Doris 查询端口默认为 9030;执行后按提示输入密码。数据库端口暴露公网存在安全风险,建议在负载均衡侧配置访问来源白名单。
查看Iceberg表
- 连接到Doris计算实例,执行以下命令查看数据目录。
SQL
1show catalogs;
执行结果将显示已创建的数据目录列表,其中包含步骤一创建的名为iceberg_test的目录。

- 切换到iceberg_test数据目录,查看数据库和表信息。
SQL
1switch iceberg_test;
2show databases;
3use default;
4show tables;
执行结果将显示步骤二创建的名为test_table的Iceberg表。

数据写入
执行以下SQL语句向test_table表中写入数据。
SQL
1INSERT INTO test_table VALUES
2 (true, 1, '111'),
3 (false, 2, '222'),
4 (true, 3, '333'),
5 (false, 4, '444');
执行成功后,系统将返回写入结果,表示四条数据已成功写入Iceberg表。

简单查询
执行以下SQL语句查询表中所有数据。
SQL
1select * from test_table;
执行结果将返回表中的所有数据行。

带条件查询
执行以下SQL语句查询满足指定条件的数据。
SQL
1select * from test_table where col1 = true;
执行结果将返回col1字段值为true的数据行。

分组聚合查询
执行以下SQL语句进行分组聚合统计。
SQL
1select col1, sum(col2), count(*) from test_table group by col1;
执行结果将返回按col1字段分组后的聚合统计结果。

评价此篇文章
