@Override public void addInput(Page page) { Block block = page.getBlock(labelChannel); for (int position = 0; position < block.getPositionCount(); position++) { if (labelIsLong) { labels.add((double) BIGINT.getLong(block, position)); } else { labels.add(DOUBLE.getDouble(block, position)); } } block = page.getBlock(featuresChannel); for (int position = 0; position < block.getPositionCount(); position++) { FeatureVector featureVector = ModelUtils.jsonToFeatures(VARCHAR.getSlice(block, position)); rowsSize += featureVector.getEstimatedSize(); rows.add(featureVector); } if (params == null) { block = page.getBlock(paramsChannel); params = LibSvmUtils.parseParameters(VARCHAR.getSlice(block, 0).toStringUtf8()); } }