Skip to content

ellchow/scalaton

Repository files navigation

scalaton

built on scala 2.10.2

hosted on sonatype

some revamping of this code is here

libraryDependencies ++= Seq(
  "com.github.ellchow" %% "scalaton-util" % "0.1.2-SNAPSHOT",
  "com.github.ellchow" %% "scalaton-collection" % "0.1.2-SNAPSHOT",
  "com.github.ellchow" %% "scalaton-aggregate" % "0.1.2-SNAPSHOT",
  "com.github.ellchow" %% "scalaton-async" % "0.1.2-SNAPSHOT"
)

util

  • more generic hashing for basic datatypes and tuples (32 bit, 64 bit, 128 bit)
  • path manipulation and filesystem navigation
  • monoid instances
  • simple csv parse using parser-combinators

collection

additional collections and enhancements on standard scala collections

  • BiMap – very basic bidirectional map
  • External sort
  • Immutable Heap (pairing heap implementation)
  • Immutable Queue (banker’s queue implementation)
  • Joins on iterators
  • Tee – “tee”-ing an iterator into an output stream
  • Immutable graph structure for running the topological sort algorithm
  • Immutable Trie

aggregate

aggregation/approximate/streaming algorithms and helpers

  • Streaming bootstrap – use poisson approximation to draw a bootstrap estimate from a stream
  • FrequentItems – heavy hitters algorithm base on the StreamSummary data structure
  • Histogram – online histogram building by bucketization
  • Moments – moments aggregation (count, mean, variance, kurtosis, skewness)
  • Reservoir Sampling
  • Timer – simple timer for calculating average rates
  • TopK – maintain the top k items of a stream
  • Bloom Filters
  • Frequency Sketches – generic sketch structure, with CountMinSketch implementation
  • HyperLogLog – approximate cardinality algorithm
  • Dyadic Decomposition of integer ranges

async

  • Enhancements on Scala Futures (timers/schedulers, retries, racing, …)
  • Simple Akka Message Tracing
  • RabbitMQ client

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published