从旧表和第三方联机表迁移

本页介绍如何迁移现有的 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)

将联机表迁移到特征存储以便于模型或特征服务的终结点使用

重要

此功能为 公共预览版 ,可在以下区域使用:

westuswestus2eastuseastus2northeuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindiacentralussouthcentralussoutheastasiauksouth

步骤 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 的同步表

重要

此功能在以下区域中为公共预览版westuswestus2eastuseastus2centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindiasoutheastasiauksouth

步骤 1:创建数据库实例

首先,创建 Lakebase 数据库实例来存储同步表。 请参阅 “创建和管理数据库实例”。

(可选)可以创建数据库目录,以使用 Unity 目录特权来管理数据访问。 请参阅 在 Unity 目录中注册数据库

步骤 2:从源表创建同步表

同步表是一个 Unity 目录只读 Postgres 表,它自动将数据从 Unity 目录表同步到 Lakebase 数据库实例。

若要从联机表迁移到已同步表,请从联机表的源表创建同步表:

  1. “数据”图标目录中,选择要迁移到同步表的在线表。
  2. 在“ 概述 ”选项卡的“ 说明 ”部分下,单击 “源”表的名称。
  3. 从所选源表创建同步表。 请参阅 将数据从 Unity 目录表同步到数据库实例
    • 可以将同步表存储在与现有联机表相同的目录位置。
    • 可以在已同步的表之间共享一个管道。
  4. 创建同步表后,可以连接到数据库实例并直接对其进行查询。 请参阅 “连接”和“查询”。

步骤 3:清理在线表

创建同步表后,请删除联机表。 请参阅 使用 UI 删除联机表 ,或使用 API 删除联机表