1
我有一个Graphframe对象:g和a RDD对象:候选:如何编写一个转换函数来转换参照Graphframe对象的RDD?
g = GraphFrame(v,e)
candidates_rdd.collect()
# [Row(source=u'a', target=u'b'),
# Row(source=u'a', target=u'c'),
# Row(source=u'e', target=u'a')]
欲计算路径从“源”在candidates_rdd“靶”,并且产生与键,值对RDD结果( (source,target),path_list),其中path_list是从源到目标的路径列表。
示例输出:
(('a','b'),['a-c-b','a-d-e-b']),
(('f','c'),[]),
(('a',d'),['a-b-e-d']
我写了下面的功能:
def bfs_(row):
arg1 = "id = '" + row.source + "'"
arg2 = "id = '" + row.target + "'"
return ((row.source, row.target), g.bfs(arg1,arg2).rdd)
results = candidates_rdd.map(bfs_)
我得到这个错误:
Py4JError: An error occurred while calling o274.__getnewargs__. Trace:
py4j.Py4JException: Method __getnewargs__([]) does not exist
我试图让图形全球或广播它,都不起作用。
任何人都可以帮助我吗?
非常感谢!