Structured Streaming 编程指南
杂项说明
- 某些配置在查询运行后无法修改。要更改它们,请丢弃检查点并启动新查询。这些配置包括
spark.sql.shuffle.partitions
- 这是由于状态的物理分区:状态是通过对键应用哈希函数进行分区的,因此状态的分区数应该保持不变。
- 如果您想为有状态操作运行更少的任务,
coalesce
将有助于避免不必要的重新分区。- 在
coalesce
之后,任务的数量(减少后的)将保持不变,除非发生另一次混洗。
- 在
spark.sql.streaming.stateStore.providerClass
: 为了正确读取查询的先前状态,状态存储提供程序的类应该保持不变。spark.sql.streaming.multipleWatermarkPolicy
: 修改此项会导致查询包含多个水印时水印值不一致,因此策略应该保持不变。
相关资源
进一步阅读
- 查看并运行 Python/Scala/Java/R 示例。
- 在结构化流处理 Kafka 集成指南中阅读有关与 Kafka 集成的更多信息
- 在Spark SQL 编程指南中阅读有关使用 DataFrames/Datasets 的更多详细信息
- 第三方博客文章
演讲
- Spark Summit Europe 2017
- 使用 Apache Spark 结构化流处理轻松、可扩展、容错的流处理 - 第一部分 幻灯片/视频, 第二部分 幻灯片/视频
- 深入探索结构化流处理中的有状态流处理 - 幻灯片/视频
- Spark Summit 2016
- 深入探索结构化流处理 - 幻灯片/视频
迁移指南
迁移指南现已存档在此页面。