本文整理汇总了Java中com.yahoo.sketches.quantiles.DoublesSketch类的典型用法代码示例。如果您正苦于以下问题:Java DoublesSketch类的具体用法?Java DoublesSketch怎么用?Java DoublesSketch使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DoublesSketch类属于com.yahoo.sketches.quantiles包,在下文中一共展示了DoublesSketch类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: _apply
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Override
public Iterable<Element> _apply(final String line) {
final List<Element> elements = new ArrayList<>();
for (int i = 0; i < 1000; i++) {
final UpdateDoublesSketch doublesSketch = DoublesSketch.builder().build();
doublesSketch.update(RANDOM.nextGaussian());
final Edge edge = new Edge.Builder()
.group("red")
.source("A")
.dest("B")
.property("doublesSketch", doublesSketch)
.build();
elements.add(edge);
}
return elements;
}
开发者ID:gchq,项目名称:gaffer-doc,代码行数:17,代码来源:DoublesSketchElementGenerator.java
示例2: ProducerStats
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
public ProducerStats(PulsarClientImpl pulsarClient, ProducerConfiguration conf, ProducerImpl producer) {
this.pulsarClient = pulsarClient;
this.statsIntervalSeconds = pulsarClient.getConfiguration().getStatsIntervalSeconds();
this.producer = producer;
numMsgsSent = new LongAdder();
numBytesSent = new LongAdder();
numSendFailed = new LongAdder();
numAcksReceived = new LongAdder();
totalMsgsSent = new LongAdder();
totalBytesSent = new LongAdder();
totalSendFailed = new LongAdder();
totalAcksReceived = new LongAdder();
ds = DoublesSketch.builder().build(256);
dec = new DecimalFormat("0.000");
throughputFormat = new DecimalFormat("0.00");
init(conf);
}
开发者ID:apache,项目名称:incubator-pulsar,代码行数:18,代码来源:ProducerStats.java
示例3: evaluate
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
/**
* Convert a given column from a given ArrayOfDoublesSketch to a quantiles DoublesSketch
* @param serializedSketch ArrayOfDoublesSketch in as serialized binary
* @param column 1-based column number
* @param k parameter that determines the accuracy and size of the quantiles sketch
* @return serialized DoublesSketch
*/
public BytesWritable evaluate(final BytesWritable serializedSketch, final int column,
final int k) {
if (serializedSketch == null) { return null; }
final ArrayOfDoublesSketch sketch = ArrayOfDoublesSketches.wrapSketch(
Memory.wrap(serializedSketch.getBytes()));
if (column < 1) {
throw new IllegalArgumentException("Column number must be greater than zero. Received: "
+ column);
}
if (column > sketch.getNumValues()) {
throw new IllegalArgumentException("Column number " + column
+ " is out of range. The given sketch has "
+ sketch.getNumValues() + " columns");
}
final DoublesSketchBuilder builder = DoublesSketch.builder();
if (k > 0) {
builder.setK(k);
}
final UpdateDoublesSketch qs = builder.build();
final ArrayOfDoublesSketchIterator it = sketch.iterator();
while (it.next()) {
qs.update(it.getValues()[column - 1]);
}
return new BytesWritable(qs.compact().toByteArray());
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:33,代码来源:ArrayOfDoublesSketchToQuantilesSketchUDF.java
示例4: partia1ModelDefaultKDowsizeInput
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:27,代码来源:UnionDoublesSketchUDAFTest.java
示例5: partia1ModelGivenK
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:27,代码来源:UnionDoublesSketchUDAFTest.java
示例6: partial2Mode
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void partial2Mode() 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.PARTIAL2, inspectors);
DataToDoublesSketchUDAFTest.checkResultInspector(resultInspector);
DoublesUnionState state = (DoublesUnionState) eval.getNewAggregationBuffer();
UpdateDoublesSketch sketch1 = DoublesSketch.builder().setK(256).build();
sketch1.update(1.0);
eval.merge(state, new BytesWritable(sketch1.toByteArray()));
UpdateDoublesSketch sketch2 = DoublesSketch.builder().setK(256).build();
sketch2.update(2.0);
eval.merge(state, new BytesWritable(sketch2.toByteArray()));
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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:27,代码来源:UnionDoublesSketchUDAFTest.java
示例7: finalMode
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void finalMode() 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.FINAL, inspectors);
DataToDoublesSketchUDAFTest.checkResultInspector(resultInspector);
DoublesUnionState state = (DoublesUnionState) eval.getNewAggregationBuffer();
UpdateDoublesSketch sketch1 = DoublesSketch.builder().setK(256).build();
sketch1.update(1.0);
eval.merge(state, new BytesWritable(sketch1.toByteArray()));
UpdateDoublesSketch sketch2 = DoublesSketch.builder().setK(256).build();
sketch2.update(2.0);
eval.merge(state, new BytesWritable(sketch2.toByteArray()));
BytesWritable bytes = (BytesWritable) eval.terminate(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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:27,代码来源:UnionDoublesSketchUDAFTest.java
示例8: partial1ModeDefaultK
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:21,代码来源:DataToDoublesSketchUDAFTest.java
示例9: partial1ModeGivenK
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:21,代码来源:DataToDoublesSketchUDAFTest.java
示例10: partial2Mode
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void partial2Mode() throws Exception {
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(new ObjectInspector[] { doubleInspector }, false, false);
GenericUDAFEvaluator eval = new DataToDoublesSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.PARTIAL2, new ObjectInspector[] {binaryInspector});
checkResultInspector(resultInspector);
DoublesUnionState state = (DoublesUnionState) eval.getNewAggregationBuffer();
UpdateDoublesSketch sketch1 = DoublesSketch.builder().build();
sketch1.update(1.0);
eval.merge(state, new BytesWritable(sketch1.toByteArray()));
UpdateDoublesSketch sketch2 = DoublesSketch.builder().build();
sketch2.update(2.0);
eval.merge(state, new BytesWritable(sketch2.toByteArray()));
BytesWritable bytes = (BytesWritable) eval.terminate(state);
DoublesSketch resultSketch = DoublesSketch.wrap(Memory.wrap(bytes.getBytes()));
Assert.assertEquals(resultSketch.getRetainedItems(), 2);
Assert.assertEquals(resultSketch.getMinValue(), 1.0);
Assert.assertEquals(resultSketch.getMaxValue(), 2.0);
eval.close();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:25,代码来源:DataToDoublesSketchUDAFTest.java
示例11: finalMode
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void finalMode() throws Exception {
GenericUDAFParameterInfo info = new SimpleGenericUDAFParameterInfo(new ObjectInspector[] { doubleInspector }, false, false);
GenericUDAFEvaluator eval = new DataToDoublesSketchUDAF().getEvaluator(info);
ObjectInspector resultInspector = eval.init(Mode.FINAL, new ObjectInspector[] {binaryInspector});
checkResultInspector(resultInspector);
DoublesUnionState state = (DoublesUnionState) eval.getNewAggregationBuffer();
UpdateDoublesSketch sketch1 = DoublesSketch.builder().setK(256).build();
sketch1.update(1.0);
eval.merge(state, new BytesWritable(sketch1.toByteArray()));
UpdateDoublesSketch sketch2 = DoublesSketch.builder().setK(256).build();
sketch2.update(2.0);
eval.merge(state, new BytesWritable(sketch2.toByteArray()));
BytesWritable bytes = (BytesWritable) eval.terminate(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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:26,代码来源:DataToDoublesSketchUDAFTest.java
示例12: completeModeDefaultK
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void completeModeDefaultK() 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.COMPLETE, 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.terminate(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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:21,代码来源:DataToDoublesSketchUDAFTest.java
示例13: completeModeGivenK
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void completeModeGivenK() 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.COMPLETE, 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.terminate(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();
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:21,代码来源:DataToDoublesSketchUDAFTest.java
示例14: nonEmptySketchWithTwoColumnsExplicitK
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void nonEmptySketchWithTwoColumnsExplicitK() {
int k = 256;
ArrayOfDoublesUpdatableSketch sketch = new ArrayOfDoublesUpdatableSketchBuilder().setNumberOfValues(2).build();
sketch.update(1, new double[] {1.0, 2.0});
sketch.update(2, new double[] {10.0, 20.0});
BytesWritable result = new ArrayOfDoublesSketchToQuantilesSketchUDF().evaluate(
new BytesWritable(sketch.compact().toByteArray()),
2,
k
);
Assert.assertNotNull(result);
DoublesSketch qs = DoublesSketch.wrap(Memory.wrap(result.getBytes()));
Assert.assertFalse(qs.isEmpty());
Assert.assertEquals(qs.getK(), k);
Assert.assertEquals(qs.getMinValue(), 2.0);
Assert.assertEquals(qs.getMaxValue(), 20.0);
}
开发者ID:DataSketches,项目名称:sketches-hive,代码行数:19,代码来源:ArrayOfDoublesSketchToQuantilesSketchUDFTest.java
示例15: exec
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Override
public Tuple exec(final Tuple input) throws IOException {
if (input.size() < 2) {
throw new IllegalArgumentException(
"expected two or more inputs: sketch and list of split points");
}
if (!(input.get(0) instanceof DataByteArray)) {
throw new IllegalArgumentException("expected a DataByteArray as a sketch, got "
+ input.get(0).getClass().getSimpleName());
}
final DataByteArray dba = (DataByteArray) input.get(0);
final DoublesSketch sketch = DoublesSketch.wrap(Memory.wrap(dba.get()));
final double[] splitPoints = new double[input.size() - 1];
for (int i = 1; i < input.size(); i++) {
if (!(input.get(i) instanceof Double)) {
throw new IllegalArgumentException("expected a double value as a split point, got "
+ input.get(i).getClass().getSimpleName());
}
splitPoints[i - 1] = (double) input.get(i);
}
return Util.doubleArrayToTuple(sketch.getPMF(splitPoints));
}
开发者ID:DataSketches,项目名称:sketches-pig,代码行数:25,代码来源:GetPmfFromDoublesSketch.java
示例16: exec
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Override
public Double exec(final Tuple input) throws IOException {
if (input.size() != 2) {
throw new IllegalArgumentException("expected two inputs: sketch and fraction");
}
if (!(input.get(0) instanceof DataByteArray)) {
throw new IllegalArgumentException("expected a DataByteArray as a sketch, got "
+ input.get(0).getClass().getSimpleName());
}
final DataByteArray dba = (DataByteArray) input.get(0);
final DoublesSketch sketch = DoublesSketch.wrap(Memory.wrap(dba.get()));
if (!(input.get(1) instanceof Double)) {
throw new IllegalArgumentException("expected a double value as a fraction, got "
+ input.get(1).getClass().getSimpleName());
}
final double fraction = (double) input.get(1);
return sketch.getQuantile(fraction);
}
开发者ID:DataSketches,项目名称:sketches-pig,代码行数:21,代码来源:GetQuantileFromDoublesSketch.java
示例17: exec
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Override
public Double exec(final Tuple input) throws IOException {
if (input.size() != 2) {
throw new IllegalArgumentException("expected two inputs: sketch and pecentile");
}
final DataByteArray dba = (DataByteArray) input.get(0);
final Sketch<DoubleSummary> sketch = Sketches.heapifySketch(Memory.wrap(dba.get()));
final double percentile = (double) input.get(1);
if ((percentile < 0) || (percentile > 100)) {
throw new IllegalArgumentException("percentile must be between 0 and 100");
}
final UpdateDoublesSketch qs = DoublesSketch.builder().setK(QUANTILES_SKETCH_SIZE).build();
final SketchIterator<DoubleSummary> it = sketch.iterator();
while (it.next()) {
qs.update(it.getSummary().getValue());
}
return qs.getQuantile(percentile / 100);
}
开发者ID:DataSketches,项目名称:sketches-pig,代码行数:22,代码来源:DoubleSummarySketchToPercentile.java
示例18: algebraicIntermediateFinalNormalCase
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void algebraicIntermediateFinalNormalCase() throws Exception {
EvalFunc<Tuple> func = new DataToDoublesSketch.IntermediateFinal();
DataBag bag = bagFactory.newDefaultBag();
{ // this is to simulate an output from Initial
DataBag innerBag = bagFactory.newDefaultBag();
innerBag.add(tupleFactory.newTuple(1.0));
bag.add(tupleFactory.newTuple(innerBag));
}
{ // this is to simulate an output from a prior call of IntermediateFinal
UpdateDoublesSketch qs = DoublesSketch.builder().build();
qs.update(2.0);
bag.add(tupleFactory.newTuple(new DataByteArray(qs.toByteArray())));
}
Tuple resultTuple = func.exec(tupleFactory.newTuple(bag));
DoublesSketch sketch = getSketch(resultTuple);
Assert.assertFalse(sketch.isEmpty());
Assert.assertEquals(sketch.getN(), 2);
}
开发者ID:DataSketches,项目名称:sketches-pig,代码行数:23,代码来源:DataToDoublesSketchTest.java
示例19: nonEmptyInputSketchWithTwoColumnsExplicitK
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
@Test
public void nonEmptyInputSketchWithTwoColumnsExplicitK() throws Exception {
int k = 256;
EvalFunc<DataByteArray> func = new ArrayOfDoublesSketchToQuantilesSketch(Integer.toString(k));
ArrayOfDoublesUpdatableSketch sketch = new ArrayOfDoublesUpdatableSketchBuilder().setNumberOfValues(2).build();
sketch.update(1, new double[] {1.0, 2.0});
sketch.update(2, new double[] {10.0, 20.0});
DataByteArray result = func.exec(tupleFactory.newTuple(Arrays.asList(
new DataByteArray(sketch.compact().toByteArray()),
2
)));
Assert.assertNotNull(result);
DoublesSketch quantilesSketch = DoublesSketch.wrap(Memory.wrap(result.get()));
Assert.assertFalse(quantilesSketch.isEmpty());
Assert.assertEquals(quantilesSketch.getK(), k);
Assert.assertEquals(quantilesSketch.getMinValue(), 2.0);
Assert.assertEquals(quantilesSketch.getMaxValue(), 20.0);
}
开发者ID:DataSketches,项目名称:sketches-pig,代码行数:19,代码来源:ArrayOfDoublesSketchToQuantilesSketchTest.java
示例20: create
import com.yahoo.sketches.quantiles.DoublesSketch; //导入依赖的package包/类
public void create(TDoubleVector vec) {
double[] fracs = new double[size];
double min = Double.MAX_VALUE;
for (int i = 0; i < size; i++) {
fracs[i] = i / (double) size;
}
int maxDim = vec.getDimension();
DoublesSketch sketches = DoublesSketch.builder().build();
for (int dim = 0; dim < maxDim; dim++) {
if (Math.abs(vec.get(dim)) > 10e-12) {
sketches.update(vec.get(dim));
min = Math.min(min, vec.get(dim));
}
}
splits = sketches.getQuantiles(fracs);
for (int dim = 0; dim < maxDim; dim++) {
if (Math.abs(vec.get(dim)) > 10e-12) {
counts[indexOf(vec.get(dim))]++;
totalCount++;
}
}
}
开发者ID:Tencent,项目名称:angel,代码行数:28,代码来源:YahooSketch.java
注:本文中的com.yahoo.sketches.quantiles.DoublesSketch类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论