@Override public IndexedInts getRow() { return new ArrayBasedIndexedInts(new int[]{2, 4, 6}); }
public static VSizeColumnarInts fromArray(int[] array, int maxValue) { return fromIndexedInts(new ArrayBasedIndexedInts(array), maxValue); }
@Parameterized.Parameters public static Collection<?> constructorFeeder() { return Arrays.asList( new Object[][]{ {VSizeColumnarInts.fromArray(array)}, {new ArrayBasedIndexedInts(array)} } ); }
@Override public void initColumnValues(ColumnValueSelector selector, int columnIndex, Object[] valuess) { final DimensionSelector dimSelector = (DimensionSelector) selector; final IndexedInts row = dimSelector.getRow(); ArrayBasedIndexedInts newRow = (ArrayBasedIndexedInts) valuess[columnIndex]; if (newRow == null) { newRow = new ArrayBasedIndexedInts(); valuess[columnIndex] = newRow; } int rowSize = row.size(); newRow.ensureSize(rowSize); for (int i = 0; i < rowSize; i++) { final String value = dimSelector.lookupName(row.get(i)); final int dictId = reverseDictionary.getInt(value); if (dictId < 0) { dictionary.add(value); reverseDictionary.put(value, nextId); newRow.setValue(i, nextId); nextId++; } else { newRow.setValue(i, dictId); } } newRow.setSize(rowSize); }
private void checkSerializedSizeAndData() throws Exception { int maxValue = vals.length == 0 ? 0 : Ints.max(vals); VSizeColumnarIntsSerializer writer = new VSizeColumnarIntsSerializer(segmentWriteOutMedium, maxValue); VSizeColumnarInts intsFromList = VSizeColumnarInts.fromIndexedInts(new ArrayBasedIndexedInts(vals), maxValue); writer.open(); for (int val : vals) { writer.addValue(val); } long writtenLength = writer.getSerializedSize(); WriteOutBytes writeOutBytes = segmentWriteOutMedium.makeWriteOutBytes(); writer.writeTo(writeOutBytes, null); assertEquals(writtenLength, intsFromList.getSerializedSize()); // read from ByteBuffer and check values VSizeColumnarInts intsFromByteBuffer = VSizeColumnarInts.readFromByteBuffer( ByteBuffer.wrap(IOUtils.toByteArray(writeOutBytes.asInputStream())) ); assertEquals(vals.length, intsFromByteBuffer.size()); for (int i = 0; i < vals.length; ++i) { assertEquals(vals[i], intsFromByteBuffer.get(i)); } }
writer.open(); for (int[] val : vals) { writer.addValues(new ArrayBasedIndexedInts(val));
writer.open(); for (int[] val : vals) { writer.addValues(new ArrayBasedIndexedInts(val));
public static VSizeColumnarInts fromArray(int[] array, int maxValue) { return fromIndexedInts(new ArrayBasedIndexedInts(array), maxValue); }
@Override public void initColumnValues(ColumnValueSelector selector, int columnIndex, Object[] valuess) { final DimensionSelector dimSelector = (DimensionSelector) selector; final IndexedInts row = dimSelector.getRow(); ArrayBasedIndexedInts newRow = (ArrayBasedIndexedInts) valuess[columnIndex]; if (newRow == null) { newRow = new ArrayBasedIndexedInts(); valuess[columnIndex] = newRow; } int rowSize = row.size(); newRow.ensureSize(rowSize); for (int i = 0; i < rowSize; i++) { final String value = dimSelector.lookupName(row.get(i)); final int dictId = reverseDictionary.getInt(value); if (dictId < 0) { dictionary.add(value); reverseDictionary.put(value, nextId); newRow.setValue(i, nextId); nextId++; } else { newRow.setValue(i, dictId); } } newRow.setSize(rowSize); }