val aggregatedBigrams = bigramTokens.reduceByKey({(x:(Int,Int), y:(Int,Int)) => (x._1+y._1, x._2+y._2)}, numReducers)
我見過很多如上所述的火花代碼,但是我真的被下劃線所困惑,例如x._1
,我在網上搜索並被告知下劃線表示獲取元組的元素,所以我假設x._1 = x(0)
,所以在pyspark,我應該寫作x[0]
?pyspark中這個spark代碼(scala)的等效表達式是什麼?
另外,爲什麼要寫出像x:(Int,Int)
這樣的類型?我必須在pyspark做類似的事嗎?
一般來說,這些問題表明你有一些閱讀了做一下斯卡拉和Python,差異強/弱,動態/靜態打字等。 – sgvd
非常感謝!我也看到了Scala中的類型轉換,比如'val(totalUnigramsFG,_)= processedUnigrams.map {x =>(x._2._1.toLong,x._2._2.toLong)} .reduce {(x: (Long,Long),y:(Long,Long))=>(x._1 + y._1,x._2 + y._2)}',我必須在Python中明確地做到這一點嗎? – xxx222
我假設我們也不需要在pyspark中使用'.toLong'? – xxx222