![](/img/trans.png)
[英]Can reduceBykey be used to change type and combine values - Scala Spark?
[英]Can reduceByKey be used for multiple values?
我剛剛開始學習spark和scala,並測試了RDD的一些轉換和操作。
我發現reduceByKey的用法如下:
rdd.reduceByKey((x, y) => x + y)
其中,它采用兩個相同值的元組,並使用加法運算將它們組合在一起。
現在我的問題是我們是否不能一次累加兩個以上的值,或者一次只能將所有具有相同鍵的值相加? 像這樣:
rdd.reduceByKey((p, q, r, s) => p+q+r+s)
為什么只添加兩個值? 將兩個以上的值相加還可以節省大量計算量嗎?
從技術上講,spark可以提供這樣的API,但實際上不會有用。
一次減少更多的值不一定更快。 如果Spark RDD是基於列的,則不是這樣。 Spark是基於行的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.