@Override public void fillTuple(Tuple tuple, int row) { tuple.setDimensionValue(extendedColumnInTupleIdx, value); } };
@Override public void fillDerivedColumns(Object[] gtValues, Tuple tuple) { // composite keys are split, so only copy [0] is enough, see CubeDesc.initDimensionColumns() tuple.setDimensionValue(derivedTupleIdx[0], CubeTupleConverter.toString(gtValues[hostTmpIdx[0]])); } };
@Override public void fillDerivedColumns(Object[] gtValues, Tuple tuple) { for (int i = 0; i < hostTmpIdx.length; i++) { lookupKey.data[i] = CubeTupleConverter.toString(gtValues[hostTmpIdx[i]]); } String[] lookupRow = lookupTable.getRow(lookupKey); if (lookupRow != null) { for (int i = 0; i < derivedTupleIdx.length; i++) { if (derivedTupleIdx[i] >= 0) { String value = lookupRow[derivedColIdx[i]]; tuple.setDimensionValue(derivedTupleIdx[i], value); } } } else { for (int i = 0; i < derivedTupleIdx.length; i++) { if (derivedTupleIdx[i] >= 0) { tuple.setDimensionValue(derivedTupleIdx[i], null); } } } } };
public void setDimensionValue(String fieldName, String fieldValue) { setDimensionValue(info.getFieldIndex(fieldName), fieldValue); }
@Override public void fillTuple(Tuple tuple, int row) { if (expectRow++ != row) throw new IllegalStateException(); ByteArray raw = rawIterator.next(); int key = BytesUtil.readUnsigned(raw.array(), raw.offset(), raw.length()); String colValue = rawColDict.getValueFromId(key); tuple.setDimensionValue(literalTupleIdx, colValue); } };
int ti = tupleIdx[i]; if (ti >= 0) { tuple.setDimensionValue(ti, toString(gtValues[i]));
@Override public void fillTuple(Tuple tuple, int row) { if (expectRow++ != row) throw new IllegalStateException(); Counter<ByteArray> counter = topNCounterIterator.next(); int offset = counter.getItem().offset(); for (int i = 0; i < dimensionEncodings.length; i++) { String colValue = dimensionEncodings[i].decode(counter.getItem().array(), offset, dimensionEncodings[i].getLengthOfEncoding()); tuple.setDimensionValue(literalTupleIdx[i], colValue); offset += dimensionEncodings[i].getLengthOfEncoding(); } tuple.setMeasureValue(numericTupleIdx, counter.getCount()); } };
protected Collection<Tuple> generateTuple(int number, List<TblColRef> columns, int[] matches) { Collection<Tuple> tuples = new ArrayList<Tuple>(number); TupleInfo info = new TupleInfo(); for (int i = 0; i < columns.size(); i++) { TblColRef column = columns.get(i); info.setField(column.getName(), column, i); } int allMatches = 0; Random rand = new Random(); for (int i = 0; i < number; i++) { Tuple t = new Tuple(info); boolean isFullMatch = true; for (int k = 0; k < columns.size(); k++) { TblColRef column = columns.get(k); int index = Math.abs(rand.nextInt()) % SAMPLE_DATA[k].length; t.setDimensionValue(column.getName(), SAMPLE_DATA[k][index]); if (index == 0) { matches[k]++; } else { isFullMatch = false; } } if (isFullMatch) { allMatches++; } tuples.add(t); } matches[2] = allMatches; return tuples; }
@Override public void fillTuple(Tuple tuple, int row) { tuple.setDimensionValue(extendedColumnInTupleIdx, value); } };
@Override public void fillDerivedColumns(Object[] gtValues, Tuple tuple) { // composite keys are split, so only copy [0] is enough, see CubeDesc.initDimensionColumns() tuple.setDimensionValue(derivedTupleIdx[0], CubeTupleConverter.toString(gtValues[hostTmpIdx[0]])); } };
@Override public void fillDerivedColumns(Object[] gtValues, Tuple tuple) { for (int i = 0; i < hostTmpIdx.length; i++) { lookupKey.data[i] = CubeTupleConverter.toString(gtValues[hostTmpIdx[i]]); } String[] lookupRow = lookupTable.getRow(lookupKey); if (lookupRow != null) { for (int i = 0; i < derivedTupleIdx.length; i++) { if (derivedTupleIdx[i] >= 0) { String value = lookupRow[derivedColIdx[i]]; tuple.setDimensionValue(derivedTupleIdx[i], value); } } } else { for (int i = 0; i < derivedTupleIdx.length; i++) { if (derivedTupleIdx[i] >= 0) { tuple.setDimensionValue(derivedTupleIdx[i], null); } } } } };
public void setDimensionValue(String fieldName, String fieldValue) { setDimensionValue(info.getFieldIndex(fieldName), fieldValue); }
@Override public void fillTuple(Tuple tuple, int row) { if (expectRow++ != row) throw new IllegalStateException(); ByteArray raw = rawIterator.next(); int key = BytesUtil.readUnsigned(raw.array(), raw.offset(), raw.length()); String colValue = rawColDict.getValueFromId(key); tuple.setDimensionValue(literalTupleIdx, colValue); } };
int ti = tupleIdx[i]; if (ti >= 0) { tuple.setDimensionValue(ti, toString(gtValues[i]));
@Override public void fillTuple(Tuple tuple, int row) { if (expectRow++ != row) throw new IllegalStateException(); Counter<ByteArray> counter = topNCounterIterator.next(); int offset = counter.getItem().offset(); for (int i = 0; i < dimensionEncodings.length; i++) { String colValue = dimensionEncodings[i].decode(counter.getItem().array(), offset, dimensionEncodings[i].getLengthOfEncoding()); tuple.setDimensionValue(literalTupleIdx[i], colValue); offset += dimensionEncodings[i].getLengthOfEncoding(); } tuple.setMeasureValue(numericTupleIdx, counter.getCount()); } };