无服务器计算的最佳做法
本文介绍了在笔记本和作业中使用无服务器计算的最佳做法建议。
按照这些建议,你将在 Azure Databricks 上提高工作负荷的工作效率、成本效益和可靠性。
将工作负荷迁移到无服务器计算
为了保护用户代码的隔离,无服务器计算利用 Azure Databricks 安全共享访问模式。 因此,一些工作负荷需要更改代码才能继续处理无服务器计算。 有关不受支持的功能列表,请参阅无服务器计算限制。
某些工作负荷比其他工作负荷更容易迁移。 满足以下要求的工作负荷最容易迁移:
- 访问的数据必须存储在 Unity Catalog 中。
- 工作负荷应与共享访问模式计算兼容。
- 工作负荷应与 Databricks Runtime 14.3 或更高版本兼容。
要测试工作负荷是否适用于无服务器计算,请在具有共享访问模式和 14.3 或更高版本的 Databricks Runtime 的非无服务器计算资源上运行工作负荷。 如果运行成功,则工作负荷已准备好进行迁移。
鉴于此更改的重要性和当前限制列表,许多工作负荷不会无缝迁移。 Azure Databricks 建议在新建工作负荷时优先处理无服务器计算兼容性,而不是重新编码所有内容。
从外部系统引入数据
由于无服务器计算不支持 JAR 文件安装,因此无法使用 JDBC 或 ODBC 驱动程序从外部数据源引入数据。
可用于引入的替代策略包括:
自动加载程序用于在新数据文件到达云存储空间时以增量方式高效地对其进行处理。 请参阅什么是自动加载程序?。
数据引入合作伙伴解决方案。 请参阅使用 Partner Connect 连接到引入合作伙伴。
添加数据 UI 以直接上传文件。 请参阅将文件上传到 Azure Databricks。
引入替代项
使用无服务器计算时,还可以使用以下功能来查询数据,而无需移动数据。
- 如果要限制数据重复或保证查询可能的最新数据,Databricks 建议使用增量共享。 请参阅什么是 Delta Sharing?。
- 如果要执行特别报告和概念证明工作,Databricks 建议尝试正确的选择,这可能是 Lakehouse 联合身份验证。 Lakehouse 联合身份验证允许将整个数据库从外部系统同步到 Azure Databricks,并由 Unity Catalog 治理。 请参阅“什么是 Lakehouse Federation?”。
尝试其中一项或两项功能,查看它们是否满足查询性能要求。
监视无服务器计算的成本
可使用多种功能来帮助监视无服务器计算的成本:
使用系统表来创建仪表板、设置警报和执行临时查询。 请参阅监视无服务器计算的成本。
在帐户中设置预算警报。 请参阅使用预算监视帐户支出。
导入预配置的使用情况仪表板。 请参阅导入使用情况仪表板。