Azure Databricks 上的流式处理

可以使用 Azure Databricks 准实时引入数据和处理数据,并使用机器学习和 AI 流式处理数据。

Azure Databricks 为流式处理和增量处理提供了大量优化。 对于大多数流式处理或增量数据处理或者 ETL 任务,Databricks 建议使用增量实时表。 请参阅什么是增量实时表?

Azure Databricks 上的大多数增量和流式处理工作负载都由结构化流式处理提供支持,包括增量实时表和自动加载程序。 请参阅什么是自动加载程序?

Delta Lake 和结构化流式处理紧密集成,为 Databricks 湖屋中的增量处理提供支持。 请参阅增量表流式读取和写入

若要详细了解如何在 Azure Databricks 平台上生成流式处理解决方案,请参阅数据流式处理产品页

Azure Databricks 具有处理 Avro、协议缓冲区和 JSON 数据有效负载中包含的半结构化数据字段的特定功能。 若要了解更多信息,请参阅以下文章:

什么是结构化流式处理?

Apache Spark 结构化流式处理是一个近实时处理引擎,它使用熟悉的 Spark API 提供端到端容错和“恰好一次”处理保证。 使用结构化流式处理,可以像基于静态数据表达批处理计算一样基于流式处理数据表达计算。 结构化流式处理引擎以增量方式执行计算,并在流数据抵达时持续更新结果。

如果你不熟悉结构化流式处理,请参阅运行第一个结构化流式处理工作负载

有关如何将结构化流式处理与 Unity Catalog 配合使用的信息,请参阅将 Unity Catalog 与结构化流式处理配合使用

Azure Databricks 支持哪些流式处理源和接收器?

Databricks 建议使用自动加载程序将支持的文件类型从云对象存储引入 Delta Lake。 对于 ETL 管道,Databricks 建议使用增量实时表(使用增量表和结构化流式处理)。 还可以通过向/从 Delta Lake 表进行流式传输来配置增量 ETL 工作负载。

除了 Delta Lake 和自动加载程序外,结构化流式处理还可以连接到 Apache Kafka 等消息传送服务

也可使用 foreachBatch 将内容写入到任意数据接收器

其他资源

Apache Spark 提供了结构化流式处理编程指南,其中包含有关结构化流式处理的详细信息。

有关结构化流式处理的参考信息,Databricks 建议阅读以下 Apache Spark API 参考文章: