Re: [問題] 想在Scala的RDD物件中更新變量

看板java作者 (肚子餓)時間8年前 (2017/03/20 18:12), 編輯推噓0(005)
留言5則, 1人參與, 最新討論串2/3 (看更多)
這應該算是 Spark的問題,不算Java也不算Scala的問題… 你最終的目的是要產生key value pair的集合嗎? 如果是的話,你需要的應該是用RDD的map operation產生一個key value pair RDD ※ 引述《iwantstronge (...)》之銘言: : 版友們好~ : 最近剛學Scala, 有個問題卡了很久 : 當我把檔案用RDD讀進來: : val input = sc.textfile("myfile.txt") : 接著逐行讀取這個檔案(RDD), : 在裡面用一個容器(HashMap, Array, List之類的)儲存每一行的一些資訊 : 例如: : input.foreach{line=> : var value = line.toInt : hashmap.put(value,1) // hashmap是在外面先定義好的一個HashMap容器 : } : 因為RDD本身是分散式被serilize到各個node(?), : 所以不會去更新我傳到裡面的hashmap, 這個hashmap在foreach以外依然是空的~ : 請問我是否有任何辦法能把foreach裡面的hashmap傳出來,以便下一步處理呢~? : 小弟新手, stackoverflow跟google找了兩天都沒啥頭緒~ : 還請高手指點~!! 感謝~! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.108.138.102 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1490004778.A.0F2.html

03/21 08:30, , 1F
感謝~ 我太糾結於要把容器傳出來這件事上,擅用RDD的
03/21 08:30, 1F

03/21 08:30, , 2F
api會簡單很多, 不過有個問題是我在後續操作必須要
03/21 08:30, 2F

03/21 08:31, , 3F
提取RDD的元素,例如用lookup()函數,但是這個函數顯
03/21 08:31, 3F

03/21 08:32, , 4F
然是O(n),在時間效率上很差,我能想到的是先把RDD存
03/21 08:32, 4F

03/21 08:36, , 5F
cache
03/21 08:36, 5F
文章代碼(AID): #1Opwig3o (java)
文章代碼(AID): #1Opwig3o (java)