in src/main/scala/org/apache/spark/sql/datasketches/theta/aggregate/ThetaSketchAggUnion.scala [128:140]
override def merge(wrapper: ThetaSketchWrapper, other: ThetaSketchWrapper): ThetaSketchWrapper = {
if (other != null && !other.compactSketch.get.isEmpty()) {
if (wrapper.union.isEmpty) {
wrapper.union = Some(SetOperation.builder().setLogNominalEntries(lgK).setSeed(seed).buildUnion())
if (wrapper.compactSketch.isDefined) {
wrapper.union.get.union(wrapper.compactSketch.get)
wrapper.compactSketch = None
}
}
wrapper.union.get.union(other.compactSketch.get)
}
wrapper
}