Spark RDD:如何共享数据以进行并行操作
Posted
技术标签:
【中文标题】Spark RDD:如何共享数据以进行并行操作【英文标题】:Spark RDD :How to share data for a parallel operation 【发布时间】:2017-11-30 05:08:59 【问题描述】:我对spark的理解是,当你在RDD上运行reduce操作时,它被不同的节点并行操作,结果由主节点累积回来。由于这些操作是并行运行的,因此结果可以作为一个整体使用,我们不能依赖在处理过程中完成的任何更新,例如,我正在设计一个共享出租车应用程序,并且我有一个 RDD,其中包含行程的开始位置和实际位置不同的出租车。我可以轻松地运行 spark sql 来获取每辆出租车与行程起点的距离。有一次,我有这个,我需要选择最短距离的出租车并分配它。现在我们有一个条件,一辆出租车不能乘坐超过 4 次。由于我的分析是并行运行的,我无法确定 cab 是否已经满负荷。那么验证这一点的最佳方法是什么。我们可以有一个共享变量还是应该将分配存储在数据库中。性能是关键
【问题讨论】:
【参考方案1】:spark 中没有这样的功能,你可以使用 Apache Ignite 有关更多详细信息,请参阅链接 https://apacheignite.readme.io/docs
【讨论】:
我们现在还不能跳到点燃。我知道它不可能在火花中,这就是原因,我们需要将它存储在火花之外。我的问题是这种情况下对性能影响最小的最佳实践是什么。以上是关于Spark RDD:如何共享数据以进行并行操作的主要内容,如果未能解决你的问题,请参考以下文章