Lakehouse 联合:迁移旧版查询联合连接

如果已设置旧版查询联合连接,Databricks 建议将其迁移为使用 Lakehouse Federation

旧版查询联合涉及在 Azure Databricks 中创建引用外部数据源的表。 若要使用 Lakehouse Federation 将这些表“移动到”Unity Catalog 中,必须为包含该表的数据库创建 Lakehouse 联合连接和外部目录。 然后,可以使用 Unity Catalog 授予用户对目录或目录中架构和表的访问权限。

单个外部目录可以涵盖为旧版查询联合设置的多个表。

如下示例中:

  • “旧式语法”选项卡显示用于在 Azure Databricks 中创建名为 postgresql_table 的表的语法,该表引用了 postgres-demo.lb123.cn-north-2.rds.amazonaws.com:5432 服务器上的 my-postgres-database 数据库中的 my-postgres-table
  • “Lakehouse Federation”选项卡显示创建与 postgres-demo.lb123.cn-north-2.rds.amazonaws.com:5432 服务器的连接,然后创建映射到 my-postgres-database 数据库的外部目录 my-postgres-catalog

旧式语法

CREATE TABLE postgresql_table
USING postgresql
OPTIONS (
    dbtable 'my-postgres-table',
    host 'postgres-demo.lb123.cn-north-2.rds.amazonaws.com',
    port '5432',
    database 'my-postgres-database',
    user 'postgres_user',
    password 'password123'
);

Lakehouse Federation

--Create a connection:
CREATE CONNECTION postgres-connection TYPE postgresql
OPTIONS (
    host 'postgres-demo.lb123.cn-north-2.rds.amazonaws.com',
    port '5432',
    user 'postgres_user',
    password 'password123'
);

--Create a foreign catalog that mirrors the database:
CREATE FOREIGN CATALOG my-postgres-catalog USING CONNECTION postgres-connection
OPTIONS (database 'my-postgres-database');

外部目录将显示 my-postgres-tablemy-postgres-database 中的所有其他表,你可以使用 Unity Catalog 从Azure Databricks 工作区管理对这些表的访问。

注意

原始查询联合配置可能包括 Lakehouse Federation 中不可用的选项。 迁移到 Lakehouse Federation 时可能不需要这些选项,但如果确实需要这些选项,可以继续使用旧版查询联合连接,而不是迁移。

有关创建连接和外部目录的详细说明适用于每种受支持的连接类型。 请参阅有关你的连接类型的文章,该文章列在此文档网站左侧导航窗格的目录中。