![](/img/trans.png)
[英]Pyspark reduceByKey error associated with flatmap lambda function
[英]reduceByKey and lambda
作為學習過程的一部分,我正在研究現有的Spark代碼,並且遇到了以下代碼:
enPages.map(lambda x: x.split(" "))\
.map(lambda x: (x[2], int(x[3])))\
.reduceByKey(lambda x, y: x + y, 40)\
.collect()
我對reduceByKey和lambda的工作原理有基本的了解,但是在上面的代碼中,我沒有在上面的reduceByKey / lambda函數中獲得實用程序'40'。 任何澄清將不勝感激。
謝謝,Sasi。
PS:我嘗試通過刪除“ 40”來運行代碼並比較了輸出,結果發現只是鍵/值對的順序發生了變化,但是對於給定的鍵,值的計數是最終的輸出是相同的。
這是關於您可以在reduceByKey上進行的分區。 根據此處的 Apache Spark文檔。
功能:
.reduceByKey(lambda x, y: x + y, 40)
在這種和平的代碼中發生了什么,您正在運行lambda代碼,因為您已經知道要對累加器x和y求和。 40是將創建的用於處理此執行的分區數。
如果您想創建新數量的分區而不需要進行額外的改組,這將非常有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.