本页介绍如何迁移现有的 Databricks 联机表(旧表)。 可以迁移到以下各项:
- 在线特征库
- Lakebase 同步表
重要
Databricks 联机表(旧版) 已被弃用。 2026 年 1 月 15 日之后,将无法访问这些表。
Databricks Online 功能存储(由 Lakebase 提供支持) 是联机功能服务的推荐方法。
列出所有现有联机表
若要查看工作区中的所有现有联机表,请使用 SQL 查询或 Python 脚本。
SQL
将<workspace_url>和<workspace_id>替换为您的工作区信息。
SELECT
CONCAT("https://<workspace_url>/pipelines/", usage_metadata.dlt_pipeline_id, "?o=<workspace_id>"),
SUM(usage_quantity)
FROM
system.billing.usage
WHERE
usage_date > DATE_SUB(NOW(), 7)
AND billing_origin_product = 'ONLINE_TABLES'
GROUP BY
ALL;
Python
from databricks.sdk import *
from databricks.sdk.service.catalog import *
w = WorkspaceClient()
result = []
for catalog in w.catalogs.list():
for schema in w.schemas.list(catalog_name=catalog.name):
for table in w.tables.list(catalog_name=catalog.name, schema_name=schema.name):
if table.table_type == TableType.FOREIGN and table.data_source_format == DataSourceFormat.MYSQL_FORMAT and table.pipeline_id is not None:
result.append((table.full_name, table.comment))
print(result)
将联机表迁移到特征存储以便于模型或特征服务的终结点使用
重要
此功能为 公共预览版 ,可在以下区域使用:
westus、westus2、eastus、eastus2、northeurope、westeurope、australiaeast、brazilsouth、canadacentral、centralindia、centralus、southcentralus、southeastasia、uksouth
步骤 1:创建在线特征存储并发布特征表
Databricks 建议为每个工作区创建一个在线商店,用于测试和概念证明。 对于生产环境或隔离要求,可以配置额外存储。
from databricks.feature_engineering import FeatureEngineeringClient
fe = FeatureEngineeringClient()
# Create a single online store that can support multiple feature tables
fe.create_online_store(
name="online-feature-store",
capacity="CU_1"
)
有关发布功能表的详细信息,请参阅 Databricks Online 功能存储。
步骤 2:更新依赖于这些联机功能的端点
使用用于 Python 的 Databricks SDK 或 UI 将终结点更新为具有当前日期的新环境变量 MIGRATE_FEATURE_STORE 作为值。
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import EndpointCoreConfigInput, ServedEntityInput
workspace = WorkspaceClient()
workspace.serving_endpoints.update_config(
name="my-serving-endpoint",
served_entities=[
ServedEntityInput(
entity_name="main.default.customer_features",
workload_size="Small",
scale_to_zero_enabled=True,
environment_vars={
# Set to the current date (optional time) to indicate migration to online store
# This environment variable can be removed after January 15, 2026.
"MIGRATE_FEATURE_STORE": "2025-11-13"
}
)
]
)
有关详细信息,请参阅 更新终结点。
步骤 3:清理在线表
通过检查终结点事件是否包含类似 Linked to Online Feature Store table: "table name"消息来验证终结点是否正在使用新的在线商店。 请参阅 “监视模型质量和终结点运行状况”。
接下来,删除遗留在线表。 请参阅 使用 UI 删除联机表 ,或使用 API 删除联机表。
将在线表迁移到用于 OLTP 的同步表
重要
此功能在以下区域中为公共预览版:westus、westus2、eastus、eastus2、centralus、southcentralus、northeurope、westeurope、australiaeast、brazilsouth、canadacentral、centralindia、southeastasia、uksouth。
步骤 1:创建数据库实例
首先,创建 Lakebase 数据库实例来存储同步表。 请参阅 “创建和管理数据库实例”。
(可选)可以创建数据库目录,以使用 Unity 目录特权来管理数据访问。 请参阅 在 Unity 目录中注册数据库。
步骤 2:从源表创建同步表
同步表是一个 Unity 目录只读 Postgres 表,它自动将数据从 Unity 目录表同步到 Lakebase 数据库实例。
若要从联机表迁移到已同步表,请从联机表的源表创建同步表:
- 在
目录中,选择要迁移到同步表的在线表。
- 在“ 概述 ”选项卡的“ 说明 ”部分下,单击 “源”表的名称。
- 从所选源表创建同步表。 请参阅 将数据从 Unity 目录表同步到数据库实例。
- 可以将同步表存储在与现有联机表相同的目录位置。
- 可以在已同步的表之间共享一个管道。
- 创建同步表后,可以连接到数据库实例并直接对其进行查询。 请参阅 “连接”和“查询”。
步骤 3:清理在线表
创建同步表后,请删除联机表。 请参阅 使用 UI 删除联机表 ,或使用 API 删除联机表。