Search in sources :

Example 21 with IBinaryComparator

use of org.apache.hyracks.api.dataflow.value.IBinaryComparator in project asterixdb by apache.

the class MicroPreClusteredGroupRuntimeFactory method createOneOutputPushRuntime.

@Override
public AbstractOneInputOneOutputPushRuntime createOneOutputPushRuntime(final IHyracksTaskContext ctx) throws HyracksDataException {
    final IBinaryComparator[] comparators = new IBinaryComparator[comparatorFactories.length];
    for (int i = 0; i < comparatorFactories.length; ++i) {
        comparators[i] = comparatorFactories[i].createBinaryComparator();
    }
    return new AbstractOneInputOneOutputPushRuntime() {

        private PreclusteredGroupWriter pgw;

        @Override
        public void open() throws HyracksDataException {
            pgw = new PreclusteredGroupWriter(ctx, groupFields, comparators, aggregatorFactory, inRecordDesc, outRecordDesc, writer);
            pgw.open();
        }

        @Override
        public void nextFrame(ByteBuffer buffer) throws HyracksDataException {
            pgw.nextFrame(buffer);
        }

        @Override
        public void fail() throws HyracksDataException {
            pgw.fail();
        }

        @Override
        public void close() throws HyracksDataException {
            pgw.close();
        }

        @Override
        public void flush() throws HyracksDataException {
            pgw.flush();
        }
    };
}
Also used : AbstractOneInputOneOutputPushRuntime(org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputPushRuntime) PreclusteredGroupWriter(org.apache.hyracks.dataflow.std.group.preclustered.PreclusteredGroupWriter) IBinaryComparator(org.apache.hyracks.api.dataflow.value.IBinaryComparator) ByteBuffer(java.nio.ByteBuffer)

Aggregations

IBinaryComparator (org.apache.hyracks.api.dataflow.value.IBinaryComparator)21 IHyracksTaskContext (org.apache.hyracks.api.context.IHyracksTaskContext)7 ArrayBackedValueStorage (org.apache.hyracks.data.std.util.ArrayBackedValueStorage)7 DataOutput (java.io.DataOutput)6 InvalidDataFormatException (org.apache.asterix.runtime.exceptions.InvalidDataFormatException)6 TypeMismatchException (org.apache.asterix.runtime.exceptions.TypeMismatchException)6 IScalarEvaluator (org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator)6 IScalarEvaluatorFactory (org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory)6 HyracksDataException (org.apache.hyracks.api.exceptions.HyracksDataException)6 IPointable (org.apache.hyracks.data.std.api.IPointable)6 VoidPointable (org.apache.hyracks.data.std.primitive.VoidPointable)6 IFrameTupleReference (org.apache.hyracks.dataflow.common.data.accessors.IFrameTupleReference)6 IOException (java.io.IOException)5 ISerializerDeserializer (org.apache.hyracks.api.dataflow.value.ISerializerDeserializer)5 ATypeTag (org.apache.asterix.om.types.ATypeTag)4 ByteBuffer (java.nio.ByteBuffer)3 IBinaryHashFunction (org.apache.hyracks.api.dataflow.value.IBinaryHashFunction)3 MultiComparator (org.apache.hyracks.storage.common.MultiComparator)3 BinaryHashMap (org.apache.asterix.runtime.evaluators.functions.BinaryHashMap)2 IBinaryComparatorFactory (org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory)2