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?
Implements
Inherited Members
Namespace: Google.Apis.BigtableAdmin.v2.Data
Assembly: Google.Apis.BigtableAdmin.v2.dll
Syntax
public class Type : IDirectResponseSchema
Properties
AggregateType
Aggregate
Declaration
[JsonProperty("aggregateType")]
public virtual GoogleBigtableAdminV2TypeAggregate AggregateType { get; set; }
Property Value
Type | Description |
---|---|
GoogleBigtableAdminV2TypeAggregate |
BytesType
Bytes
Declaration
[JsonProperty("bytesType")]
public virtual GoogleBigtableAdminV2TypeBytes BytesType { get; set; }
Property Value
Type | Description |
---|---|
GoogleBigtableAdminV2TypeBytes |
ETag
The ETag of the item.
Declaration
public virtual string ETag { get; set; }
Property Value
Type | Description |
---|---|
string |
Int64Type
Int64
Declaration
[JsonProperty("int64Type")]
public virtual GoogleBigtableAdminV2TypeInt64 Int64Type { get; set; }
Property Value
Type | Description |
---|---|
GoogleBigtableAdminV2TypeInt64 |