1

私は 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

グラフをグローバルにするかブロードキャストしようとしましたが、どちらも機能しません。

誰かがこれについて私を助けることができますか?

どうもありがとう!!

4

1 に答える 1