我知道有不同的方法來計算文本或列表中的元素數量。但我試圖理解爲什麼這個不起作用。我想寫一個等效代碼使用Spark計算文本或列表中元素的數量
A_RDD=sc.parallelize(['a', 1.2, []])
acc = sc.accumulator(0)
acc.value
A_RDD.foreach(lambda _: acc.add(1))
acc.value
其結果爲3 要做到這一點,我定義稱爲MY_COUNT(_)下面的函數,但我不知道如何獲得的結果。 A_RDD.foreach(my_count)不會執行任何操作。我也沒有收到任何錯誤。我做錯了什麼?
counter = 0 #function that counts elements
def my_count(_):
global counter
counter += 1
A_RDD.foreach(my_count)
瑪麗,你能否確認發佈的答案是否能澄清你的問題? –