2017-07-12 8 views
3

のリストを返すために、私はこのように書きRDDを持っている:Pyspark reduceByKeyはタプル

rdd = [((uid1), (product1, price1, date1)), 
     ((uid1), (product2, price2, date2))] 

私は、出力は次のようになりたい:

reduced_rdd = [((uid1), ((product1, price1, date1), (product2, price2, date2)))] 

だから私のような何かをしようとしました。

reduced_rdd = rdd.reduceByKey(lambda a,b: a+b) 

しかし、出力は私が欲しいものではありません。

reduced_rdd = [((uid1), (product1, price1, date1, product2, price2, date2))] 

+演算子を使用するとこれらのタプルが連結され、リストに追加しようとすると醜いネストされたリストが表示されます。 どのように値が素晴らしく、それ自身のタプルでかなり良いrddを得ることができますか?

答えて

0

ので、あなたがしなければならないすべてはあなたのパラメータの関数としての用途がある唯一の要素を持つタプルはまだ(tuple,)と表記されなければならないことを覚えておいてください

lambda a,b: (a,) + (b,) 
関連する問題