2016-12-13 6 views
0

私はスパークでいくつかのパラメータを数えようとしています。私は単語の例を使用しました。 この例では、単語を数えることができますが、同時に2つのフィールドをどのように数えることができるのでしょうか。ここでスパーク:2つのフィールドを合計します。

は、私が何をしたいです:この使用例の例がすでに存在する場合、私は疑問に思う

入力ファイル

{ 
    "redundancy":1, 
    "deviceID":"dv1" 
} 
{ 
    "redundancy":1, 
    "deviceID":"dv2" 
} 
{ 
    "redundancy":2, 
    "deviceID":"dv1" 
} 
{ 
    "redundancy":1, 
    "deviceID":"dv1" 
} 
{ 
    "redundancy":2, 
    "deviceID":"dv5" 
} 

出力ファイル

{ 
    "redundancy":1, 
    "count":3, 
    "nbDevice":2 
} 
{ 
    "redundancy":2, 
    "count":2, 
    "nbDevice":2 
} 

またはドキュメントやリンクがある場合は、私は非常に感謝しています。

答えて

1

ペアをキーとして使用できます。

rdd.map(record => (record.firstField, record.secondField) -> 1) 
    .reduceByKey(_ + _) 

ソリューションのように見えることができます

関連する問題