将 Unity 目录表同步到 Postgres,并将其与操作数据一起查询。
步骤: ① 创建分析数据 → ② 同步到 Lakebase → ③ 在 Postgres 中找到您的数据 → ④ 跨两个世界进行查询
注释
这是一份快速入门指南。 有关完整文档,请参阅 同步表。
在您开始之前
- 确保你已完成获取 Postgres 数据库。 需要包含示例数据的 Lakebase 项目。
- 用于 Unity 目录查询的 SQL 仓库或笔记本。
- 在要创建同步表的架构上具有 USE_SCHEMA 和 CREATE_TABLE 权限。
步骤 1:在 Unity 目录中创建分析数据
假设你的数据团队在 Lakehouse 中生成了用户分段分数。 在生产环境中,这通常是金表、机器学习输出或增强数据集。 对于本指南,请创建一个小示例。
在 SQL 仓库或笔记本中,运行:
CREATE TABLE main.default.user_segments AS
SELECT * FROM (VALUES
(1, 'power_user', 0.92),
(2, 'casual', 0.35),
(3, 'power_user', 0.88)
) AS segments(user_id, segment, engagement_score);
请注意,user_id 值与 get-started 中 id 表的 playing_with_lakebase 列相匹配。 这是故意的。 你在步骤 4 中将它们合并。
了解详细信息: 支持的源类型
步骤 2:将表同步到 Lakebase
在Azure Databricks工作区中,转到边栏中的目录。 选择您的 user_segments表以打开其详细信息页面,然后点击 创建>同步表。
在“ 创建同步表 ”对话框中,选择 Lakebase 项目 databricks_postgres 的数据库作为目标和 快照 作为同步模式。 快照仅复制一次数据,是最简单的入门方式。
同步会自动进行。 完成后,Lakebase 数据库中会显示一个新的只读表。 Unity Catalog 中的架构名称将成为 Postgres 的架构名称,表名会添加 _synced 后缀:default.user_segments_synced
了解详细信息: 创建同步表(完整过程) | 同步模式
步骤 3:在 Postgres 中查找数据
切换到 Lakebase SQL 编辑器。 Unity 目录中的分析数据现在可以使用标准 Postgres SQL 进行查询。 查找用户 1:
SELECT * FROM "default".user_segments_synced WHERE user_id = 1;
注释
default 必须带引号,因为它是 PostgreSQL 保留关键字。 同步表架构继承 Unity 目录架构名称,因此,如果架构命名 default,则必须始终在查询中引用它。
您应该会看到用户 1,其细分为 power_user,参与度评分为 0.92。 这是你在 Unity Catalog 中创建的同一行数据,现在也可在 Postgres 中以低延迟方式读取。
了解详细信息: 数据类型映射
步骤 4:跨两个世界查询
这是回报。 您的 playing_with_lakebase 表包含运行数据。 你的 user_segments_synced 表具有 Lakehouse 分析。 加入它们:
SELECT
p.id,
p.name,
p.value,
s.segment,
s.engagement_score
FROM playing_with_lakebase p
JOIN "default".user_segments_synced s ON p.id = s.user_id;
您的应用程序现在可以提供增强数据。 单个 Postgres 查询将应用知道的内容(名称、值)与 lakehouse 计算的内容(段、分数)相结合。 没有对 Lakehouse 的 API 调用,没有同步脚本,也不会造成延迟损失。
了解详细信息: 容量规划
后续步骤
- 保持数据新鲜: 为持续更新配置 触发或连续同步模式 。
- 生成应用: 在 Databricks 应用 或 外部应用程序中使用同步的数据。
- 探索 Lakebase:核心概念 | Lakebase