Package org.apache.accumulo.core.client
Interface BatchWriter
-
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
BatchWriterImpl
public interface BatchWriter extends AutoCloseable
Send Mutations to a single Table in Accumulo.When the user uses a Connector to create a BatchWriter, they specify how much memory and how many threads it should use. As the user adds mutations to the batch writer, it buffers them. Once the buffered mutations have used half of the user specified buffer, the mutations are dumped into the background to be written by a thread pool. If the user specified memory completely fills up, then writes are held. When a user calls flush, it does not return until all buffered mutations are written.
In the event that an MutationsRejectedException exception is thrown by one of the methods on a BatchWriter instance, the user should close the current instance and create a new instance.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addMutation(Mutation m)
Queues one mutation to write.void
addMutations(Iterable<Mutation> iterable)
Queues several mutations to write.void
close()
Flush and release any resources.void
flush()
Send any buffered mutations to Accumulo immediately.
-
-
-
Method Detail
-
addMutation
void addMutation(Mutation m) throws MutationsRejectedException
Queues one mutation to write.- Parameters:
m
- the mutation to add- Throws:
MutationsRejectedException
- this could be thrown because current or previous mutations failed
-
addMutations
void addMutations(Iterable<Mutation> iterable) throws MutationsRejectedException
Queues several mutations to write.- Parameters:
iterable
- allows adding any number of mutations iteratively- Throws:
MutationsRejectedException
- this could be thrown because current or previous mutations failed
-
flush
void flush() throws MutationsRejectedException
Send any buffered mutations to Accumulo immediately.- Throws:
MutationsRejectedException
- this could be thrown because current or previous mutations failed
-
close
void close() throws MutationsRejectedException
Flush and release any resources.- Specified by:
close
in interfaceAutoCloseable
- Throws:
MutationsRejectedException
- this could be thrown because current or previous mutations failed
-
-