MCPcopy Index your code
hub / github.com/apache/accumulo

github.com/apache/accumulo @1.7.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.7.0 ↗ · + Follow
37,486 symbols 137,815 edges 2,061 files 4,950 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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 types in the following packages and their subpackages excluding those named impl, thrift, or crypto.

  • org.apache.accumulo.core.client
  • org.apache.accumulo.core.data
  • org.apache.accumulo.core.security
  • org.apache.accumulo.minicluster

A type is a class, interface, or enum. Anything with public or protected acccess in an API type is in the API. This includes, but is not limited to: methods, members classes, interfaces, and enums. Package-private types in the above packages are not considered public API.

The following regex matches imports that are not Accumulo public API. This regex can be used with RegexpSingleline to automatically find suspicious imports in a project using Accumulo.

import\s+org\.apache\.accumulo\.(.*\.(impl|thrift|crypto)\..*|(?!core|minicluster).*|core\.(?!client|data|security).*)

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

Extension points exported contracts — how you extend this code

BatchWriter (Interface)
Send Mutations to a single Table in Accumulo. When the user uses a Connector to create a BatchWriter, they specify how [12 …
core/src/main/java/org/apache/accumulo/core/client/BatchWriter.java
MiniClusterConfigurationCallback (Interface)
Callback interface to inject configuration into the MiniAccumuloCluster or Hadoop core-site.xml file used by the MiniAcc [40 …
test/src/test/java/org/apache/accumulo/harness/MiniClusterConfigurationCallback.java
Authenticator (Interface)
This interface is used for the system which will be used for authenticating a user. If the implementation does not suppo [8 …
server/base/src/main/java/org/apache/accumulo/server/security/handler/Authenticator.java
Sampler (Interface)
@deprecated since 1.7, use org.apache.htrace.Sampler instead [92 implementers]
trace/src/main/java/org/apache/accumulo/trace/instrument/Sampler.java
KeywordExecutable (Interface)
An interface used with the Java ServiceLoader to auto-discover classes executable with a convenient keyword on t [40 implementers]
start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java
Repo (Interface)
Repeatable persisted operation [5 implementers]
fate/src/main/java/org/apache/accumulo/fate/Repo.java
ClusterControl (Interface)
Basic functionality required to control an Accumulo cluster [4 implementers]
minicluster/src/main/java/org/apache/accumulo/cluster/ClusterControl.java
MutationReceiver (Interface)
(no doc) [6 implementers]
server/tserver/src/main/java/org/apache/accumulo/tserver/log/MutationReceiver.java

Core symbols most depended-on inside this repo

append
called by 4255
core/src/main/java/org/apache/accumulo/core/file/FileSKVWriter.java
put
called by 3388
server/base/src/main/java/org/apache/accumulo/server/master/state/DistributedStore.java
skip
called by 2870
core/src/main/java/org/apache/accumulo/core/security/crypto/BlockedInputStream.java
get
called by 2390
core/src/main/java/org/apache/accumulo/core/file/blockfile/impl/CachableBlockFile.java
write
called by 2206
core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java
get
called by 2172
server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java
toString
called by 2165
trace/src/main/java/org/apache/accumulo/trace/instrument/CloudtraceSpan.java
tableOperations
called by 1540
core/src/main/java/org/apache/accumulo/core/client/Connector.java

Shape

Method 31,428
Class 5,029
Function 502
Enum 372
Interface 155

Languages

Java83%
C++8%
Python5%
Ruby2%
TypeScript1%
C1%

Modules by API surface

core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ClientService.java3,553 symbols
core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java3,293 symbols
proxy/src/main/cpp/AccumuloProxy.h2,138 symbols
core/src/main/java/org/apache/accumulo/core/master/thrift/MasterClientService.java2,050 symbols
proxy/src/main/python/AccumuloProxy.py1,613 symbols
proxy/src/main/ruby/accumulo_proxy.rb773 symbols
core/src/main/java/org/apache/accumulo/core/master/thrift/FateService.java503 symbols
core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftTest.java312 symbols
proxy/src/main/cpp/AccumuloProxy.cpp311 symbols
proxy/src/main/cpp/proxy_types.h310 symbols
core/src/main/java/org/apache/accumulo/core/replication/thrift/ReplicationServicer.java251 symbols
proxy/src/main/python/ttypes.py243 symbols

For agents

$ claude mcp add accumulo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact