第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

具有元組值的Spark Python中的reduceByKey

具有元組值的Spark Python中的reduceByKey

開心每一天1111 2021-04-09 14:15:32
我的RDD為(key, (val1,val2))。為此rdd,我想應(yīng)用reduceByKey函數(shù),我的要求是val2針對單個(gè)鍵找到的最小值,并提取val1結(jié)果的最小值val2。例如:(1,(a,4)),(2,(b,3)),(1,(c,2)),(2,(d,1)) 在此,我希望結(jié)果集為(1,(c,2)),(2,(d,1))我在python代碼下面有想法,但是在這里我得到了第一個(gè)val1,而不是val1與minimum對應(yīng)的代碼val2。rdd2 = rdd1.map(lambda x:(x[0],(x[1],x[3])))rdd3 = rdd2.reduceByKey(lambda x,y:(x[0],min(x[1],y[1])))請幫助我修改代碼,以便獲得所需的結(jié)果。
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

你需要的一切都if else在reduceByKey功能


rdd3 = rdd2.reduceByKey(lambda x, y: x if(x[1] < y[1]) else y)

這應(yīng)該給你你想要的輸出為


#(1, ('c', 2))

#(2, ('d', 1))

我希望答案是有幫助的


查看完整回答
反對 回復(fù) 2021-04-20
?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

在這里,我將通過使用scala獲得所需的結(jié)果,因?yàn)槲椰F(xiàn)在已經(jīng)學(xué)到了更多scala,所以我現(xiàn)在可以回答我自己的問題,如下所示:


val list = List((1,('a',4)),(2,('b',3)),(1,('c',2)),(2,('d',1)))

val rdd = sc.parallelize(list)

rdd.reduceByKey((rec1,rec2) => if(rec1._2 > rec2._2) rec2 else rec1).foreach(println)

輸出:


(2,(d,1))


(1,(c,2))


我在這里提到了此代碼,因?yàn)槠渌丝梢詤⒖疾l(fā)現(xiàn)它很有用。謝謝...


查看完整回答
反對 回復(fù) 2021-04-20
?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

min與key參數(shù)一起使用:


from functools import partial

from operator import itemgetter


rdd.reduceByKey(partial(min, key=itemgetter(1)))


查看完整回答
反對 回復(fù) 2021-04-20
  • 3 回答
  • 0 關(guān)注
  • 253 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號