Class: Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeMap
- Inherits:
-
Object
- Object
- Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeMap
- 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 mapping of keys to values of a given type. Values of type Map are stored
in a Value.array_value where each entry is another Value.array_value with
two elements (the key and the value, in that order). Normally encoded Map
values won't have repeated keys, however, clients are expected to handle the
case in which they do. If the same key appears multiple times, the last
value takes precedence.
Instance Attribute Summary collapse
-
#key_type ⇒ Google::Apis::BigtableadminV2::Type
Typerepresents the type of data that is written to, read from, or stored in Bigtable. -
#value_type ⇒ Google::Apis::BigtableadminV2::Type
Typerepresents the type of data that is written to, read from, or stored in Bigtable.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleBigtableAdminV2TypeMap
constructor
A new instance of GoogleBigtableAdminV2TypeMap.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleBigtableAdminV2TypeMap
Returns a new instance of GoogleBigtableAdminV2TypeMap.
2019 2020 2021 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2019 def initialize(**args) update!(**args) end |
Instance Attribute Details
#key_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. 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),
but STRING("-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?
Corresponds to the JSON property keyType
1994 1995 1996 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1994 def key_type @key_type end |
#value_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. 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),
but STRING("-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?
Corresponds to the JSON property valueType
2017 2018 2019 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2017 def value_type @value_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2024 2025 2026 2027 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2024 def update!(**args) @key_type = args[:key_type] if args.key?(:key_type) @value_type = args[:value_type] if args.key?(:value_type) end |