2016-11-07 13 views
0

私の問題は次のとおりです。私はRDDに行をループする必要があり、各行についてはリストをループする必要があります。 マイRDDは次のとおりです。pysparkでlambda fuctionを使って行を反復する方法は?

rdd1: 
[a,b,c,d] 
[f,g,j,k] 

rddMinHash=ListRDD.map(lambda j: funct(iterating into list of row j)) 

がどのように私はcodeintoのFUNCTを書くことができますか()?

+0

'funct()'に何を期待していますか?そして、どの方法を試しましたか? – Mariusz

+0

lambda jはrdd1の各行を繰り返し処理しますが、funct()は最小ハッシュであり、リストの各項目に適用する必要があります。問題は、minHashはリストを受け入れずに文字列を受け入れることができるため、1つのアイテムを1つの時間にまとめなければならないということです。私は入れ子のラムダ関数を使ってrdd行にループし、内部のlambda functループをリストに入れてみましたが、うまくいきません。 –

+0

Yorアプローチが有効であるようです。あなたが書いたコードで質問を更新できますか?次に、内部にバグを見つけようとすることができます。 – Mariusz

答えて

0

あなたはこのrdd1.map(lambda x: [len(x) for i in x])

Xのようなラムダ関数で

リスト内包表記を使用することができますが、行とタイプがリストです。 iはリスト内の要素です。

関連する問題