结构化流Python API

Ale*_*lex 4 spark-streaming

在文档中,它说结构化流中的诸如 mapGroupsWithState 之类的状态操作仅在 Scala 和 Java 中受支持,但我确实需要 Python 中的状态功能。我应该怎么办?

mav*_*rik 6

如果你坚持使用 Pyspark -

  1. 在一个 Spark 作业中执行预处理操作,然后将必要的“状态”流存储到文件接收器。在另一个作业中,读取该流并执行输出操作。涉及额外的内存/磁盘/延迟开销。

  2. 请改用updateStateByKey API。这将需要DStreams方法而不是Structured Streaming

这两种方法都不是很好。如果您需要最新、最好的 API 功能,我建议您立即过渡到 Scala。随着项目的进展,你会反复遇到这个问题。由于 Spark 是用 Scala 编写的,Python API 总是落后。