Package com.facebook.presto.block

Examples of com.facebook.presto.block.BlockBuilder


        }

        @Override
        public final Block evaluateFinal()
        {
            BlockBuilder out = new BlockBuilder(getFinalTupleInfo());
            evaluate(out, parameterType, digest, percentile);
            return out.build();
        }
View Full Code Here


                        groupByHash.appendValuesTo(pagePosition, groupByBlockBuilders);

                        for (int i = 0; i < aggregators.size(); i++) {
                            Aggregator aggregator = aggregators.get(i);
                            BlockBuilder output = pageBuilder.getBlockBuilder(types.size() + i);
                            aggregator.evaluate(groupId, output);
                        }
                    }

                    Page page = pageBuilder.build();
View Full Code Here

            addressValueSet = new AddressValueSet(expectedPositions, strategy);

            // allocate the first slice of the set
            Slice slice = Slices.allocate((int) BlockBuilder.DEFAULT_MAX_BLOCK_SIZE.toBytes());
            strategy.addSlice(slice);
            blockBuilder = new BlockBuilder(tupleInfo, slice.length(), slice.getOutput());
        }
View Full Code Here

                if (!addressValueSet.contains(sourceAddress)) {
                    int length = tupleInfo.size(sourceSlice, sourceCursor.getRawOffset());
                    if (blockBuilder.writableBytes() < length) {
                        Slice slice = Slices.allocate(Math.max((int) BlockBuilder.DEFAULT_MAX_BLOCK_SIZE.toBytes(), length));
                        strategy.addSlice(slice);
                        blockBuilder = new BlockBuilder(tupleInfo, slice.length(), slice.getOutput());
                        currentBlockId++;
                    }
                    int blockRawOffset = blockBuilder.size();
                    blockBuilder.appendTuple(sourceSlice, sourceCursor.getRawOffset(), length);
                    addressValueSet.add(encodeSyntheticAddress(currentBlockId, blockRawOffset));
View Full Code Here

        }

        @Override
        public final Block evaluateIntermediate()
        {
            BlockBuilder out = new BlockBuilder(getIntermediateTupleInfo());

            if (digest.getCount() == 0.0) {
                out.appendNull();
            }
            else {
                DynamicSliceOutput sliceOutput = new DynamicSliceOutput(digest.estimatedSerializedSizeInBytes() + SIZE_OF_DOUBLE);
                // write digest
                digest.serialize(sliceOutput);
                // write percentile
                sliceOutput.appendDouble(percentile);

                Slice slice = sliceOutput.slice();
                out.append(slice);
            }

            return out.build();
        }
View Full Code Here

        }

        @Override
        public final Block evaluateFinal()
        {
            BlockBuilder out = new BlockBuilder(getFinalTupleInfo());

            evaluate(out, parameterType, digest, percentile);

            return out.build();
        }
View Full Code Here

    {
        TupleInfo.Type[] types = new TupleInfo.Type[numberOfFields];
        Arrays.fill(types, getValueType());
        types[numberOfFields - 1] = getValueType();

        BlockBuilder blockBuilder = new BlockBuilder(new TupleInfo(types));

        for (Object value : values) {
            for (int i = 0; i < numberOfFields - 1; i++) {
                blockBuilder.appendNull();
            }

            if (value == null) {
                blockBuilder.appendNull();
            }
            else {
                switch (getValueType()) {
                    case FIXED_INT_64:
                        blockBuilder.append((Long) value);
                        break;
                    case VARIABLE_BINARY:
                        blockBuilder.append((Slice) value);
                        break;
                    case DOUBLE:
                        blockBuilder.append((Double) value);
                        break;
                    default:
                        throw new UnsupportedOperationException("not yet implemented");
                }
            }
        }

        return blockBuilder.build();
    }
View Full Code Here

        extends AbstractTestAggregationFunction
{
    @Override
    public Block getSequenceBlock(int start, int length)
    {
        BlockBuilder blockBuilder = new BlockBuilder(SINGLE_LONG);
        for (int i = start; i < start + length; i++) {
            blockBuilder.append(i);
        }
        return blockBuilder.build();
    }
View Full Code Here

        extends AbstractTestAggregationFunction
{
    @Override
    public Block getSequenceBlock(int start, int length)
    {
        BlockBuilder blockBuilder = new BlockBuilder(SINGLE_LONG);
        for (int i = start; i < start + length; i++) {
            blockBuilder.append(i);
        }
        return blockBuilder.build();
    }
View Full Code Here

        extends AbstractTestAggregationFunction
{
    @Override
    public Block getSequenceBlock(int start, int length)
    {
        BlockBuilder blockBuilder = new BlockBuilder(SINGLE_DOUBLE);
        for (int i = start; i < start + length; i++) {
            blockBuilder.append((double) i);
        }
        return blockBuilder.build();
    }
View Full Code Here

TOP

Related Classes of com.facebook.presto.block.BlockBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.