Git Product home page Git Product logo

accumulo's Introduction

Apache Accumulo

The Apache Accumulo™ sorted, distributed key/value store is a robust, scalable, high performance data storage and retrieval system. Apache Accumulo is based on Google's BigTable design and is built on top of Apache Hadoop, Zookeeper, and Thrift. Apache Accumulo features a few novel improvements on the BigTable design in the form of cell-based access control and a server-side programming mechanism that can modify key/value pairs at various points in the data management process. Other notable improvements and feature are outlined here.

To install and run an Accumulo binary distribution, follow the install instructions.

Documentation

Accumulo provides the following documentation :

  • User Manual : In-depth developer and administrator documentation.
  • Examples : Code with corresponding readme files that give step by step instructions for running example code.

This documentation is available on the Accumulo site. In the source and binary distributions of Accumulo, the documentation is at different locations.

In the Accumulo binary distribution, all documentation is in the docs directory. The binary distribution does not include example source code, but it does include a jar with the compiled examples. This examples jar makes it easy to step through the example readmes, after following the install instructions.

In the Accumulo source, documentations is found at the following locations.

Building

Accumulo uses Maven to compile, test, and package its source. The following command will build the binary tar.gz from source. Note, these instructions will not work for the Accumulo binary distribution as it does not include source.

mvn package -P assemble

This command produces a file at the following location.

assemble/target/accumulo-X.Y.Z-SNAPSHOT-bin.tar.gz

This will not include documentation, adding the -P docs option to the maven command will build documentation.

API

The public Accumulo API is composed of :

  • All public classes and interfaces in the org.apache.accumulo.core.client package, as as well as all of its subpackages excluding those named impl.
  • Key, Mutation, Value, Range, Condition, and ConditionalMutation in org.apache.accumulo.core.data.
  • All public classes and interfaces in the org.apache.accumulo.minicluster package, as well as all of its subpackages excluding those named impl.
  • Anything with public or protected acccess within any Class or Interface that is in the public API. This includes, but is not limited to: methods, members classes, interfaces, and enums.

The Accumulo project maintains binary compatibility across this API within a major release, as defined in the Java Language Specification 3rd ed. Starting with Accumulo 1.6.2 and 1.7.0 all API changes will follow semver 2.0

accumulo's People

Contributors

joshelser avatar ericnewton avatar ctubbsii avatar keith-turner avatar billierinaldi avatar busbey avatar cjnolet avatar ohshazbot avatar wisellama avatar madrob avatar bimargulies avatar drewfarris avatar mikeallensqrrl avatar hustjl22 avatar michaelaberman avatar edcoleman avatar dlmarion avatar krinkere avatar mjwall avatar proto17 avatar technmsg avatar agwells0714 avatar taksaito avatar parkjsung avatar meislerj avatar matthew-dailey avatar haydenmarchant avatar dallaybatta avatar rweeks avatar mikewalch avatar

Watchers

James Cloos avatar Vaibhav Thapliyal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.