[JAVA高手入] 幾億個item要點先fit到入2gb heap space?
第 1 頁
下一頁
尻唔易柒
2022-8-11 22:03:06
sorry頭先開錯台
利申番先: 功課黎 一個同學都唔識 TA唔覆email 走投無路
我依加要砌一個 50000 row x 50000 column嘅matrix黎裝一大堆double
唔係個個postion都有non-zero value, 但每行實際上有幾多個value係non-zero value我係唔知
所以我用左hash map黎裝啲value, e.g. HashMap<Point, Double>
但行到第600行停左, error出'java.lang.OutOfMemoryError: Java heap space'
想問下有咩其他方法可以減低個memory usage?
linked-list? sparse array?
Ads
VVWVV
2022-8-11 22:08:04
拆細佢
淨係要用既先LOAD
齒乳圍吾
2022-8-11 22:11:56
講多啲你實際要做啲咩?
VVWVV
2022-8-11 22:12:14
淨係記低non-zero位置
尻唔易柒
2022-8-11 22:12:58
因為係analytic功課黎
所以份功課fix死左一定要load曬所有data
然後write一個50000 x 50000 matrix嘅file
:^(
尻唔易柒
2022-8-11 22:14:52
其實係要整個50000人嘅pearson's correlation matrix
計correlation個part已經做曬
但就唔知點先可以係2gb ram嘅情況下output到一個matrix出黎
:^(
簡單隨緣
2022-8-11 22:15:24
係咪有條for loop炒左
VVWVV
2022-8-11 22:16:13
你唔駛LOAD晒再WRITE架
逐D黎
唔清楚你要做乜
尻唔易柒
2022-8-11 22:17:09
應該無事
我計左幾十萬個item都行到 但就因為memory space limit所以scale唔到上去
齒乳圍吾
2022-8-11 22:18:17
唔係data analyst 所以唔係好明點解50000人會變50000x50000
但如果要write file, 你一行一行唔得咩?咪變左array with size 50000?
簡單隨緣
2022-8-11 22:19:44
one off野咪睇下有無得改下D config by pass左佢算
唔得就要sort左,拆開來做,再merge返埋個result
Ads
VVWVV
2022-8-11 22:20:35
JVM個heap size有冇改
尻唔易柒
2022-8-11 22:22:02
份功課fix死左一定要跟佢個format:
matrix = calculate(inputdata);
matrix.writeCorrelationMatrix(outputFile);
write個part我寫完, 應該係行到
但係出matrix個part卡住左
尻唔易柒
2022-8-11 22:22:38
功課唔比
:^(
蘆葦不是葱
2022-8-11 22:22:39
有冇試過重新開機?
:^(
尻唔易柒
2022-8-11 22:24:23
因為係睇人同人之間嘅correlation
write個part無事
但功課format關係唔可以直接write落個outputfile度
一定要出一個matrix黎比個write function去write
ToTheMoon
2022-8-11 22:24:55
用 arrary 唔得咩
河北彩花賊
2022-8-11 22:25:37
2d array 可以變做x,y coordinate
如果係搵到哂所有correlation
最好嘅方法係搵到一條formula係sub x,y 會搵返個value
不過條formula唔易搵
:^(
:^(
利申 數學U
齒乳圍吾
2022-8-11 22:26:43
即係死係calculate?
尻唔易柒
2022-8-11 22:27:01
功課唔比改config
:^(
尻唔易柒
2022-8-11 22:28:35
係
計數無問題
但點將啲數係2gb ram下output出一個matrix/sort of matrix 搞唔掂
Ads
尻唔易柒
2022-8-11 22:29:27
試過用sparse array
int[][] sparse = new int[3][50000*50000];
立即出error
:^(
齒乳圍吾
2022-8-11 22:30:33
其實你應該係未計曬
如果計曬你應該已經有個matrix?
係咪你計數個邊variable 問題 所以oom
簡單隨緣
2022-8-11 22:31:07
教書都無咩時間自己整功課
建議係佢個recommendation reading list到揾下答案
田味吉1997
2022-8-11 22:32:37
清咩U
份功課咁有挑戰性
:^(
第 1 頁
下一頁
利申番先: 功課黎 一個同學都唔識 TA唔覆email 走投無路
我依加要砌一個 50000 row x 50000 column嘅matrix黎裝一大堆double
唔係個個postion都有non-zero value, 但每行實際上有幾多個value係non-zero value我係唔知
所以我用左hash map黎裝啲value, e.g. HashMap<Point, Double>
但行到第600行停左, error出'java.lang.OutOfMemoryError: Java heap space'
想問下有咩其他方法可以減低個memory usage?
linked-list? sparse array?