Class: Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregate
- Inherits:
-
Object
- Object
- Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregate
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/bigtableadmin_v2/classes.rb,
lib/google/apis/bigtableadmin_v2/representations.rb,
lib/google/apis/bigtableadmin_v2/representations.rb
Overview
A value that combines incremental updates into a summarized value. Data is
never directly written or read using type Aggregate
. Writes will provide
either the input_type
or state_type
, and reads will always return the
state_type
.
Instance Attribute Summary collapse
-
#input_type ⇒ Google::Apis::BigtableadminV2::Type
Type
represents the type of data that is written to, read from, or stored in Bigtable. -
#state_type ⇒ Google::Apis::BigtableadminV2::Type
Type
represents the type of data that is written to, read from, or stored in Bigtable. -
#sum ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregateSum
Computes the sum of the input values.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleBigtableAdminV2TypeAggregate
constructor
A new instance of GoogleBigtableAdminV2TypeAggregate.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleBigtableAdminV2TypeAggregate
Returns a new instance of GoogleBigtableAdminV2TypeAggregate.
1661 1662 1663 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1661 def initialize(**args) update!(**args) end |
Instance Attribute Details
#input_type ⇒ Google::Apis::BigtableadminV2::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: BYTES values sort in the same order as
their raw 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
has this property 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 has this property
if any link does. * Compatibility: Which other systems have matching
encoding schemes? For example, does this encoding have a GoogleSQL equivalent?
HBase? Java?
Corresponds to the JSON property inputType
1625 1626 1627 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1625 def input_type @input_type end |
#state_type ⇒ Google::Apis::BigtableadminV2::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: BYTES values sort in the same order as
their raw 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
has this property 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 has this property
if any link does. * Compatibility: Which other systems have matching
encoding schemes? For example, does this encoding have a GoogleSQL equivalent?
HBase? Java?
Corresponds to the JSON property stateType
1653 1654 1655 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1653 def state_type @state_type end |
#sum ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregateSum
Computes the sum of the input values. Allowed input: Int64
State: same as
input
Corresponds to the JSON property sum
1659 1660 1661 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1659 def sum @sum end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1666 1667 1668 1669 1670 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1666 def update!(**args) @input_type = args[:input_type] if args.key?(:input_type) @state_type = args[:state_type] if args.key?(:state_type) @sum = args[:sum] if args.key?(:sum) end |