什么是Apache Spark结构化流?

Apache Spark Structured Streaming是一个接近实时的处理引擎,它使用熟悉的Spark api提供端到端容错和一次处理保证。结构化流允许您以对静态数据表示批处理计算的相同方式对流数据表示计算。结构化流引擎以增量方式执行计算,并在流数据到达时不断更新结果。有关结构化流的概述,请参阅Apache Spark结构化流媒体节目指南

有关在Unity目录中使用结构化流媒体的详细信息,请参见使用Unity目录与结构化流

结构化流如何用于数据库?

Structured Streaming与Delta Lake紧密结合,为Databricks Lakehouse中的增量数据处理提供增强功能。结构化流是Databricks Auto Loader和Delta Live Tables的核心技术。

Databricks支持哪些流数据源和流接收器?

Databricks建议使用Auto Loader从云对象存储中摄取受支持的文件类型到Delta Lake。对于ETL管道,Databricks建议使用Delta Live Tables(使用Delta表和结构化流)。您还可以通过流到Delta Lake表和从Delta Lake表配置增量ETL工作负载。

除了Delta Lake和Auto Loader,结构化流还可以连接到消息传递服务比如Apache Kafka。

你也可以使用foreachBatch使用结构化流写入任意数据接收器

结构化流在生产中的最佳实践是什么?

Databricks支持许多Apache Spark中没有的边缘特性,以帮助客户获得结构化流的最佳性能。BOB低频彩了解更多关于这些特性和其他推荐的信息结构化流的生产考虑因素

例子

有关介绍性笔记本和演示示例用例的笔记本,请参见数据库上的结构化流模式

API参考

有关结构化流的参考信息,Databricks推荐以下Apache Spark API参考: