Lance 外表注册流程介绍
更新时间:2026-09-11
本文介绍如何在 Notebook 中通过 Ray 脚本,将已存在的 Lance 表注册为百度胜算元数据中的外表。注册完成后,即可在 Doris 中通过对应的数据目录和数据模式查询该表。
前提条件
- 资源组已绑定处于运行中的Ray类型的数据处理实例。
- 已获取 Lance 表在 BOS 上的存储路径,以及可访问该路径的 AccessKey、SecretKey。
操作步骤
步骤一:创建 Notebook
前往工作台,选择目标项目,依次单击右上角创建>数据处理>Notebook。

步骤二:连接Ray类型数据处理实例
进入创建的 Notebook,在右上角下拉框中选择处于运行中的Ray类型的数据处理实例。

步骤三:注册外部Lance表
- 在元数据页面确认目标数据目录和数据模式的名称,注册脚本中的
{existing catalog}、{existing database}需要与此处一致。在 Notebook 中执行以下脚本,完成外表注册:
SQL
1import ray
2from lance_ray import read_lance
3import lance
4from lance_namespace import RegisterTableRequest
5from lance_ray.utils import get_or_create_namespace
6
7@ray.remote
8def register_lance_table():
9 register_req = RegisterTableRequest(
10 id=["{existing catalog}", "{existing database}", "{new table name}"],
11 location="bos://xxx-bucket/xxxxxx/metastore/xxxxxx/catalogs/xxxxxx/schemas/xxxxxx/tables/xxxxxxxxxxxxxxxx",
12 properties={
13 "fs.bos.access.key": "{bos access key}",
14 "fs.bos.secret.access.key": "{bos secret key}",
15 },
16 )
17 namespace = get_or_create_namespace("rest", {})
18 namespace.register_table(register_req)
19 return "register success"
20
21print("start register")
22print(ray.get(register_lance_table.remote()))
23print("end register")
脚本参数配置如下:
| 参数配置项 | 说明 |
|---|---|
existing catalog |
准备好的数据目录名称。 |
existing database |
准备好的数据模式名称。 |
new table name |
注册后在百度胜算元数据中展示的表名。 |
location |
Lance 表在 BOS 上的存储路径。 |
fs.bos.access.key / fs.bos.secret.access.key |
访问上述 BOS 路径所需的 AccessKey 和 SecretKey。 |
- 脚本输出
register success后,表示注册成功。可以到元数据页面对应的数据模式下,确认新表已经展示出来;也可以在 Doris 中切换到对应数据目录后执行SHOW TABLES;核对。
评价此篇文章
