簡體   English   中英

reduceByKey可以用於多個值嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM