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.
Each encoding also defines the following properties:
- Order-preserving: 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: BYTES values sort in the same order as their raw encodings.
- Counterexample: Encoding INT64 as a fixed-width decimal string does not
preserve sort order when dealing with negative numbers.
INT64(1) > INT64(-1)
, butSTRING("-00001") > STRING("00001)
.
- 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.
- 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.v2.Type
Namespace
Google \ Cloud \ Bigtable \ V2Methods
__construct
Constructor.
data
array
Optional. Data for populating the Message object.
↳ bytes_type
↳ string_type
↳ int64_type
↳ float32_type
↳ float64_type
↳ bool_type
↳ timestamp_type
↳ date_type
↳ aggregate_type
↳ struct_type
↳ array_type
↳ map_type
getBytesType
Bytes
hasBytesType
setBytesType
Bytes
$this
getStringType
String
hasStringType
setStringType
String
$this
getInt64Type
Int64
hasInt64Type
setInt64Type
Int64
$this
getFloat32Type
Float32
hasFloat32Type
setFloat32Type
Float32
$this
getFloat64Type
Float64
hasFloat64Type
setFloat64Type
Float64
$this
getBoolType
Bool
hasBoolType
setBoolType
Bool
$this
getTimestampType
Timestamp
hasTimestampType
setTimestampType
Timestamp
$this
getDateType
Date
hasDateType
setDateType
Date
$this
getAggregateType
Aggregate
hasAggregateType
setAggregateType
Aggregate
$this
getStructType
Struct
hasStructType
setStructType
Struct
$this
getArrayType
Array
hasArrayType
setArrayType
Array
$this
getMapType
Map
hasMapType
setMapType
Map
$this
getKind
string