Liking cljdoc? Tell your friends :D

clojure-accumulo

A Clojure binding for Apache Accumulo.

Basic Usage

(def db {:user "user" :password "password" :mock? true})
(def auths "A,B,C")

(with-connector db
  (with-authorizations auths
    (create-table "demo")
    (write "demo"
           [(doto (org.apache.accumulo.core.data.Mutation. "r1")
              (.put "" "" (as-visibility "A") "Hello!"))
            (doto (org.apache.accumulo.core.data.Mutation. "r2")
              (.put "" "" (as-visibility "D") "Hidden")
              (.put "" "" (as-visibility "B") "Goodbye!"))])
    (doseq [[k v] (scan "demo" [(org.apache.accumulo.core.data.Range.)])]
      (prn (str (.getRow k)) (str (.getColumnVisibility k)) (str v)))))

Upcoming

An API simplification! Elimination of DSSR's! In all seriousness, we expect that the 0.2 series will maintain many of the concepts in 0.1, but will break the API. In particular,

  • pass connectors or connector descriptions into functions directly
  • eliminate the with-connector and with-authorizations macros
  • provide functions to simplify the keys/value pairs passed into scanners
  • give callers control over the lifetimes of their BatchScanner and BatchWriter
  • provide an abstractions for Range, Key, and Mutation so they don't have to be explicitly constructed

Related

Want to run Clojure tablet-server-side in Accumulo by passing Clojure into scan iterators as iterator options? See clojure-accumulo-iterators.

License

Copyright 2011-2014 Charles Simpson

Release under the MIT license.

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close