【发布时间】:2017-09-25 19:35:08
【问题描述】:
我有一个配置流(不经常更改,但如果有更新,它将是一条消息),以及另一个原始数据点流。
据我了解,目前 spark 不支持加入流式数据集或数据帧。有没有解决这个问题的好方法?
是否可以将其中一个流数据集“快照”到静态数据集(可能是配置数据集,因为它的更新较少),然后加入另一个流数据集?
欢迎提出建议!
【问题讨论】:
标签: apache-spark spark-structured-streaming
我有一个配置流(不经常更改,但如果有更新,它将是一条消息),以及另一个原始数据点流。
据我了解,目前 spark 不支持加入流式数据集或数据帧。有没有解决这个问题的好方法?
是否可以将其中一个流数据集“快照”到静态数据集(可能是配置数据集,因为它的更新较少),然后加入另一个流数据集?
欢迎提出建议!
【问题讨论】:
标签: apache-spark spark-structured-streaming
“解决方法”是使用当前的主分支;)
还没有发布,但是当前的master分支已经有stream-stream inner join,并且正在进行outer join。请参阅this Jira 票证以供参考,在子任务中您可以看到可能要使用的联接。
没有其他简单的解决方法。流连接需要保存流的状态,然后正确更新状态。可以在pull request中看到代码,实现stream-stream join是相当复杂的。
【讨论】:
这就是我最后要做的事情。
将更新较少的流放入内存接收器。然后从该表中进行选择。此时,它是一个静态实例,可以与其他流连接。不需要触发器。当然,你需要自己正确更新表格。
这不是很健壮,但这是我在官方支持之前能想到的最好的一个。
【讨论】: