Skip to content

apache/datasketches-go

Go Go Report Card Release GoDoc License

Apache® DataSketches™ Core Go Library Component

This is the core Go component of the DataSketches library. It contains some of the sketching algorithms and can be accessed directly from user applications.

Note that we have a parallel core component for C++, Java and Python implementations of the same sketch algorithms, datasketches-cpp and datasketches-java.

Please visit the main DataSketches website for more information.

If you are interested in making contributions to this site please see our Community page for how to contact us.

Major Sketches

Type Implementation Status
Cardinality
CpcSketch ⚠️
HllSketch ⚠️
ThetaSketch ⚠️
TupleSketch ⚠️
Quantiles
CormodeDoublesSketch
CormodeItemsSketch
KllDoublesSketch
KllFloatsSketch
KllSketch ⚠️
ReqFloatsSketch
Frequencies
FreqLongsSketch ⚠️
FreqItemsSketch ⚠️
CountMinSketch ⚠️
Sampling
ReservoirLongsSketch
ReserviorItemsSketch
VarOptItemsSketch
Membership
BloomFilter 🚧

Specialty Sketches

Type Interface Name Status
Cardinality/FM85 UniqueCountMap
Cardinality/Tuple
FdtSketch
ArrayOfDoublesSketch
DoubleSketch
IntegerSketch
ArrayOfStringsSketch
EngagementTest3

❌ = Not yet implemented

⚠️ = Implemented but not officially released

🚧 = In progress

Build & Runtime Dependencies

This code requires Go 1.24

Compilation and Test

Test can be run using go test command

go test ./...

A Dockerfile is also provided with the necessary env to build and test the project.

./build/Dockerfile
./build/run-docker-test.sh

About

Apache datasketches

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

Languages