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-table
和 my-postgres-database
中的所有其他表,你可以使用 Unity Catalog 从Azure Databricks 工作区管理对这些表的访问。
注意
原始查询联合配置可能包括 Lakehouse Federation 中不可用的选项。 迁移到 Lakehouse Federation 时可能不需要这些选项,但如果确实需要这些选项,可以继续使用旧版查询联合连接,而不是迁移。
有关创建连接和外部目录的详细说明适用于每种受支持的连接类型。 请参阅有关你的连接类型的文章,该文章列在此文档网站左侧导航窗格的目录中。