Skip to content

bfemiano/cellmate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data abstraction over Apache Accumulo

http://accumulo.apache.org/

The Cellmate API lets you build domain objects and DAO layers over a simple and concise API, while avoiding the internals of the raw Accumulo API. The net result is less biolerplate code and a strong decoupling between your domain objects and Accumulo operations.

Users can focus on their business logic and solving problems, and less on the Accumulo API details of setting up scans, connections, authorizations, filters, and other requirements. All of that is handled for you by Cellmate.

What is Cellmate?

The core library contains a number of discrete components that help abstract Accumulo operations.

  1. Cells that typically mark a single string or byte[] value with some meaningful label (usually the qualifier from the Key/Value pair). Users can use one of the prebuilt cell types, or implement their own with annotations.
  2. CellGroup collections that mark cells with a tag (usually the rowId from the Key/Value pair).
  3. Parameters that let users define required scan/write options for Accumulo scan and writes (user, password, start-key, end-key, iterators, etc).
  4. Reader to take parameters and return scanned cell groups.
  5. CellTransformer functions that tells the reader how to take Key/Value pairs and build cells and cell groups from the scan results.
  6. Extractor that supports dereferencing data in cells based on filter patterns or direct lookup on known labels.
  7. Writer to take cell groups and write Mutations back to Accumulo. (Note: At this time, this has functionally has not be tested.)

What this API provides

  1. Reader implementations Accumulo that enable rapid development of read/write applications and filtered queries.
  2. Various prebuilt cell classes for use over Accumulo that cover many use cases.
  3. Several Accumulo cell transformer classes that cover many common use cases.
  4. Writer implementations for Accumulo that automatically handle persisting any custom cell type.
  5. Cell extractors that assist with parsing cells and cell groups for use with your higher-level domain objects.
  6. Annotations and interfaces to help build custom cells, transformers or reader/writer implementations.

Usage

Licensed AS-IS under Apache License 2.0

About

Framework to help abstract read/write/search operations with different open source BigTable datastores.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages