Apache datasketches

Clone this repo:
  1. 2cb3a8c Merge pull request #118 from proost/test-stabilize-flaky-test by Hyeonho Kim · 6 days ago main v0.1.0-rc4
  2. e3a8e2a Merge pull request #119 from proost/doc-fix-wrong-badge-link by Hyeonho Kim · 7 days ago
  3. 2a5a012 doc: fix link by proost · 7 days ago
  4. afb61be doc: fix wrong badge link by proost · 7 days ago
  5. 9bf8412 test: stabilize flaky cases by proost · 7 days ago

Go Go Report Card Release GoDoc License Coverage Status

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

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

Specialty Sketches

TypeInterface NameStatus
Cardinality/FM85UniqueCountMap
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