重要
Lakebase Autoscaling 是 Lakebase 的最新版本更新,具有自动缩放计算、缩放到零、分支和即时还原功能。 有关支持的区域,请参阅 区域可用性。 如果你是 Lakebase 预配的用户,请参阅 Lakebase 预配。
Databricks 应用允许直接在工作区中生成和运行交互式应用程序。 将 Lakebase 添加为资源时,Databricks 将处理整个身份验证链:为应用创建服务主体、授予匹配的 Postgres 角色,并将连接详细信息注入为环境变量。 应用连接到完全托管的 Postgres 数据库,而无需管理凭据或连接字符串。
本指南指导你部署连接到 Lakebase 数据库的模板应用。 最后,你将拥有一个正在运行的应用,其中包含可以直接从 Lakebase 检查和查询的数据,并可以选择在 Unity 目录中与 Lakehouse 数据一起注册。
注释
你需要访问启用了 Lakebase 的 Databricks 工作区(如果需要,请联系您的工作区管理员),需要有权创建计算资源和应用程序,并且对 Python 和 SQL 有基本的了解。
步骤 1:预配 Lakebase 实例
Lakebase 项目是一个托管的 Postgres 实例,您的应用程序将其作为资源进行连接。 项目分为分支,每个 分支表示独立的数据库环境。
在创建项目之前,请确保工作区 已启用无服务器计算。 如果无法自行进行更改,请联系管理员。
若要创建项目: 应用切换器 → Lakebase → 自动缩放 → 创建项目 →接受默认值
项目是使用 production 分支和 databricks_postgres 数据库创建的。
步骤 2:从模板创建 Databricks 应用
模板可处理基础结构复杂性:连接池、OAuth 令牌刷新和错误处理已内置。 如果需要完全自定义的应用,请参阅 “编写自己的应用”。
Lakebase 提供三个自动缩放的待办事项应用模板:Dash、Flask 和 Streamlit。 导航到 “新建 > 应用 ”以打开应用创建界面,并从 “数据库 ”选项卡中选择首选模板。
步骤 3:配置数据库资源
将 Lakebase 添加为资源会执行两项操作:它创建具有适当数据库权限的服务主体,并将连接详细信息作为 环境变量 注入应用中。 这是允许模板自动连接到数据库,而无需代码中的任何连接字符串。
在 “配置 ”步骤中,选择应用的数据库和计算大小。 有关添加数据库资源的详细信息,请参阅 向 Databricks 应用添加 Lakebase 资源。
在 “应用资源”下,选择 Lakebase 项目、分支和数据库。 分支名称显示为 ID:如果接受步骤 1 中的默认值,则只有一个分支(生产)可供选择。 有关其他项目或将 ID 与名称匹配,请查看你项目的 分支页。
在 “计算大小”下,对于本指南,我们将选择 “中等”。 请注意,这是应用服务器计算,独立于Lakebase 数据库计算,后者可独立缩放。
步骤 4:查看授权
每个 Databricks App 都作为自己的 服务主体(独立于任何单个用户的专用标识)运行。 将 Lakebase 作为资源连接时,Databricks 会自动为该服务主体创建匹配的 Postgres 角色 ,并向应用的服务主体授予其连接所需的数据库访问权限、创建其自己的架构以及读取和写入数据,无需手动设置角色。
用户授权(预览版) 允许你的应用代表登录用户而不是自己的服务主体进行操作,当不同的用户应根据其个人权限看到不同的数据时,这非常有用。 对于此模板,不需要其他用户范围。 若要稍后启用代理用户访问,请参阅 用户授权。
步骤 5:为应用命名并安装
此处选择的应用名称将成为 Lakebase 自动在数据库中创建的架构名称的一部分。 客户端 ID 是分配给应用的服务主体,删除了连字符。 可以在 Lakebase 中稍后重命名架构,但创建后无法更改应用名称本身。 模板默认为 lakebase-autoscaling-app.
App name: lakebase-autoscaling-app
Service principal: aeb6ff91-98ff-4752-af7d-fc6d4cf570d0
↓
(same ID, hyphens removed)
Schema name: lakebase-autoscaling-app_schema_aeb6ff9198ff4752af7dfc6d4cf570d
确认或更改应用名称,查看预先填充的说明,并选择设置 无服务器使用策略。 单击 “安装 ”以创建应用配置。
步骤 6:部署应用
单击“ 安装”后,计算会自动启动,应用无需执行任何进一步操作即可部署。 这需要 2-3 分钟。 当应用状态显示 “正在运行”时,单击其旁边的 URL 以打开应用。 有关完整的开发工作流,包括本地开发和重新部署,请参阅 “开发 Databricks 应用”。
在进行代码更改后,使用 “部署 ”按钮重新部署。 如果部署失败,请检查 “部署 ”选项卡。失败的步骤(例如,“已安装的包”或“应用已启动”)会告诉你在何处查找。
步骤 7:验证集成
在提供的 URL 中打开应用,并添加一些待办事项。 在 Lakebase 项目中,打开 表 并选择应用架构下的待办事项表。 您的行已被应用的服务主体使用步骤 3 中注入的连接详细信息编写。
若要对数据运行自定义查询,请使用 Lakebase 项目中的 SQL 编辑器 。 Lakebase 在经过一段非活动时间后会缩减至零,因此当你再次使用时,可能会发现第一个请求在数据库启动时需要几秒钟时间。 有关其他连接选项,请参阅 连接到 Lakebase 项目。
步骤 8:通过 Unity 目录查询(可选)
默认情况下,应用的 Lakebase 数据可通过 Postgres 连接直接访问。 使用标准 Databricks SQL 在 Unity 目录中注册它可使它与 Lakehouse 数据一起进行查询,从而在同一查询中启用应用事务表和 Delta 表之间的联接。
若要注册,请打开目录资源管理器并创建新目录。 选择 Lakebase Postgres 作为目录类型,选择 “自动缩放”,然后选择与应用相同的项目和分支。 有关完整详细信息,请参阅 “在 Unity 目录中注册数据库 ”。
注册后,请注意 Unity 目录中的架构名称会保留应用名称中的连字符。 目录名称和架构名称都需要反引号:
SELECT * FROM `your-catalog-name`.`lakebase-autoscaling-app_schema_aeb6ff9198ff4752af7dfc6d4cf570d`.todos;