Class: Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregate

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleBigtableAdminV2TypeAggregate

Returns a new instance of GoogleBigtableAdminV2TypeAggregate.



1690
1691
1692
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1690

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#hllpp_unique_countGoogle::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount

Computes an approximate unique count over the input values. When using raw data as input, be careful to use a consistent encoding. Otherwise the same value encoded differently could count more than once, or two distinct values could count as identical. Input: Any, or omit for Raw State: TBD Special state conversions: Int64 (the unique count estimate) Corresponds to the JSON property hllppUniqueCount



1624
1625
1626
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1624

def hllpp_unique_count
  @hllpp_unique_count
end

#input_typeGoogle::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 inputType



1647
1648
1649
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1647

def input_type
  @input_type
end

#maxGoogle::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregateMax

Computes the max of the input values. Allowed input: Int64 State: same as input Corresponds to the JSON property max



1653
1654
1655
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1653

def max
  @max
end

#minGoogle::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregateMin

Computes the min of the input values. Allowed input: Int64 State: same as input Corresponds to the JSON property min



1659
1660
1661
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1659

def min
  @min
end

#state_typeGoogle::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 stateType



1682
1683
1684
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1682

def state_type
  @state_type
end

#sumGoogle::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregateSum

Computes the sum of the input values. Allowed input: Int64 State: same as input Corresponds to the JSON property sum



1688
1689
1690
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1688

def sum
  @sum
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1695
1696
1697
1698
1699
1700
1701
1702
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1695

def update!(**args)
  @hllpp_unique_count = args[:hllpp_unique_count] if args.key?(:hllpp_unique_count)
  @input_type = args[:input_type] if args.key?(:input_type)
  @max = args[:max] if args.key?(:max)
  @min = args[:min] if args.key?(:min)
  @state_type = args[:state_type] if args.key?(:state_type)
  @sum = args[:sum] if args.key?(:sum)
end