本文整理了Java中com.clearspring.analytics.stream.quantile.QDigest.unionOf
方法的一些代码示例,展示了QDigest.unionOf
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QDigest.unionOf
方法的具体详情如下:
包路径:com.clearspring.analytics.stream.quantile.QDigest
类名称:QDigest
方法名:unionOf
暂无
代码示例来源:origin: addthis/stream-lib
public static QDigest unionOf(QDigest a, QDigest b) {
if (a.compressionFactor != b.compressionFactor) {
throw new IllegalArgumentException(
"Compression factors must be the same: " +
"left is " + a.compressionFactor + ", " +
"right is " + b.compressionFactor);
}
if (a.capacity > b.capacity) {
return unionOf(b, a);
}
QDigest res = new QDigest(a.compressionFactor);
res.capacity = a.capacity;
res.size = a.size + b.size;
for (long k : a.node2count.keySet()) {
res.node2count.put(k, a.node2count.get(k));
}
if (b.capacity > res.capacity) {
res.rebuildToCapacity(b.capacity);
}
for (long k : b.node2count.keySet()) {
res.node2count.put(k, b.get(k) + res.get(k));
}
res.compressFully();
return res;
}
代码示例来源:origin: addthis/stream-lib
for (long x : bSamples) b.offer(x);
for (long x : allSamples) c.offer(x);
QDigest ab = QDigest.unionOf(a, b);
代码示例来源:origin: addthis/stream-lib
/**
* Test for bug identified and corrected by http://github.com/addthis/stream-lib/pull/53
*/
@Test
public void testSerialization() {
long[] samples = {0, 20};
QDigest digestA = new QDigest(2);
for (int i = 0; i < samples.length; i++) {
digestA.offer(samples[i]);
}
byte[] serialized = QDigest.serialize(digestA);
QDigest deserializedA = QDigest.deserialize(serialized);
QDigest digestB = new QDigest(2);
for (int i = 0; i < samples.length; i++) {
digestB.offer(samples[i]);
}
QDigest.unionOf(digestA, deserializedA);
}
}
代码示例来源:origin: addthis/stream-lib
System.arraycopy(samples[j], 0, total, offset, samples[j].length);
offset += samples[j].length;
totalDigest = QDigest.unionOf(totalDigest, digests[j]);
expectedSize += samples[j].length;
代码示例来源:origin: LiveRamp/cascading_ext
@Override
public QDigest finalAggregate(QDigest aggregate, TupleEntry partialAggregate) {
QDigest partial = QDigest.deserialize(Bytes.getBytes((BytesWritable)partialAggregate.getObject(0)));
return QDigest.unionOf(aggregate, partial);
}
代码示例来源:origin: com.addthis/stream-lib
public static QDigest unionOf(QDigest a, QDigest b) {
if (a.compressionFactor != b.compressionFactor) {
throw new IllegalArgumentException(
"Compression factors must be the same: " +
"left is " + a.compressionFactor + ", " +
"right is " + b.compressionFactor);
}
if (a.capacity > b.capacity) {
return unionOf(b, a);
}
QDigest res = new QDigest(a.compressionFactor);
res.capacity = a.capacity;
res.size = a.size + b.size;
for (long k : a.node2count.keySet()) {
res.node2count.put(k, a.node2count.get(k));
}
if (b.capacity > res.capacity) {
res.rebuildToCapacity(b.capacity);
}
for (long k : b.node2count.keySet()) {
res.node2count.put(k, b.get(k) + res.get(k));
}
res.compressFully();
return res;
}
内容来源于网络,如有侵权,请联系作者删除!