2017-12-22 26 views
0

のタプルの唯一の2要素にreduceByKeyする私は[( '成功'、 ''、1)、(」このスパーク(pyspark)方法3要素

のように見えるマップの結果を持っています'something_random'、1)]

( 'エラー'、 'エラー'、 'something_random'、1)、( 'エラー'、 'something_random'、1)

としてendupへの鍵で減らすとそこの方法です:

[( '成功'、2)、( 'エラー'、3)]

そして何らかの形でファイルにすべてのエラーを出力しますか?ここで

答えて

4

はあなたが必要とする結果を取得するには、2つのオプションがあります

1)は2要素のタプルに3要素のタプルを変換し、その後reduceByKey使用:タプルの最初の要素

rdd.map(lambda x: (x[0], x[2])).reduceByKey(lambda x, y: x + y).collect() 
# [('success', 2), ('error', 3)] 

2)groupByを、 mapValuesを使用して各グループの値(3番目の要素)を合計します。

関連する問題