本文整理汇总了Java中org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.terminatePartial方法的典型用法代码示例。如果您正苦于以下问题:Java GenericUDAFEvaluator.terminatePartial方法的具体用法?Java GenericUDAFEvaluator.terminatePartial怎么用?Java GenericUDAFEvaluator.terminatePartial使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator
的用法示例。
在下文中一共展示了GenericUDAFEvaluator.terminatePartial方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: partial1ModeIntValuesDefaultParams
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeIntValuesDefaultParams() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { intInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new DataToSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
checkIntermediateResultInspector(resultInspector);
UnionState state = (UnionState) eval.getNewAggregationBuffer();
eval.iterate(state, new Object[] {new IntWritable(1)});
eval.iterate(state, new Object[] {new IntWritable(2)});
Object result = eval.terminatePartial(state);
Assert.assertNotNull(result);
Assert.assertTrue(result instanceof List);
List<?> r = (List<?>) result;
Assert.assertEquals(r.size(), 3);
Assert.assertEquals(((IntWritable) (r.get(0))).get(), DEFAULT_NOMINAL_ENTRIES);
Assert.assertEquals(((LongWritable) (r.get(1))).get(), DEFAULT_UPDATE_SEED);
Sketch resultSketch = Sketches.wrapSketch(Memory.wrap(((BytesWritable) (r.get(2))).getBytes()));
Assert.assertFalse(resultSketch.isEstimationMode());
Assert.assertEquals(resultSketch.getEstimate(), 2.0);
eval.close();
}
示例2: partial1ModeGivenK
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeGivenK() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { doubleInspector, intInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new DataToDoublesSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
checkResultInspector(resultInspector);
DoublesUnionState state = (DoublesUnionState) eval.getNewAggregationBuffer();
eval.iterate(state, new Object[] { new DoubleWritable(1.0), new IntWritable(256) });
eval.iterate(state, new Object[] { new DoubleWritable(2.0), new IntWritable(256) });
BytesWritable bytes = (BytesWritable) eval.terminatePartial(state);
DoublesSketch resultSketch = DoublesSketch.wrap(Memory.wrap(bytes.getBytes()));
Assert.assertEquals(resultSketch.getK(), 256);
Assert.assertEquals(resultSketch.getRetainedItems(), 2);
Assert.assertEquals(resultSketch.getMinValue(), 1.0);
Assert.assertEquals(resultSketch.getMaxValue(), 2.0);
eval.close();
}
示例3: partia1ModelDefaultKDowsizeInput
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partia1ModelDefaultKDowsizeInput() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { binaryInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new UnionDoublesSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
DataToDoublesSketchUDAFTest.checkResultInspector(resultInspector);
DoublesUnionState state = (DoublesUnionState) eval.getNewAggregationBuffer();
UpdateDoublesSketch sketch1 = DoublesSketch.builder().setK(256).build();
sketch1.update(1.0);
eval.iterate(state, new Object[] { new BytesWritable(sketch1.toByteArray()) });
UpdateDoublesSketch sketch2 = DoublesSketch.builder().setK(256).build();
sketch2.update(2.0);
eval.iterate(state, new Object[] { new BytesWritable(sketch2.toByteArray()) });
BytesWritable bytes = (BytesWritable) eval.terminatePartial(state);
DoublesSketch resultSketch = DoublesSketch.wrap(Memory.wrap(bytes.getBytes()));
Assert.assertEquals(resultSketch.getK(), 128);
Assert.assertEquals(resultSketch.getRetainedItems(), 2);
Assert.assertEquals(resultSketch.getMinValue(), 1.0);
Assert.assertEquals(resultSketch.getMaxValue(), 2.0);
eval.close();
}
示例4: partia1ModelGivenK
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partia1ModelGivenK() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { binaryInspector, intInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new UnionDoublesSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
DataToDoublesSketchUDAFTest.checkResultInspector(resultInspector);
DoublesUnionState state = (DoublesUnionState) eval.getNewAggregationBuffer();
UpdateDoublesSketch sketch1 = DoublesSketch.builder().setK(256).build();
sketch1.update(1.0);
eval.iterate(state, new Object[] { new BytesWritable(sketch1.toByteArray()), new IntWritable(256) });
UpdateDoublesSketch sketch2 = DoublesSketch.builder().setK(256).build();
sketch2.update(2.0);
eval.iterate(state, new Object[] { new BytesWritable(sketch2.toByteArray()), new IntWritable(256) });
BytesWritable bytes = (BytesWritable) eval.terminatePartial(state);
DoublesSketch resultSketch = DoublesSketch.wrap(Memory.wrap(bytes.getBytes()));
Assert.assertEquals(resultSketch.getK(), 256);
Assert.assertEquals(resultSketch.getRetainedItems(), 2);
Assert.assertEquals(resultSketch.getMinValue(), 1.0);
Assert.assertEquals(resultSketch.getMaxValue(), 2.0);
eval.close();
}
示例5: partial1ModeDefaultK
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeDefaultK() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { stringInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new DataToStringsSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
DataToDoublesSketchUDAFTest.checkResultInspector(resultInspector);
@SuppressWarnings("unchecked")
ItemsUnionState<String> state = (ItemsUnionState<String>) eval.getNewAggregationBuffer();
eval.iterate(state, new Object[] { new org.apache.hadoop.io.Text("a") });
eval.iterate(state, new Object[] { new org.apache.hadoop.io.Text("b") });
BytesWritable bytes = (BytesWritable) eval.terminatePartial(state);
ItemsSketch<String> resultSketch = ItemsSketch.getInstance(Memory.wrap(bytes.getBytes()), comparator, serDe);
Assert.assertEquals(resultSketch.getK(), 128);
Assert.assertEquals(resultSketch.getRetainedItems(), 2);
Assert.assertEquals(resultSketch.getMinValue(), "a");
Assert.assertEquals(resultSketch.getMaxValue(), "b");
eval.close();
}
示例6: partial1ModeGivenK
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeGivenK() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { stringInspector, intInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new DataToStringsSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
DataToDoublesSketchUDAFTest.checkResultInspector(resultInspector);
@SuppressWarnings("unchecked")
ItemsUnionState<String> state = (ItemsUnionState<String>) eval.getNewAggregationBuffer();
eval.iterate(state, new Object[] { new org.apache.hadoop.io.Text("a"), new IntWritable(256) });
eval.iterate(state, new Object[] { new org.apache.hadoop.io.Text("b"), new IntWritable(256) });
BytesWritable bytes = (BytesWritable) eval.terminatePartial(state);
ItemsSketch<String> resultSketch = ItemsSketch.getInstance(Memory.wrap(bytes.getBytes()), comparator, serDe);
Assert.assertEquals(resultSketch.getK(), 256);
Assert.assertEquals(resultSketch.getRetainedItems(), 2);
Assert.assertEquals(resultSketch.getMinValue(), "a");
Assert.assertEquals(resultSketch.getMaxValue(), "b");
eval.close();
}
示例7: partial1ModeDefaultK
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeDefaultK() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { doubleInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new DataToDoublesSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
checkResultInspector(resultInspector);
DoublesUnionState state = (DoublesUnionState) eval.getNewAggregationBuffer();
eval.iterate(state, new Object[] { new DoubleWritable(1.0) });
eval.iterate(state, new Object[] { new DoubleWritable(2.0) });
BytesWritable bytes = (BytesWritable) eval.terminatePartial(state);
DoublesSketch resultSketch = DoublesSketch.wrap(Memory.wrap(bytes.getBytes()));
Assert.assertEquals(resultSketch.getK(), 128);
Assert.assertEquals(resultSketch.getRetainedItems(), 2);
Assert.assertEquals(resultSketch.getMinValue(), 1.0);
Assert.assertEquals(resultSketch.getMaxValue(), 2.0);
eval.close();
}
示例8: testPartial2
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void testPartial2() throws HiveException {
Merge udaf = new Merge();
ObjectInspector[] inputObjectInspectorList = new ObjectInspector[]{
ObjectInspectorFactory.getStandardListObjectInspector(PrimitiveObjectInspectorFactory.javaLongObjectInspector)
};
GenericUDAFParameterInfo paramInfo = new SimpleGenericUDAFParameterInfo(inputObjectInspectorList, false, false);
GenericUDAFEvaluator udafEvaluator = udaf.getEvaluator(paramInfo);
ObjectInspector outputObjectInspector = udafEvaluator.init(Mode.PARTIAL2, inputObjectInspectorList);
// Setup the two partial results
List<Long> partialResults1 = new ArrayList<>();
partialResults1.add(1L);
partialResults1.add(1L);
partialResults1.add(0L);
List<Long> partialResults2 = new ArrayList<>();
partialResults2.add(1L);
partialResults2.add(1L);
partialResults2.add(1L);
// Merge the partial results
MergeAggregateBuffer agg = (MergeAggregateBuffer) udafEvaluator.getNewAggregationBuffer();
udafEvaluator.reset(agg);
udafEvaluator.merge(agg, partialResults1);
udafEvaluator.merge(agg, partialResults2);
Object result = udafEvaluator.terminatePartial(agg);
// Expected results
List<Long> expected = new ArrayList<>();
expected.add(2L);
expected.add(2L);
expected.add(1L);
Assert.assertEquals(expected, result);
}
示例9: partial1ModeDefaultParams
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeDefaultParams() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { binaryInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new UnionSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
DataToSketchUDAFTest.checkIntermediateResultInspector(resultInspector);
State state = (State) eval.getNewAggregationBuffer();
HllSketch sketch1 = new HllSketch(SketchEvaluator.DEFAULT_LG_K);
sketch1.update(1);
eval.iterate(state, new Object[] {new BytesWritable(sketch1.toCompactByteArray())});
HllSketch sketch2 = new HllSketch(SketchEvaluator.DEFAULT_LG_K);
sketch2.update(2);
eval.iterate(state, new Object[] {new BytesWritable(sketch2.toCompactByteArray())});
Object result = eval.terminatePartial(state);
Assert.assertNotNull(result);
Assert.assertTrue(result instanceof List);
List<?> r = (List<?>) result;
Assert.assertEquals(r.size(), 3);
Assert.assertEquals(((IntWritable) (r.get(0))).get(), SketchEvaluator.DEFAULT_LG_K);
Assert.assertEquals(((Text) (r.get(1))).toString(), SketchEvaluator.DEFAULT_HLL_TYPE.toString());
HllSketch resultSketch = HllSketch.heapify(Memory.wrap(((BytesWritable) (r.get(2))).getBytes()));
Assert.assertEquals(resultSketch.getLgConfigK(), SketchEvaluator.DEFAULT_LG_K);
Assert.assertEquals(resultSketch.getTgtHllType(), SketchEvaluator.DEFAULT_HLL_TYPE);
Assert.assertEquals(resultSketch.getEstimate(), 2.0, 0.01);
eval.close();
}
示例10: partial1ModeExplicitParams
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeExplicitParams() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { binaryInspector, intConstantInspector, stringConstantInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new UnionSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
DataToSketchUDAFTest.checkIntermediateResultInspector(resultInspector);
final int lgK = 10;
final TgtHllType hllType = TgtHllType.HLL_6;
State state = (State) eval.getNewAggregationBuffer();
HllSketch sketch1 = new HllSketch(lgK, hllType);
sketch1.update(1);
eval.iterate(state, new Object[] {new BytesWritable(sketch1.toCompactByteArray()),
new IntWritable(lgK), new Text(hllType.toString())});
HllSketch sketch2 = new HllSketch(lgK, hllType);
sketch2.update(2);
eval.iterate(state, new Object[] {new BytesWritable(sketch2.toCompactByteArray()),
new IntWritable(lgK), new Text(hllType.toString())});
Object result = eval.terminatePartial(state);
Assert.assertNotNull(result);
Assert.assertTrue(result instanceof List);
List<?> r = (List<?>) result;
Assert.assertEquals(r.size(), 3);
Assert.assertEquals(((IntWritable) (r.get(0))).get(), lgK);
Assert.assertEquals(((Text) (r.get(1))).toString(), hllType.toString());
HllSketch resultSketch = HllSketch.heapify(Memory.wrap(((BytesWritable) (r.get(2))).getBytes()));
Assert.assertEquals(resultSketch.getLgConfigK(), lgK);
Assert.assertEquals(resultSketch.getTgtHllType(), hllType);
Assert.assertEquals(resultSketch.getEstimate(), 2.0, 0.01);
eval.close();
}
示例11: partial1ModeExplicitParams
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeExplicitParams() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { binaryInspector, intInspector, longInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new UnionSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
DataToSketchUDAFTest.checkIntermediateResultInspector(resultInspector);
final int nomEntries = 16;
final long seed = 1;
UnionState state = (UnionState) eval.getNewAggregationBuffer();
UpdateSketch sketch1 = UpdateSketch.builder().setSeed(seed).build();
sketch1.update(1);
eval.iterate(state, new Object[] {new BytesWritable(sketch1.compact().toByteArray()), new IntWritable(nomEntries), new LongWritable(seed)});
UpdateSketch sketch2 = UpdateSketch.builder().setSeed(seed).build();
sketch2.update(2);
eval.iterate(state, new Object[] {new BytesWritable(sketch2.compact().toByteArray()), new IntWritable(nomEntries), new LongWritable(seed)});
Object result = eval.terminatePartial(state);
Assert.assertNotNull(result);
Assert.assertTrue(result instanceof List);
List<?> r = (List<?>) result;
Assert.assertEquals(r.size(), 3);
Assert.assertEquals(((IntWritable) (r.get(0))).get(), nomEntries);
Assert.assertEquals(((LongWritable) (r.get(1))).get(), seed);
Sketch resultSketch = Sketches.wrapSketch(Memory.wrap(((BytesWritable) (r.get(2))).getBytes()), seed);
Assert.assertFalse(resultSketch.isEstimationMode());
Assert.assertEquals(resultSketch.getEstimate(), 2.0);
eval.close();
}
示例12: partial1ModeStringKeysExplicitParams
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeStringKeysExplicitParams() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { stringInspector, intConstantInspector, stringConstantInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new DataToSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
checkIntermediateResultInspector(resultInspector);
final int lgK = 10;
final TgtHllType hllType = TgtHllType.HLL_8;
State state = (State) eval.getNewAggregationBuffer();
eval.iterate(state, new Object[] {new Text("a"), new IntWritable(lgK), new Text(hllType.toString())});
eval.iterate(state, new Object[] {new Text("b"), new IntWritable(lgK), new Text(hllType.toString())});
Object result = eval.terminatePartial(state);
Assert.assertNotNull(result);
Assert.assertTrue(result instanceof List);
List<?> r = (List<?>) result;
Assert.assertEquals(r.size(), 3);
Assert.assertEquals(((IntWritable) r.get(0)).get(), lgK);
Assert.assertEquals(((Text) r.get(1)).toString(), hllType.toString());
HllSketch resultSketch = HllSketch.heapify(Memory.wrap(((BytesWritable) r.get(2)).getBytes()));
Assert.assertEquals(resultSketch.getLgConfigK(), lgK);
Assert.assertEquals(resultSketch.getTgtHllType(), hllType);
Assert.assertEquals(resultSketch.getEstimate(), 2.0, 0.01);
eval.close();
}
示例13: partial1ModeExplicitSeed
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial1ModeExplicitSeed() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { binaryInspector, longInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new IntersectSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
checkIntermediateResultInspector(resultInspector);
final long seed = 1;
IntersectSketchUDAF.IntersectSketchUDAFEvaluator.IntersectionState state =
(IntersectSketchUDAF.IntersectSketchUDAFEvaluator.IntersectionState) eval.getNewAggregationBuffer();
UpdateSketch sketch1 = UpdateSketch.builder().setSeed(seed).build();
sketch1.update(1);
sketch1.update(2);
sketch1.update(3);
eval.iterate(state, new Object[] {new BytesWritable(sketch1.toByteArray()), new LongWritable(seed)});
UpdateSketch sketch2 = UpdateSketch.builder().setSeed(seed).build();
sketch2.update(2);
sketch2.update(3);
sketch2.update(4);
eval.iterate(state, new Object[] {new BytesWritable(sketch2.toByteArray()), new LongWritable(seed) });
Object result = eval.terminatePartial(state);
Assert.assertNotNull(result);
Assert.assertTrue(result instanceof List);
List<?> r = (List<?>) result;
Assert.assertEquals(r.size(), 2);
Assert.assertEquals(((LongWritable) (r.get(0))).get(), seed);
Sketch resultSketch = Sketches.wrapSketch(Memory.wrap(((BytesWritable) (r.get(1))).getBytes()), seed);
Assert.assertEquals(resultSketch.getRetainedEntries(true), 2);
Assert.assertEquals(resultSketch.getEstimate(), 2.0);
eval.close();
}
示例14: partia1lDefaultSeed
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partia1lDefaultSeed() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { binaryInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new IntersectSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL1, inspectors);
checkIntermediateResultInspector(resultInspector);
IntersectSketchUDAF.IntersectSketchUDAFEvaluator.IntersectionState state =
(IntersectSketchUDAF.IntersectSketchUDAFEvaluator.IntersectionState) eval.getNewAggregationBuffer();
UpdateSketch sketch1 = UpdateSketch.builder().build();
sketch1.update(1);
sketch1.update(2);
sketch1.update(3);
eval.iterate(state, new Object[] { new BytesWritable(sketch1.toByteArray()) });
UpdateSketch sketch2 = UpdateSketch.builder().build();
sketch2.update(2);
sketch2.update(3);
sketch2.update(4);
eval.iterate(state, new Object[] { new BytesWritable(sketch2.toByteArray()) });
Object result = eval.terminatePartial(state);
Assert.assertNotNull(result);
Assert.assertTrue(result instanceof List);
List<?> r = (List<?>) result;
Assert.assertEquals(r.size(), 2);
Assert.assertEquals(((LongWritable) (r.get(0))).get(), DEFAULT_UPDATE_SEED);
Sketch resultSketch = Sketches.wrapSketch(Memory.wrap(((BytesWritable) (r.get(1))).getBytes()));
Assert.assertEquals(resultSketch.getRetainedEntries(true), 2);
Assert.assertEquals(resultSketch.getEstimate(), 2.0);
eval.close();
}
示例15: partial2Mode
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; //导入方法依赖的package包/类
@Test
public void partial2Mode() throws Exception {
ObjectInspector[] inspectors = new ObjectInspector[] { intInspector };
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(inspectors, false, false);
GenericUDAFEvaluator eval = new DataToSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL2, new ObjectInspector[] {structInspector});
checkIntermediateResultInspector(resultInspector);
UnionState state = (UnionState) eval.getNewAggregationBuffer();
UpdateSketch sketch1 = UpdateSketch.builder().build();
sketch1.update(1);
eval.merge(state, Arrays.asList(
new IntWritable(DEFAULT_NOMINAL_ENTRIES),
new LongWritable(DEFAULT_UPDATE_SEED),
new BytesWritable(sketch1.compact().toByteArray()))
);
UpdateSketch sketch2 = UpdateSketch.builder().build();
sketch2.update(2);
eval.merge(state, Arrays.asList(
new IntWritable(DEFAULT_NOMINAL_ENTRIES),
new LongWritable(DEFAULT_UPDATE_SEED),
new BytesWritable(sketch2.compact().toByteArray()))
);
Object result = eval.terminatePartial(state);
Assert.assertNotNull(result);
Assert.assertTrue(result instanceof List);
List<?> r = (List<?>) result;
Assert.assertEquals(r.size(), 3);
Assert.assertEquals(((IntWritable) (r.get(0))).get(), DEFAULT_NOMINAL_ENTRIES);
Assert.assertEquals(((LongWritable) (r.get(1))).get(), DEFAULT_UPDATE_SEED);
Sketch resultSketch = Sketches.wrapSketch(Memory.wrap(((BytesWritable) (r.get(2))).getBytes()));
Assert.assertEquals(resultSketch.getEstimate(), 2.0);
eval.close();
}