Apache Spark,我如何一次将相同的函数应用于15k GraphFrame图形?

时间:2017-09-05 10:00:43

标签: python apache-spark graph pyspark

我有使用GraphFrame创建的15k图形对象。这些图表非常小。我只需要在每个图上应用最短路径和某些其他算法。我目前的实现是使用for循环遍历所有15k图。

我想以某种方式构建一个以每个图形为项目的RDD。在这种情况下,我可以将我需要的所有算法应用于用户定义的函数,并使用RDD的map函数在每个图上应用此函数。我想这会更有效率。

但问题是如何创建这样的RDD?

1 个答案:

答案 0 :(得分:0)

为了加快您的流程,我建议您将图表放在list并使用并行地图,例如:

from multiprocessing.pool import ThreadPool

def your_algos(p):
    # your code

your_graphs = [list_of_graphs]

p = ThreadPool(number_of_workers)
results = p.map(your_algos, your_graphs)