Good point, but I used the jar files provided as part of imply-1.3.0 and I still get that error. Does this deserialization work for fields that have been indexed using hyperUnique in druid as well? Or is this only for theta Sketches?
Here are the jar version details:
export CLASSPATH="/home/nsadmin/imply-1.3.0/dist/druid/extensions/druid-datasketches/druid-datasketches-0.9.1.1.jar:/home/nsadmin/imply-1.3.0/dist/druid/extensions/druid-datasketches/sketches-core-0.2.2.jar:/home/nsadmin/Test:/home/nsadmin/guava-20.0.jar:/home/nsadmin/commons-codec-1.10.jar:/home/nsadmin/imply-1.3.0/dist/tranquility/lib/com.metamx.java-util-0.27.9.jar:/home/nsadmin/imply-1.3.0/dist/druid/extensions/druid-kafka-indexing-service/slf4j-api-1.7.6.jar:/home/nsadmin/Test:."
nsadmin@mpdruid01:~$ javac Test/Test.java
nsadmin@mpdruid01:~$ java Test.Test
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread “main” java.lang.IllegalArgumentException: Unknown Serialization Version: 0
at com.yahoo.sketches.theta.Sketch.heapify(Sketch.java:246)
at com.yahoo.sketches.theta.Sketch.heapify(Sketch.java:220)
at com.yahoo.sketches.theta.Sketches.heapifySketch(Sketches.java:37)
at io.druid.query.aggregation.datasketches.theta.SketchOperations.deserializeFromMemory(SketchOperations.java:82)
at io.druid.query.aggregation.datasketches.theta.SketchOperations.deserializeFromByteArray(SketchOperations.java:76)
at io.druid.query.aggregation.datasketches.theta.SketchOperations.deserializeFromBase64EncodedString(SketchOperations.java:67)
at Test.Test.main(Test.java:8)
Here is the source I am using:
package Test;
import io.druid.query.aggregation.datasketches.theta.SketchOperations;
import com.yahoo.sketches.theta.Sketch;
public class Test {
public static void main(String args) {
Sketch sketch = SketchOperations.deserializeFromBase64EncodedString(“AQAADwAAAAAKAgAcEAAmBABcAQBnEAB4EACaEADlUAHIEALOEAMaEAM/BQNXEANvQANyEA==”);
}
}