结构化流的生产考虑因素

您可以使用Structured Streaming on Databricks轻松配置生产增量处理工作负载,以满足实时或批处理应用程序的延迟和成本要求。理解结构化数据流的关键概念可以帮助您在扩展数据量和速度以及从开发转向生产时避免常见的陷阱。

Databricks推出了Delta Live表,以降低管理结构化流工作负载的生产基础设施的复杂性。Databricks建议在新的结构化流管道中使用Delta Live table;看到Delta Live Tables简介

为结构化流工作负载使用笔记本

使用Databricks笔记本进行交互式开发需要将笔记本连接到集群,以便手动执行查询。您可以使用Databricks笔记本进行自动部署和从查询失败中自动恢复工作流

您可以在交互式开发期间在笔记本中可视化结构化流查询,或用于交互式监视生产工作负载。如果有人定期监视笔记本的输出,则应该只在生产中可视化Structured Streaming查询。而触发而且checkpointLocation参数是可选的,作为最佳实践Databricks建议您总是在生产环境中指定它们。

控制数据结构化流处理的批量大小和频率

结构化流在Databricks有增强的选项,以帮助控制成本和延迟,同时与Auto Loader和Delta Lake流。

什么是有状态流?

一个有状态结构化流查询要求对中间状态信息进行增量更新无状态的结构化流查询只跟踪从源到接收器处理了哪些行的信息。

有状态操作包括流聚合、流dropDuplicates,溪流-溪流连接,mapGroupsWithState,flatMapGroupsWithState

如果配置不当,有状态结构化流查询所需的中间状态信息可能会导致意外的延迟和生产问题。