本文解答了有关 Databricks Lakeflow Connect 中托管连接器的常见问题。 有关特定于连接器的常见问题解答,请参阅连接器的文档。
Databricks 支持哪些托管连接器?
Lakeflow Connect 为 Salesforce、SQL Server、ServiceNow 和 Google Analytics 提供托管连接器。 若要获取路线图或提前访问专用预览版连接器,请联系客户团队。
托管连接器支持哪些接口?
所有托管连接器都支持使用 Databricks API 和 Databricks 资产捆绑包创建管道。 大多数连接器还支持从以下入口点在 UI 中创建管道:
- “添加数据”页 (数据引入)
- “作业和管道”页面(新建>引入管道)
- 新作业的“任务”窗格(添加任务>+ 新建引入管道 或类型>管道)
下表总结了每个连接器支持哪些接口。
| 连接器 | 基于用户界面的管道设计 | 基于 API 的管道编写 | Databricks 资产捆绑包 |
|---|---|---|---|
| Salesforce | 是的 | 是的 | 是的 |
| Workday | 否 | 是的 | 是的 |
| SQL Server | 是的 | 是的 | 是的 |
| ServiceNow | 是的 | 是的 | 是的 |
| GA4 | 是的 | 是的 | 是的 |
| SharePoint | 否 | 是的 | 是的 |
托管连接器如何处理架构演变?
除非选择通过显式指定要引入的列来选择退出,否则所有托管连接器都会自动处理添加和删除的列。
- 当源中出现新列时,Databricks 会在管道的下一次运行中自动引入该列。 对于在架构更改之前显示的列中的任何行,Databricks 会将值留空。 您可以选择不参与自动列引入,通过 API 列出特定的列来进行引入,或者在 UI 中禁用任何将来的列引入。
- 从源中删除列时,Databricks 不会自动删除它。 相反,连接器使用表属性将已删除的列设置为目标中的“非活动”。 如果以后另一列同名,则管道会失败。 在这种情况下,您可以执行表的全面刷新,或手动删除不活跃的列。
同样,连接器可以处理新的和已删除的表。 如果引入整个架构,则除非选择退出,否则 Databricks 会自动引入任何新表。如果在源中删除表,连接器会将其设置为目标中的 inactive。 请注意,如果选择引入整个架构,则应查看连接器每个管道的表数限制。
其他架构更改取决于源。 例如,Salesforce 连接器会将列重命名视作列删除和新增,并根据上述行为自动进行更改。 但是,SQL Server 连接器需要完全刷新受影响的表才能继续引入。
下表总结了每个连接器可以自动处理哪些架构更改:
| 连接器 | 新列和已删除列 | 数据类型更改 | 列重命名 | 新表 |
|---|---|---|---|---|
| Salesforce | 是的 | 否 | 是的 - 作为新列(新名称)处理,并删除列(旧名称)。 不需要完全刷新。 | 是 - 如果引入整个架构。 |
| Workday | 是的 | 否 | 是的 - 作为新列(新名称)处理,并删除列(旧名称)。 不需要完全刷新。 | 不適用 |
| SQL Server | 是的 | 否 | 是 - 列已重命名。 需要完全刷新。 | 是 - 如果引入整个架构。 |
| ServiceNow | 是的 | 否 | 是的 - 作为新列(新名称)处理,并删除列(旧名称)。 不需要完全刷新。 | 是 - 如果引入整个架构。 |
| GA4 | 是的 | 否 | 是的 - 作为新列(新名称)处理,并删除列(旧名称)。 不需要完全刷新。 | 是 - 如果引入整个架构。 |
是否可以自定义托管连接器?
可以选择引入的对象、目标、计划、权限、通知等。 无法自定义数据摄取过程本身,因为这些连接器由系统完全管理。 若要进一步进行自定义,可以使用 Lakeflow Spark 声明式管道或结构化流式处理。
托管连接器、Lakehouse Federation 和 Delta Sharing 之间有什么差别?
使用 Lakehouse Federation 可以在不移动数据的情况下查询外部数据源。 使用 Delta Sharing 可以跨平台、云和区域安全地共享实时数据。
在托管连接器、Lakehouse Federation 和 Delta Sharing 之间进行选择时,对于以下场景,可以选择 Delta Sharing:
- 限制数据重复。
- 查询尽可能最新的数据。
对于以下情形,请选择 Lakehouse 联邦系统:
- 针对 ETL 管道执行特别报告或概念证明工作。
托管连接器和自动加载程序之间的区别是什么?
使用托管连接器可以增量引入来自 Salesforce 等 SaaS 应用程序的数据,以及 SQL Server 等数据库。 自动加载器是一个云对象存储连接器,可让你在文件到达 S3、ADLS 和 GCS 后以增量方式逐步引入文件。 它与结构化流式传输和 Lakeflow Spark 声明式管道兼容,但不提供完全托管的数据摄取管道。
托管连接器能否写回数据源?
否。 如果你对此功能感兴趣,请联系你的帐户团队。
托管连接器是否在所有区域中可用?
否。 请参阅 无服务器计算功能可用性。
管道是否可以写入多个目标架构?
所有托管 SaaS 连接器(如 Salesforce、Workday 和 ServiceNow)的 Lakeflow Connect API 都支持此功能。
如果选择使用此功能,您的数据流将仅限于 API。 无法在 UI 中编辑它。
可以更改所引入表的名称?
所有托管连接器的 Lakeflow Connect API 都支持此功能。
如果选择使用此功能,您的数据流将仅限于 API。 不能在 UI 中编辑仅限 API 的管道。
对于要重命名的每个表,添加包含所需表名称的 destination_table 配置。
如果管道在计划运行下一次更新(更新 N+1)时仍在运行(更新 N),会发生什么情况?
Databricks 跳过更新 N+1,在确认更新 N 已按时完成后,继续进行更新 N+2。
当引入管道被删除时,目标表会怎么样?
删除引入管道时,将删除目标表。
托管连接器如何定价?
托管连接器具有基于计算的定价模型。
SaaS 源(如 Salesforce 和 Workday)仅在无服务器基础结构上运行,会产生无服务器 Lakeflow Spark 声明性管道 DBU 费用。
对于 SQL Server 等数据库源,引入网关可以在经典模式或无服务器模式下运行,具体取决于源,引入管道在无服务器上运行。 因此,您可以同时获得经典和无服务器 Lakeflow Spark 声明性管道的 DBU 费用。
有关费率详细信息,请参阅 Lakeflow Spark 声明性管道定价页。
能否在目标表上启用 Delta Lake 更改数据源?
所有目标表都已启用此功能。
连接器特定的常见问题解答
有关特定于连接器的常见问题解答,请参阅连接器的文档: