Package com.google.cloud.bigtable.data.v2.models (2.13.0)

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:

  1. Exactly 1 startRow for each row.
  2. Exactly 1 startCell for each cell.
  3. At least 1 cellValue for each cell.
  4. Exactly 1 finishCell for each cell.
  5. 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.