Cloud Bigtable V2 Client - Class Type (1.31.1)

Reference documentation and code samples for the Cloud Bigtable V2 Client class Type.

Type represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features.

For compatibility with Bigtable's existing untyped APIs, each Type includes an Encoding which describes how to convert to/from the underlying data. This might involve composing a series of steps into an "encoding chain," for example to convert from INT64 -> STRING -> raw bytes. In most cases, a "link" in the encoding chain will be based an on existing GoogleSQL conversion function like CAST. Each link in the encoding chain also defines the following properties:

  • Natural sort: Does the encoded value sort consistently with the original typed value? Note that Bigtable will always sort data based on the raw encoded value, not the decoded type.
    • Example: STRING values sort in the same order as their UTF-8 encodings.
    • Counterexample: Encoding INT64 to a fixed-width STRING does not preserve sort order when dealing with negative numbers. INT64(1) > INT64(-1), but STRING("-00001") > STRING("00001).
    • The overall encoding chain sorts naturally if every link does.
  • Self-delimiting: If we concatenate two encoded values, can we always tell where the first one ends and the second one begins?
    • Example: If we encode INT64s to fixed-width STRINGs, the first value will always contain exactly N digits, possibly preceded by a sign.
    • Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way to tell where the first one ends.
    • The overall encoding chain is self-delimiting if any link is.
  • Compatibility: Which other systems have matching encoding schemes? For example, does this encoding have a GoogleSQL equivalent? HBase? Java?

Generated from protobuf message google.bigtable.admin.v2.Type

Namespace

Google \ Cloud \ Bigtable \ Admin \ V2

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ bytes_type Google\Cloud\Bigtable\Admin\V2\Type\Bytes

Bytes

↳ int64_type Google\Cloud\Bigtable\Admin\V2\Type\Int64

Int64

↳ aggregate_type Google\Cloud\Bigtable\Admin\V2\Type\Aggregate

Aggregate

getBytesType

Bytes

Returns
Type Description
Google\Cloud\Bigtable\Admin\V2\Type\Bytes|null

hasBytesType

setBytesType

Bytes

Parameter
Name Description
var Google\Cloud\Bigtable\Admin\V2\Type\Bytes
Returns
Type Description
$this

getInt64Type

Int64

Returns
Type Description
Google\Cloud\Bigtable\Admin\V2\Type\Int64|null

hasInt64Type

setInt64Type

Int64

Parameter
Name Description
var Google\Cloud\Bigtable\Admin\V2\Type\Int64
Returns
Type Description
$this

getAggregateType

Aggregate

Returns
Type Description
Google\Cloud\Bigtable\Admin\V2\Type\Aggregate|null

hasAggregateType

setAggregateType

Aggregate

Parameter
Name Description
var Google\Cloud\Bigtable\Admin\V2\Type\Aggregate
Returns
Type Description
$this

getKind

Returns
Type Description
string