私は Graphframe オブジェクトを持っています: g と 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')]
候補_rdd で「ソース」から「ターゲット」へのパスを計算し、グラフフレームの幅優先検索を使用して、キー、値のペア ((ソース、ターゲット)、path_list) を使用して結果の rdd を生成したいと考えています。ここで、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
グラフをグローバルにするかブロードキャストしようとしましたが、どちらも機能しません。
誰かがこれについて私を助けることができますか?
どうもありがとう!!