// parse as <k:userId, v:(itemId, score)>
String itemId = Long.toString((long)value.getVector().get(0));
String score = Double.toString(value.getVector().get(1));
if (usersMatrix.containsKey(actualId) == false) {
DenseDoubleVector vals = new DenseDoubleVector(MATRIX_RANK);
for (int i=0; i<MATRIX_RANK; i++) {
vals.set(i, rnd.nextDouble());
}
VectorWritable rndValues = new VectorWritable(vals);
usersMatrix.put(actualId, rndValues);
}
if (itemsMatrix.containsKey(itemId) == false) {
DenseDoubleVector vals = new DenseDoubleVector(MATRIX_RANK);
for (int i=0; i<MATRIX_RANK; i++) {
vals.set(i, rnd.nextDouble());
}
VectorWritable rndValues = new VectorWritable(vals);
itemsMatrix.put(itemId, rndValues);
}
preferences.add(new Preference<String, String>(actualId, itemId, Double.parseDouble(score)));