Lakeflow Connect 用于构建托管摄取管道,将 SaaS 应用和数据库中的数据拉取到 Unity Catalog 的 Delta 表中,端到端受治理,由无服务器 Lakeflow Spark 声明式管道(原 Delta Live Tables / DLT)驱动。
用途 Lakeflow Connect 是面向 SaaS 应用和数据库的托管拉取路径。它适合从具有托管连接器的 SaaS 应用或数据库摄取数据,例如 Salesforce、Workday Reports、ServiceNow、GA4、HubSpot、Confluence、SQL Server 等。它不适用于云对象存储上的文件(应使用 Auto Loader)、希望原地查询而不复制的源(应使用 Lakehouse Federation)、向您推送事件的应用或设备(应使用 Zerobus),以及提供 Delta 共享的合作伙伴(应使用 Delta Sharing)。
主要能力
- 简单低维护:无需编写客户端代码,无需运维消息总线,只需连接器 + UC Connection + 无服务器管道。
- 与湖仓统一:凭据存储在 Unity Catalog 中,输出为受治理的 Delta 表,像其他工作负载一样在 Jobs 和 SDP 上运行。
- 高效增量处理:内置变更跟踪、CDC、模式演化和重试。
- 四种架构模式:SaaS 拉取(通过 OAuth 或 API 密钥读取外部 SaaS,落入流式 Delta 表);通过网关的数据库 CDC(摄取网关在客户网络中运行,将变更事件暂存到 UC Volume,无服务器摄取管道将其作为 CDC 应用到 Delta);基于查询(对于没有原生 CDC 的源,连接器定期发出查询而非订阅变更流);社区连接器(基于模板,不在本技能范围内)。
- 连接器目录:GA 连接器包括 Salesforce、Workday Reports、ServiceNow、Google Analytics 4、HubSpot、Confluence、SQL Server(云和本地);公共预览连接器包括 NetSuite、Dynamics 365、PostgreSQL CDC、MySQL CDC、Oracle / Teradata / SQL Server / PG / MySQL(基于查询)、Snowflake / Redshift / Synapse / BigQuery(外部目录)、SFTP;Beta 和私有预览连接器为早期访问,不支持生产。
使用方式 所需工具:Databricks CLI v0.294.0+(用于 databricks pipelines create 和 databricks connections create,可用 databricks --version 验证);Databricks SDK for Python(databricks-sdk>=0.85.0,如偏好 SDK 而非 CLI);声明式自动化包(如以 IaC 编写,推荐用于交付到客户环境的任何管道)。无需额外的连接器专用 SDK,Lakeflow Connect 复用管道 API 表面,管道使用 ingestion_definition 块而非 libraries 块创建。
前置条件:确认 Unity Catalog 目标(目录和模式必须存在,创建管道的服务主体或用户需要 USE CATALOG、USE SCHEMA、CREATE TABLE 和 MODIFY 权限);具有源凭据的 UC CONNECTION 对象(SaaS OAuth U2M 连接必须通过 UI 创建,API 密钥和基本认证连接可通过 CLI / DAB 创建);对于数据库连接器,网关(经典计算,客户 VPC)与源数据库之间的网络可达性,本地需要 ExpressRoute(Azure)或 Direct Connect(AWS);对于文件连接器,SaaS 文件仓库(SharePoint / Google Drive)上的 OAuth 范围授权。
最小示例——Salesforce 摄取管道:规范编写路径是 JSON 到 databricks pipelines create --json。示例命令:databricks pipelines create --json '{"name": "salesforce_to_uc", "ingestion_definition": {"connection_name": "my_salesforce_oauth_connection", "objects": [{"table": {"source_schema": "salesforce", "source_table": "Account", "destination_catalog": "main", "destination_schema": "salesforce_raw"}}, {"table": {"source_schema": "salesforce", "source_table": "Opportunity", "destination_catalog": "main", "destination_schema": "salesforce_raw"}}]}}'。
运行管道:使用包路径运行:databricks bundle deploy -t dev;databricks bundle run salesforce_ingestion(KEY 是包中的管道资源键,默认等待);databricks bundle run salesforce_ingestion --no-wait。使用 pipelines create --json 命令式创建的管道没有按名称运行的 CLI,需按管道 ID 启动和轮询更新:databricks pipelines start-update <pipeline-id>(返回 update_id);databricks pipelines get-update <pipeline-id> <update-id>(轮询单个更新状态);databricks pipelines list-updates <pipeline-id>(最近更新及其状态)。
工作流:为每个新摄取管道选择连接器类别(SaaS / 数据库 / 文件 / 推送)并阅读匹配的参考文件;验证前置条件(UC 目标、源凭据、网络路径、区域可用性);创建 UC CONNECTION(OAuth U2M 用 UI,其他用 CLI / DAB);编写管道(一次性用 databricks pipelines create --json,交付客户用 DAB YAML);触发首次运行并查看事件日志;使用 Jobs pipeline_task(cron 或间隔)调度触发的管道。Lakeflow Connect 仅支持触发运行,continuous: false 选择触发模式但本身不是调度,节奏来自 Jobs 触发器。
适用场景 适合从 SaaS 应用和数据库摄取数据到 Databricks,构建受治理的原始表(摄取着陆区),然后在其上使用 databricks-pipelines 构建 Bronze/Silver/Gold 转换。
限制
- 仅触发,无连续模式:管道按计划或按需运行,从不连续运行。
- 仅计算计费:Lakeflow Connect 按 DBU 计费(无按行费用)。数据库连接器还会产生经典计算网关 DBU,外加无服务器摄取管道 DBU。
- Salesforce 认证仅 OAuth U2M:无机器对机器,无基本认证。连接创建需要 UI 走查。
- 数据库暂存保留默认 30 天,在网关和摄取管道之间的 UC Volume 中。
- 每个管道的限制:大多数 SaaS 连接器每个管道上限 250 张表,如需要可拆分到多个管道。
- 落地原始表:Lakeflow Connect 写入源保真表(摄取着陆区)。
- 反模式:CREATE TABLE ... FROM CONNECTION 是 Lakehouse Federation,不是 Lakeflow Connect;摄取管道携带 ingestion_definition,从不携带 libraries 块;continuous: true 被拒绝。
关键概念 UC CONNECTION 是凭据锚点,每个 Lakeflow Connect 管道指向一个 UC 连接,连接拥有认证,管道按名称引用它。无服务器摄取管道 +(可选)经典网关:SaaS 连接器纯无服务器,数据库连接器分为客户网络网关(经典)和无服务器摄取管道(绑定 Delta)。CDC 和模式演化内置:对于支持变更跟踪或 CDC 的源,连接器增量应用变更并演化目标模式,数据类型变更通常需要完整快照重载。流式 Delta 输出:目标表是受治理的 Delta 表,CDC 源以变更语义应用(APPLY CHANGES / AUTO CDC,或 apply_changes_from_snapshot 用于快照源),兼容下游物化视图和 Spark 流式处理。OAuth U2M 仅 UI:DAB / CLI 无法引导 OAuth U2M 连接,需人工完成一次性浏览器步骤(Catalog Explorer > External Data > Connections > Create connection > 选择源 > 登录),然后当 databricks connections get <connection_name> 报告 READY 后继续。
相关技能:databricks-pipelines(Lakeflow Connect 管道运行的 SDP 运行时,用于 Auto Loader 和下游管道模式);databricks-zerobus-ingest(基于推送的 gRPC 摄取,与 Lakeflow Connect 的基于拉取的连接器并列);databricks-dabs(将 Lakeflow Connect 管道编写为 IaC);databricks-unity-catalog(管理目录、模式和 LFC 凭据所在的 UC CONNECTION 对象);databricks-jobs(使用 pipeline_task 调度摄取管道)。