You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hivemall.apache.org by myui <gi...@git.apache.org> on 2017/09/13 10:53:40 UTC

[GitHub] incubator-hivemall pull request #108: [HIVEMALL-138] `to_ordered_map` & `to_...

Github user myui commented on a diff in the pull request:

    https://github.com/apache/incubator-hivemall/pull/108#discussion_r138586028
  
    --- Diff: core/src/main/java/hivemall/tools/map/UDAFToOrderedMap.java ---
    @@ -92,4 +122,172 @@ public void reset(@SuppressWarnings("deprecation") AggregationBuffer agg)
     
         }
     
    +    public static class TopKOrderedMapEvaluator extends GenericUDAFEvaluator {
    +
    +        protected PrimitiveObjectInspector inputKeyOI;
    +        protected ObjectInspector inputValueOI;
    +        protected StandardMapObjectInspector partialMapOI;
    +        protected PrimitiveObjectInspector sizeOI;
    +
    +        protected StructObjectInspector internalMergeOI;
    +
    +        protected StructField partialMapField;
    +        protected StructField sizeField;
    +
    +        @Override
    +        public ObjectInspector init(Mode mode, ObjectInspector[] argOIs) throws HiveException {
    +            super.init(mode, argOIs);
    +
    +            // initialize input
    +            if (mode == Mode.PARTIAL1 || mode == Mode.COMPLETE) {// from original data
    +                this.inputKeyOI = HiveUtils.asPrimitiveObjectInspector(argOIs[0]);
    +                this.inputValueOI = argOIs[1];
    +                this.sizeOI = HiveUtils.asIntegerOI(argOIs[2]);
    --- End diff --
    
    parameter might be boolean for `argOIs[2]`


---