Classes
BulkMutation
Represents a list of mutations for multiple rows. Each mutation contains multiple changes that will be atomically applied to each row. However, ordering between rows is not guaranteed.
This class is meant for manual batching.
ConditionalRowMutation
Mutates a row atomically based on the output of a condition filter.
DefaultRowAdapter
Default implementation of a RowAdapter that uses Rows to represent logical rows.
DefaultRowAdapter.DefaultRowBuilder
{@inheritDoc}
Filters
A Fluent DSL to create a hierarchy of filters for the CheckAndMutateRow RPCs and ReadRows Query.
Intended usage is to statically import, or in case of conflict, assign the static variable FILTERS and use its fluent API to build filters.
Sample code:
import static com.google.cloud.bigtable.data.v2.models.Filters.FILTERS;
void main() {
// Build the filter expression
RowFilter filter = FILTERS.chain()
.filter(FILTERS.qualifier().regex("prefix.*"))
.filter(FILTERS.limit().cellsPerRow(10));
// Use it in a Query
Query query = Query.create("[TABLE]")
.filter(filter);
}
Filters.ChainFilter
DSL for adding filters to a chain.
Filters.ConditionFilter
DSL for configuring a conditional filter.
Filters.FamilyFilter
Filters.InterleaveFilter
DSL for adding filters to the interleave list.
Filters.KeyFilter
Filters.LimitFilter
Filters.OffsetFilter
Filters.QualifierFilter
Filters.QualifierRangeFilter
Matches only cells from columns within the given range.
Filters.TimestampFilter
Filters.TimestampRangeFilter
Matches only cells with microsecond timestamps within the given range.
Filters.ValueFilter
Filters.ValueRangeFilter
Matches only cells with values that fall within the given value range.
KeyOffset
Represents the offset of a row key in a table.
MutateRowsException.FailedMutation
Identifies which mutation failed and the reason it failed. The mutation is identified by it's index in the original request's MutateRowsRequest#getEntriesList().
Mutation
The concrete implementation of MutationApi that can be used to create and represent a list of mutations. It used by RowMutation and ConditionalRowMutation to encapsulate a list of mutations that will to be applied to a single row.
Query
A simple wrapper to construct a query for the ReadRows RPC.
Range<T,R>
Range API.
This base class represents the API for all ranges in the Cloud Bigtable client. Please note this mutable type. It's intended to support fluent DSLs.For example:
// A Range that encloses all strings
ByteStringRange.unbounded();
// Range that includes all strings including "begin" up until "end"
ByteStringRange.unbounded().of("start", "end");
// Create a Bytestring range with an unbounded start and the inclusive end "end"
ByteStringRange.unbounded().endClosed("end");
// Ranges are mutable, so take care to clone them to get a new instance
ByteStringRange r1 = ByteStringRange.of("a", "z");
ByteStringRange r2 = r1.clone().endUnbounded();
Range.ByteStringRange
Concrete Range for ByteStrings
Range.TimestampRange
Concrete Range for timestamps
ReadModifyWriteRow
Wraps a ReadModifyWriteRowRequest.
Row
Default representation of a logical row.
The cells contained within, will be sorted by the native order. Please see RowCell#compareByNative() for details.
RowCell
Default representation of a cell in a Row.
RowMutation
Represents a list of mutations targeted at a single row. It's meant to be used as an parameter for com.google.cloud.bigtable.data.v2.BigtableDataClient#mutateRowAsync(RowMutation).
RowMutationEntry
Represents a list of mutations targeted at a single row. It is meant to be used as an parameter for com.google.cloud.bigtable.data.v2.BigtableDataClient#newBulkMutationBatcher(String).
Note: The changes in the mutation will be applied atomically but the ordering between different RowMutationEntry instances is not guaranteed.
Interfaces
Filters.Filter
MutationApi<T>
The API for creating mutations for a single row.
RowAdapter<RowT>
An extension point that allows end users to plug in a custom implementation of logical rows. This useful in cases where the user would like to apply advanced client side filtering of cells. This adapter acts like a factory for a SAX style row builder.
RowAdapter.RowBuilder<RowT>
A SAX style row factory. It is responsible for creating two types of rows: standard data rows and special marker rows. Marker rows are emitted when skipping lots of rows due to filters. The server notifies the client of the last row it skipped to help client resume in case of error.
State management is handled external to the implementation of this class and guarantees the following order:
- Exactly 1
startRow
for each row. - Exactly 1
startCell
for each cell. - At least 1
cellValue
for each cell. - Exactly 1
finishCell
for each cell. - Exactly 1
finishRow
for each row.
createScanMarkerRow
can be called one or more times between finishRow
and
startRow
. reset
can be called at any point and can be invoked multiple times in
a row.
Enums
Range.BoundType
Exceptions
MutateRowsException
Thrown by the MutateRows when at least one Mutation failed. If the last failure was caused by an RPC error (as opposed to a single entry failing), then this exception's cause will be set to that error and #getFailedMutations() will contain synthetic errors for all of the entries that were part of that RPC.